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获取失败问题
248浏览 • 1回复 待解决
HarmonyOS 崩溃收集问题咨询
320浏览 • 1回复 待解决
HarmonyOS 接入崩溃服务-异常问题
284浏览 • 1回复 待解决
eglSwapBuffers崩溃问题
258浏览 • 1回复 待解决
HarmonyOS调用napi_call_function方法时崩溃
339浏览 • 1回复 待解决
OpenSL ES音频录制示例调用崩溃
1819浏览 • 1回复 待解决
HarmonyOS API调用与Dialog弹框
109浏览 • 0回复 待解决
HarmonyOS 调用内部资源问题
263浏览 • 1回复 待解决
HarmonyOS @Watch函数调用问题
208浏览 • 1回复 待解决
harmonyOS基于api9如何调用相机拍照?
3625浏览 • 1回复 待解决
HarmonyOS关于API使用的问题
242浏览 • 1回复 待解决
怎样防止API被恶意调用?
1806浏览 • 1回复 待解决
HarmonyOS调用PhotoAccessHelper.getAssets问题
305浏览 • 1回复 待解决
HarmonyOS使用HashMap崩溃
253浏览 • 1回复 待解决
HarmonyOS TextInput调用系统键盘问题
128浏览 • 1回复 待解决
程序打开直接崩溃了,如何定位问题
2518浏览 • 1回复 待解决