鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

遗留问题

问题单号

DTS2025082901780

问题描述

【亲和分析】【memtrace分析】【后端】当调用栈的第0层为系统库文件(如so),而其他层包含有效业务或代码信息时,该类race会被错误过滤,从而导致漏报发生。

严重级别

一般

规避和应急措施

消减措施如下:

  • 当dr-check开启调用栈检测功能并对ELF文件进行分析及报告后处理时,将按以下流程处理每个检测到的race及其两次访问的调用栈信息:
    • 若调用栈的第0层位于so系统库,但其他层中存在与目标ELF文件相关的有效信息,提取该层对应的文件信息,保留此race记录,并允许其参与后续的race过滤、去重及源码映射处理流程。
    • 若调用栈的第0层为so系统库,且其余各层也均属于系统库或第三方库文件,不包含用户相关代码,则将该race记录判定为无效并予以过滤删除。

    保证在开启调用栈检测的情况下有效降低race条件的漏报率。

  • dr-check检测过程保留memtracer生成的原始检测报告,并进一步在资料中说明该报告用途,供用户进行参考。

影响域

当涉及大量系统函数场景时,dr-check仅处理调用栈0层会导致一些真正race被错误过滤,从而导致漏报发生。

解决进展

dr-check检测保留memtracer生成的中间结果报告,并在资料中补充报告的用途和阅读方式供用户参考。