openssl.so和ffrt.so异常日志分析
1、打点日志,内部测试随意操作,无规律复现路径
2、日志打点,内部测试每天都会上报很多条如下错误日志libcrypto_openssl.z.so和ffrt.so
日志分析过程
1、分析异常栈
崩溃位置libcrypto_openssl.z.so(#04->#00)
04行、算法库libcrypto_openssl.z.so调用OpenSSL EVP_EncryptUpdate执行加密操作,但是在OpenSSL内部调用栈中(#01)出现了CRYPTO_cbc128_decrypt函数,这个函数是执行解密操作的。
2、OpenSSL调用原理
OpenSSL内部的加解密上下文中有个enc标记,值为1表示加密,0表示解密。
因此怀疑加解密上下文没有完成初始化,enc值还是0,因此内层调用到了解密函数。
3、可能性分析
Cipher.init函数是异步实现,如果业务没有等init完成,就调用Cipher.update函数,就可能会出现相同的异常栈。
日志分析结论
1,异常原因:加密操作执行了解密函数
2、可能异常的操作:初始化函数Cipher.init异步未结束调用了加密操作
调试建议
请确认下调用init时是否加了await或是否执行完异步init后才调用了update
开发者反馈
1、init接口,b当成同步方法使用了
2、init接口前加 await 后,待观察后续是否上报类似错误
3、无此类问题出现、问题解决
根因总结
CryptoFramework.init是异步接口,伙伴在开发时开发当成同步接口使用,导致没有初始化完成就使用加解密操作抛出异常crash。
HarmonyOS
赞
收藏 0
回答 1
相关问题
是否有预编译的 OpenSSL 的 so 文件?
950浏览 • 1回复 待解决
如何分析Faultlog日志的内容(JSCrash,CppCrash、Appfreeze等异常的分析步骤)
3103浏览 • 1回复 待解决
ArkTS 和.so交互的问题
1154浏览 • 1回复 待解决
HarmonyOS 如何分析NDK编译出来的so文件的体积组成
881浏览 • 1回复 待解决
如何使用后缀为so.x.y类型的so库,例如libxxx.so.3.1、libxxx.so.3.1.0
2682浏览 • 1回复 待解决
ArkTS和Native如何动态加载、卸载so
2966浏览 • 1回复 待解决
Native so 编译 opencv,报找不到 libunwind.so
1914浏览 • 1回复 待解决
HarmonyOS NAPI开发中so库里打印的日志不显示,怎么打开
1069浏览 • 1回复 待解决
ArkTS和so库的交互,HarmonyOS是否有和so库的交互方法,如果有请附带实例和步骤?
832浏览 • 1回复 待解决
HarmonyOS 打包so问题
754浏览 • 1回复 待解决
libbt_vendor.z.so中HILOGE打印函数在hilog中没有输出日志
3452浏览 • 0回复 待解决
HarmonyOS 如何查看HarmonyOS so库的符号,可以输出so的符号
720浏览 • 1回复 待解决
HarmonyOS 如何在so库中验证App包名和签名,从而保证so库调用的合法性
791浏览 • 1回复 待解决
HarmonyOS FFRT开发指导,希望提供FFRT的demo实现?
875浏览 • 0回复 待解决
通过configuration配置调试so
1301浏览 • 1回复 待解决
HarmonyOS ArkTS调用so库
1760浏览 • 1回复 待解决
HarmonyOS so包读取问题
723浏览 • 1回复 待解决
HarmonyOS 有没有日志分析平台?
1002浏览 • 1回复 待解决
HarmonyOS 如何判断是加载的是系统so还是app本身的so
983浏览 • 1回复 待解决
HarmonyOS libuv.so崩溃
954浏览 • 1回复 待解决
HarmonyOS ohosTest调用so库失败
892浏览 • 1回复 待解决
关于 SO 文件的使用问题
1105浏览 • 1回复 待解决
HarmonyOS har包引用so问题
1353浏览 • 1回复 待解决
HarmonyOS 引用so库报红
860浏览 • 1回复 待解决
HarmonyOS 怎么优化so包大小
797浏览 • 1回复 待解决
init接口前加 await 、返回之后再调用Cipher.update函数