Skip to content

G74 物理内存错误目标与非法读数拒绝修复方案 ​

同AI制定、实施、自复核,非第三方验收。执行前须核实时Git/WIP;方案形成基线09cd147,G73将交付同一源码上的实际观察和反例,未修改产品。本方案不把软件负控拒绝当首项五轮或独立准确性通过。

1. 可复现缺陷 ​

G73的真实Sysmontap Raw可正确选中目标、74列中physFootprint=26641632 B,当前引擎等值产出candidate;原生时轴存在。这份手机样本未证明发生错误。

从同一真实进程包构造三个单变量反例,经当前真实RawMetricEngine执行均错误产出candidate:①目标键不存在但Processes唯一一行属于另一进程;②physFootprint=-1;③physFootprint=0。第一项由_target_process的len(processes)==1回退造成;后两项由_process_metrics仅使用允许负数/零的通用_number造成。已有Canonical明示物理footprint的零不是有效存活进程快照,修复不得把错误读数填零。

2. 先影响分析再最小实现 ​

目标筛选入口共享CPU、三种进程内存、线程计数、两种调度和两种磁盘率,共9项;先追踪缺目标后的MetricFrame→Snapshot→缺失/新鲜度链路,验证不会继续把旧目标值作为新有效值。显式目标PID缺失时禁止借唯一其他行;明确PID存在时仍支持整数/字符串键和已有向量属性映射。无目标的旧Raw兼容性单独标为身份未证,禁止提升可信。若选中行的pid字段与目标键矛盾,应拒绝,不以键名覆盖矛盾。

只给物理footprint增加已有口径所需的合法源值门:无值、Boolean、非有限、负数和零不得产出candidate;合法正值原样保留、无单位换算/聚合变化。其他8项数学公式及计数器基线不变。已证身份不足不得产出可信candidate;是否保留identity-unverified数值按现行兼容契约逐项验证并记录,不改其可信状态。缺目标的公开缺失语义须先落Canonical再实现,必要时明确发布missing而非靠缓存超时,不能用隐式无帧掩盖漏槽。

3. 匹配验证 ​

先新增匹配单测并在旧源码跑红;至少覆盖错目标唯一行/多行、目标整数与字符串键、向量schema、目标键与内部pid矛盾、None/Boolean/NaN/Inf/负数/零、正常正读数,以及有效→目标丢失→恢复的真实发布链,不能只测私有包装器。原G73 Raw再次离线处理,正确值和其他正常指标逐字节/序列对比不变;负控只改变应拒绝字段,不写回原件。

然后一次完整Python回归及相关Swift Session/质量接入回归,保留失败证据,不并发重复full suite或修改实测数据让测试变绿。完整Python预算600s/256MiB进程树、匹配20s/128MiB、Swift300s/2GiB,串行1、现有构建缓存/环境,不建worktree。预算不足须停报partial另记录合理合同,不越门。

4. 性能门 ​

当前真实Sysmontap的系统/进程片段全保留作输入,旧/新引擎交错五对各10000事件,O(事件数×固定属性列数)、O(固定状态);正常输出完全一致。记录首响应、完成wall/CPU、吞吐、峰RSS与I/O未知项,旧/新最慢wall和CPU比均不高于1.3,匹配分析120s/64MiB。拒绝分支必须短路、不全扫描所有进程、不添加手机RPC/定时轮询。

5. 文档与包 ​

先更新物理footprint Canonical及共享目标过滤说明、版本历史/缺失算法,再改产品;同批知识库总览和首页内存说明保持支持数量66/非启动54不升级可信状态。G73只为诊断不覆盖旧记录。实施追加本方案带日期Update,完成后新归档/时间线/阶段门联动。

代码完成后b124复用现有构建环境,Developer ID签名内部测试DMG,按Owner临时豁免不等待公证;实际嵌入代码/资源与新源码、独立解包/严格签名/源独立probe核过后,客户端确为idle时正常退出并核Collector全闭,唯一标准位置覆盖,真实b123必要回退保留、dist仅当前DMG/SHA。原云端旧任务不重提交,Gatekeeper结果如实单列,不关闭安全机制。包门本身不代真机准确性。

6. 下一阶段与目标不变 ​

本批只有拒绝边界E2和新内部包E3,不宣称首metric通过。新包后先根据G73真实原生窗口冻结独立参考配对协议,再原设备首项固定五轮120槽/完整准备窗、连续与有效100%、2MiB或5%原误差门;旧181条参考不能与新产品窗口配对。若1Hz参考与产品快照时刻不足以证误差,另立有界自有参考改进,不最近点/插值冒充同窗。第一项完成才进入第二项,最终联合回归和全部54台账保持;4项暂缓不丢弃。A1OPEN/HybridFROZEN/G9OFF/GPL不升级,不发布网站;GitLab一批一次推送不重试、不阻断其他工作。

Implementation Update · 2026-10-06 · 影响分析/先文档化 ​

