HarmonyOS API调用崩溃问题

崩溃日志:

Process life cycle:174s 
Reason:Signal:SIGSEGV(SEGV_ACCERR)@0x00000xxxx6d3a8 
Fault thread info: 
  Tid:45687, 
#00 pc 00000000002183a8 [anon:native_heap:jemalloc] 
#01 pc 0000000000045830 /system/lib64/platformsdk/libace_napi.z.so(napi_get_reference_value+48)(01179e09xxxdx982d43) 
#02 pc 0000000000485aac /data/storage/el1/bundle/libs/arm64/libpartchapsdk.so(partc::napi::VideoSinkWrapper::call_js_OnFrame(napi_env__*, napi_value__*, void*, void*)+112)(4e98ac98013ed54xxxxx3715def84d8017f64)

这个API调用,是否有保护措施?即使传递参数有问题,可以返回napi_status 失败。

HarmonyOS
2024-08-27 11:15:30
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

从#02里看可到,libpartchapsdk.so为业务处理的库,里面的业务线程调用了Napi的接口处理,该接口只能在主线程中调用的,在业务线程中调用,会存在作用域的问题,导致崩溃。 这种类似于非法内存访问,在C++ 中,是会引起崩溃的。建议,业务线程中处理业务逻辑后,将一些数据(即C++的基本类型)收集完毕后,将数据抛到主线程中处理,主线程中根据数据创建相关napi_value信息,返回给Arkts层。这个错误大概率是踩内存导致,涉及到内存访问,没法进行捕获增加保护的。

分享
微博
QQ
微信
回复
2024-08-27 19:16:45
相关问题
HarmonyOS调用相机设备API获取失败问题
888浏览 • 1回复 待解决
HarmonyOS sendable崩溃问题
211浏览 • 1回复 待解决
eglSwapBuffers崩溃问题
997浏览 • 1回复 待解决
HarmonyOS 调用OH_LOG_SetCallback接口崩溃
302浏览 • 1回复 待解决
HarmonyOS flutter崩溃问题处理
541浏览 • 1回复 待解决
HarmonyOS 应用崩溃日志问题
1002浏览 • 1回复 待解决
HarmonyOS 崩溃收集问题咨询
814浏览 • 1回复 待解决
HarmonyOS 全局崩溃捕获问题
454浏览 • 1回复 待解决
OpenSL ES音频录制示例调用崩溃
2187浏览 • 1回复 待解决
HarmonyOS调用napi_call_function方法时崩溃
1159浏览 • 1回复 待解决
HarmonyOS 接入崩溃服务-异常问题
904浏览 • 1回复 待解决
HarmonyOS 找不到崩溃日志问题
697浏览 • 1回复 待解决
HarmonyOS webPageSnapshot api调用失败
440浏览 • 1回复 待解决
HarmonyOS flutter调用api异常
356浏览 • 1回复 待解决
HarmonyOS 退出程序调用什么api
215浏览 • 0回复 待解决
HarmonyOS 应用内支付调用 API 失败
650浏览 • 1回复 待解决
HarmonyOS API调用与Dialog弹框
604浏览 • 0回复 待解决
HarmonyOS 蓝牙api问题
511浏览 • 1回复 待解决