- libjsruntime.so 是 @dcloudio/uni-app-runtime har 的 nativeComponents,来自官方运行时,非本应用产物。
- 本应用全仓检索 jsvm|jsruntime|OH_JSVM 0 命中:业务侧只有 ArkTS(EntryAbility / SplashCover)与 6 个 UTS 插件(全部调 @kit. / @ohos.),没有任何 JSVM-C-API 调用面。
- 崩溃栈中 OH_JSVM_CallFunction 的调用方就是 libjsruntime.so 自身(#08~#18 连续 11 帧在该库的 TaskQueue 任务派发路径)。
- 发布:2026-10-16 16:30
- 更新:2026-10-16 16:30
- 阅读:92
【报Bug】鸿蒙 release 包偶发原生闪退:libjsruntime.so 任务队列调 OH_JSVM_CallFunction 时 SIGSEGV(SEGV_ACCERR)
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 24H2
HBuilderX类型: 正式
HBuilderX版本号: 5.26
手机系统: HarmonyOS NEXT
手机系统版本号: HarmonyOS 6.0.0
手机厂商: 华为
手机机型: HUAWEI Mate 80
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用过程中偶发闪退
使用过程中偶发闪退
预期结果:
正常使用
正常使用
实际结果:
使用过程中偶发闪退
使用过程中偶发闪退
bug描述:
release 包在正常使用过程中偶发闪退(非启动即崩)。两次崩溃均发生在应用已长时间运行后:
1:2026-10-14 19:28,v1.17.19,进程存活中,前台;
2:2026-10-16 12:55:56,v1.17.20,进程已存活 4831 秒(后台 56 分钟 → 回前台 25 秒内连续切页 Page:37→38 之后)。
崩溃日志(faultlogger / cppcrash):
Reason:Signal:SIGSEGV(SEGV_ACCERR)@0x00000060c8900000
Fault thread info:
Tid:9270, Name:uxiaojiu.huawei
#00 /system/lib64/libv8_shared.so(Builtins_StaContextSlotNoCellHandler+156)
#01 /system/lib64/libv8_shared.so(Builtins_InterpreterEntryTrampoline+320)
#02 /system/lib64/libv8_shared.so(Builtins_JSEntryTrampoline+172)
#03 /system/lib64/libv8_shared.so(Builtins_JSEntry+188)
#04 /system/lib64/libv8_shared.so(v8::internal::(anonymous namespace)::Invoke(...)+2140)
#05 /system/lib64/libv8_shared.so(v8::internal::Execution::Call(...)+140)
#06 /system/lib64/libv8_shared.so(v8::Function::Call(...)+484)
#07 /system/lib64/ndk/libjsvm.so(OH_JSVM_CallFunction+224)
#08~#18 /data/storage/el1/bundle/libs/arm64/libjsruntime.so ← TaskQueue 任务派发(11 帧)
#19 /system/lib64/platformsdk/libuv.so(uv__async_io+536)
#20 /system/lib64/platformsdk/libuv.so(uv__io_poll+1300)
#21 /system/lib64/platformsdk/libuv.so(uv_run+1004)
链路:libuv 事件循环 → libjsruntime.so 任务队列取任务 → OH_JSVM_CallFunction → V8 JSEntry → 解释器写 Context Slot → SIGSEGV(SEGV_ACCERR)。