1、访问not owned指针有释放堆栈Use After Free业务堆栈反混淆确认问题结论:结论:napi_get_typedarray_info误用,手动释放了返回的buffer应用侧函数调用入口基于ASan定位内存破坏案例介绍常见ArkTS多线程问题非js线程使用napi接口NAPI接口使用其它线程的envC+线程ArkTS线程NAPIvmLocalHeapenvenvnew objectHeap对象引用ArkTS线程1ArkTS线程2NAPIvm1LocalHeapenv1new objectHeap对象引用vm1析构引用变成野引用Multi Thread Check案例分析开启Ark多
2、线程检测,提前发现NAPI调用场景的多线程异常问题Multi Thread Check案例分析子线程35393使用主线程的npi_env对象调用napi_get_null应用及进程应用及进程异常线程异常线程主线程主线程跨语言调用链跨语言调用链TSan检测应用场景使用未初始化互斥锁线程泄漏错误的线程中加锁信号处理执行不安全调用数据竞争Thread1Thread2variablereadwriteData RacesData RacesThread1Thread2readwriteDead LockDead Lockchangereadchangewriteresource/codeTSan检测C
3、+多线程问题定位实践错误类型异常调用链定位源码数据竞争问题分析通过TSan快速定位到数据竞争调用代码开启TSan检测分析数据竞争关系错误类型错误类型异常调用链异常调用链定位源码定位源码快手稳定性保障体系实践(建设中)开发自测跨 学 科 对 话 日 益 增 多自动化测试学 术 资 源 共 享 加 速线上监控学 术 界 与 产 业 界 互 动 增 强ASan&Tsan保障稳定性开启多线程检测做Monkey测试FaultLog串联内部监控平台Copyright 2018 Huawei Technologies Co.,Ltd.All Rights Reserved.The information i
4、n this document may contain predictive statements including,without limitation,statements regarding the future financial and operating results,future product portfolio,new technology,etc.There are a number of factors that could cause actual results and developments to differ materially from those ex
5、pressed or implied in the predictive statements.Therefore,such information is provided for reference purpose only and constitutes neither an offer nor an acceptance.Huawei may change the information at any time without notice.把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。Bring digital to every person,home and or
6、ganization for a fully connected,intelligent world.Thank you.高效跨语言开发助力WPS接入HarmonyOS NEXT40004000万万+C/C+代码6 6亿亿+月活跃设备1000+1000+WPS Office研发人员6 6平台平台4 4指令集指令集兼容性数据来自:金山办公财报&WPS数据平台公公共共层层核核心心层层应应用用层层业业务务层层渲染引擎图形库文字内核表格内核PDF内核演示内核基于核心层+HarmonyOS UI,搭建HarmonyOS UIL基于插件平台的业务插件插件平台工具层工具层日志数仓蜂巢抽象平台能力,封装通用能