已追踪RawMetricEngine→RealtimeMetricProjector._latest→snapshot:旧引擎目标缺失返回无进程帧,latest会保留前次candidate;辅助原始计数也只在有目标时更新。仅修_target_process回退不足以关闭旧值复用。决定在明确Processes片段无目标时通过原9项空行发布missing,系统-only片段完全不改;Realtime辅助计数用同一严格筛选并在进程片段缺行时清空。差分数学和已验证正常路径基线不改。未证身份的物理内存与4项差分率为空,另4项gauge保留非可信legacy数值。共享边界先写Canonical质量页与物理内存页,接着匹配红测试,未运行正式五轮。

Validation Update · 2026-10-06 · 已实现与监督记录补正 ​

匹配12测试修前16断言失败、修后通过;完整Python1573/0/0,whole193.699714s/直接与观察树峰201236480B/600s及256MiB预算,无源漂移。实际G73三事件逐字段/序列回放一致;首次五对10000事件成本观测最慢wall比0.940093/CPU比0.946405、RSS53383168B,未保留整段外部监护记录,不拿它证明120s执行门。接着另立一次同源、同规模、同阈值的受监护成本测量,120s/64MiB,使用新增accounted文件不覆盖首次证据,无自动重试。相关Swift随后串行,当前尚未打包/安装b124。

Implementation Update · 2026-10-06 · 清理准入算法收窄 ​

新b124已事务安装,75嵌入代码/独立解包/66probe/严格签名通过;清理首次全系统LaunchServices dump在20s超时,发生于任何副本删除之前,删除0,旧证据与新安装未改。保留失败记录,不重复全库查询;改用公开CoreServices LSCopyApplicationURLsForBundleIdentifier仅查当前本地客户端身份,原标准路径/Spotlight另核。允许现有Swift编译一个短小查询helper(45s/512MiB、非新环境),只读定向查询15s/64MiB;仅枚举所得当前批次副本且整树一致才局部注销/删可重建副本。其他未知登记一律停止清理,不全局reset/seed/gc,不动他方App。

Implementation / Validation Update · 2026-10-06 · 拒绝边界与内部包完成 ​

本批实现与自测完成(E2),内部安装E3;不是第三方独立验收,更不是首项准确性/固定五轮通过。只修改metric_engine.py的严格目标选择/合法正footprint/9项显式缺失与realtime.py同一筛选的辅助缓存清空;新增匹配测试。无新增手机RPC/轮询、其他正常算术与64位原始计数差分/单位不改。明确Processes片段目标丢失替换旧candidate,系统片段不错误删除;无目标/未证身份绝不提升可信。

12项匹配测试修前16断言失败,修后12通过;完整Python1573/0错误/0失败/0skip,whole193.699714s、峰201236480B,源漂移0。相关Swift86项/1显式thumbnail基准skip/0失败,whole11.451452s,观察树峰98369536B。真实G73三事件逐字段/序列回放相同,原Raw/manifest未回写;初次非外部监护成本证据保留,受监护五对各10000事件输出SHA一致,最慢wall比0.970177/CPU比0.979671≤1.3,whole20.345766s/直接RSS53870592B<120s/64MiB,无停止。首响应/吞吐逐对保存,I/O峰unknown,串行1/既有环境。

b124从此实施源码构建、Developer ID App与DMG签名、75实际嵌入PYZ模块+CLI+资源与源码匹配、独立整树解包与66契约source-independent probe通过。构建whole134.243202s,旧b123安装未改直到新候选完成;真实UIidle后一次正常quit、确认所有自有Collector关闭,唯一/Applications/Perfowl.app事务覆盖为b124,实际b123回退及旧DMG保留。安装whole188.765550s;当前DMG Perfowl-b124-2026-10-06-x86_64-internal-test-unnotarized.dmg,179442029B,SHA 113a2f9ed586d3defec7469aa5e6a8139d5066db48b34dbc798a96232cb18edc。

Owner内部测试公证豁免继续生效:0公证提交,实际Gatekeeper exit3/ticket检查exit65如实保留,未移除quarantine/禁用安全,不作正式发布。dist只保留当前DMG/SHA;三份本批可重建同字节副本经整树验证后清理,未删原始/失败/待分析Session或必要回退。标准安装/LaunchServices/Spotlight各1;旧可生成helper字节码局部清理,不碰他方工作。

剩余与下一步:第一项工程拒绝门已修;独立误差/五轮仍pending,正式0/5、全54未验收。新包后冻结真实原生窗口与独立参考读界配对,保留所有准备及阶跃,不近邻/插值/补点冒充同窗;现1Hz参考不足则先有界改进自有参考,不跳到第二项。50优先4暂缓和最终联合回归保持。A1OPEN/HybridFROZEN/G9OFF/GPL不变,0新手机Session/新环境/worktree/网站发布。

Perfowl · Performance Observer