| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(engine): JSVM inspector 动态端口探测 + OpenInspector 失败显性化 真机问题:DevTools 连上后看不到 JS 内容。根因是 OH_JSVM_OpenInspector 写死 9225,而同设备常驻进程(实测 com.huawei.hmsapp.intelligent)占用 127.0.0.1:9225 导致 bind 失败,返回 JSVM_GENERIC_FAILURE(9)(JSVM 打印 "Please check the internet permisson." 为误导性通用提示,与 INTERNET 权限 无关——app 已声明并授予该权限)。 修复: 1. 动态端口探测:CreateInspector 顺序尝试 9225..9234(10 个),取第一个 OH_JSVM_OpenInspector 成功的端口;ConnInspector 的 /json 请求与 ws 中转 url 使用同一实际端口(JSHGetUrlConnection 参数化 port)。释放仍走 OH_JSVM_CloseInspector(env),与端口号无关,动态端口随 env 一并释放。 2. OpenInspector 失败不再静默:CreateInspector 返回 JSVM_Status; EnableScopeDebug(enableDebugFwk=false 延迟路径)失败回调 RUN_SCRIPT_ERROR 带原因(此前无条件回 ok);InitializeScope(enableDebugFwk=true)补 status 日志;SendMessageToJSH 在 debug_conn_ 为 NULL 时丢弃日志带上 inspector_open_status 便于定位。TS 主链路不受影响(调试降级不阻断运行)。 真机验证:9225 被占 → 自动落到 9226 status=0,/json 解析成功, JSHDebugConnection 建立,DevTools 可见 JS 内容。 | 7 天前 | |
fix(engine): 崩溃硬化——关键路径 CHECK/abort 改受控失败,修复 UAF/值拷贝/反序列化越界缺陷 - 关键入口(NAPI/JNI/deserializer/serializer/footstone 等)将输入非法即 abort 的 FOOTSTONE_CHECK/checked_numeric_cast 改为判空/越界校验后的受控返回,生产不再 SIGABRT - devtools tcp/websocket 通道析构先 stop+join 再销毁成员(修 UAF);tcp 帧解码重写 (body_size 校验 + int64 防溢出 + 循环内重算 stream 长度) - performance RemoveEntry / dom_node UpdateObjectStyle 值拷贝改引用(erase/更新落到 真实容器);deserializer 补两字节串长度换算、varint 截断标志、递归深度限制 - RunScriptFromUri 增加 task runner/context 判空(引擎销毁竞态下不再空指针解引用) - 补 bug 回归用例 performance-clearmarks(11-crash-hardening)并接入 manifest | 9 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 7 天前 | ||
| 9 天前 |