手机selector与双优化头结果
2026-10-19 · E3来源/E2交叉/E1静态 · partial · 30/66,发送0/5,Gate R未关
来源:site/devlog/p4-device-network-rvi-and-raw-dtx-result-2026-10-19.md;源SHA-256 23d1593c23ea5c4a646c3aaab670569b76ea8967c425a963cf59469d28f845f3
## Implementation / Validation Update · 2026-10-19 · 公共selector来源与双优化头交叉 文档类型devlog增量,基线2a4f0a54。上一目标TEXT原件/映射/编码保管已交付:GitHub核同、GitLab一次失败,同提交网站18.182510秒/聚合1409630208B、579页/741目标/642锚点通过;网站/Webhook配置欠项沿Owner决定partial。上批no-signal/busy拒绝不回改。本批仍同一AI方案/实现/测试后分离复核,无子代理;Mac192/Lab18与数值公式不改,30/66、发送正式0/5。 ### 已授权正常退出与两次单文件准入 新a05正常退出器在host产品idle检查处因漏import subprocess失败,尚未建立native连接或发送手机信号,源码/stderr保留;a06只修host import并另立namespace。按Owner既有自行正常退出自有App授权,新核Lab18身份、61活动全sealed/released/no pending、122metadata与busy-a01及封存基线全同;开始及末尾两次同生命才fsync意图、一次SIGTERM,3秒有界观察正常退出。退出后同连接重读全部metadata及idle/source pins核同,close无错;没有重发/强杀/launch/安装或改数据。a06外层8.384042秒/99516416B、信号1;这是本批新增授权恢复,不伪称整批手机动作0。 新`network-objc-subcache-a02`独立新连接完整61前后metadata/产品与自有App idle、版本及59清单集合准入,仅一次读`.30.dyldlinkedit`26247168B;SHA `f194e2c52906ab7d239ea7defb52cb2a199f02d7cea182baba09180bf87277f1`与精确长度成立,外层7.987164秒/99254272B。它与旧a01 busy零请求分开,不重试未知数据请求。 根据字段得到selector base的新文件候选后再落合同,新`network-selector-strings-a01`再次完整新鲜准入,仅一次读`.01`113197056B;SHA `67fcc7ffc10673a4e1c8647fc060b29b2f4851792854b7ba5b54930e5f260baa`、前后61metadata/idle/源码核同,close无错,外层10.069620秒/103366656B。两件合计139444224B,未取153MB数据片、391MB链接片、667MB symbols、DriverKit或全cache。已有本地单文件SDK入口的128MiB上限未放宽,单chunk1MiB、单并发、每件只一次数据请求;两读取的signal/launch/写数据0。本批总共新增正常退出信号1、数据文件请求2,无新run/归位/容量/产品Session。 ### 32B声明与56B结构:先拒绝,再固定假设交叉 第一件真实UUID及2个mapping核同,主index声明objcOptsSize=32B,先只读32B;公开version1结构却为56B,不能直接套最新结构。查固定[Apple dyld-1066.8的结构](https://github.com/apple-oss-distributions/dyld/blob/ce1cc2088ef390df1c48a1648075bbd51c5bbc6a/common/DyldSharedCache.h)与[SubCache构建路径](https://github.com/apple-oss-distributions/dyld/blob/ce1cc2088ef390df1c48a1648075bbd51c5bbc6a/cache_builder/SubCache.cpp#L1435):后者先写ObjC尺寸,随后Swift条件块再次写同一objcOptsSize字段,构成E1明确覆盖路径。实际32B与该机制相容,但没有证明手机采用这个精确builder、版本或唯一原因。 另行文档化仅离线Hheader,在已有真实映射内追加审24B、总56B候选,不修改原header/声明、不联系手机。新增`objc_cache_selectors.py`仅接受明确56B/version1/flags和偏移上界,4控制含32B拒绝/错版本/溢出;真实候选version1/flags7,base严格来自原字段,不从名字拟合。首a01因base不在已取文件而提前missing,失败保留;a02仅改为对全部2193项显式missing、未知原因保留,不扩大字段或声称解析通过。公开源码路径查找的404也保留摘要,之后按官方tree确定真实路径,不猜不存在的头。 第二件实际UUID/唯一mapping核同后,原字段base和全部2193 offset均覆盖,按完整NUL/UTF8/2048B界读出全部method selector。还按主index唯一libobjc条目的UUID/arm64e/iOS与原Mach-O定位__objc_opt_ro,官方version16旧结构是self-relative,读取48B原字段;其selector base、RO/RW、selector/class/protocol表6地址与Hheader cache-relative字段**逐项精确核同**。这提供了独立缓存结构交叉,Hheader可用于本数据布局解析;仍不能据此认证实际builder或动态服务绑定,不把原声明32B改写成56B。 ### 分离审核与当前缺口 第二脚本不导入新header parser或主selector reader,从固定C声明独立构建ctypes偏移,核56B大小/relative-base字段48偏移;直接整数读取原主index与两件实际mapping、UUID、libobjc原TEXT/LC_UUID/旧优化section及6地址。全部2193 selector字符串/原offset/IMP逐项核同,缺失0;120份typed响应/全59清单、两完整准入与恢复61metadata、源文件SHA及SDK/host pins核同。方法名解析成功不等于class关联:**class关联仍0、imports与完整调用路径缺失、当前手机运行producer绑定未证**。不把同名方法当已识别类,不把NStat字符串当参数或字节层证明。 | 步骤 | 外层秒 / 退出峰B | 结论 | | --- | --- | --- | | 新header4控制 | 0.052663 / 16973824 | E2软件;原32B不静默延长 | | 候选header/missing全记账a02 | 0.076888 / 26083328 | 2193 missing如实保留,不是失败样本删除 | | selector及libobjc交叉 | 0.126964 / 25149440 | 2旧结构控制、2193解析/6地址核同 | | 全量分离复核 | 0.187644 / 25411584 | 内部0.147281秒,120响应/2193字符串/61metadata核同 | 新工具与真实规模均满足5秒/64MiB离线门,手机整体105秒/128MiB保持。原件流式SHA、目标TEXT≤2MiB、每字符串≤2048B,O(源bytes+方法数×字符串界),单并发;本批新两源约133MiB,主机>123GB可用,删除0。新来源工具没有旧等价物,不虚构提速对照;首chunk/吞吐/CPU见私有下载及wait4收据,瞬时I/O峰unknown。产品/Lab无代码变更,不生成新安装包;旧失败与24未保管尾对象均保留,未称补回。 **结论:E3新来源保管与E2双结构/全量字节复核成立;静态metadata事实仅E1,30/66、发送0/5、Gate R未关。** 下一应先文档化唯一数据片范围及显式预算,再新鲜准入/真实映射/原类关联和encoded pointers审阅;不能因已有selector而放行193/诊断/正式/接收,也不自动下载大文件。[机读复核](https://github.com/rskdwypy-pixel/perfowl/blob/main/internal/handoff/network-selector-sources-review-2026-10-19.json)。最终同提交/双推/站点与通知收据另核,网站/通知/镜像欠项继续partial。