Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

ContendedCallTraceStorageTest: skip on musl+aarch64 debug (CTimer::unregisterThread race)

未关闭
#534 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
冷清
技术栈
java

调研方向

从 ddprof-test/src/test/java/com/datadoghq/profiler/ContendedCallTraceStorageTest.java 开始,检查 isPlatformSupported() 以及 musl+aarch64 的调试复现。然后跟踪 CTimer::registerThread 和 CTimer::unregisterThread,重点关注 teardown 和信号传递。当该测试不再需要此 platform skip,并且能在受影响的配置上可靠通过时,即表示完成。

由索引模型根据 Issue 内容生成。

描述

Summary

ContendedCallTraceStorageTest is disabled on musl+aarch64 debug via isPlatformSupported() returning false because CTimer::unregisterThread races with concurrent thread teardown on that combination, causing spurious failures.

Affected file

ddprof-test/src/test/java/com/datadoghq/profiler/ContendedCallTraceStorageTest.java

Reproduction

Run the test with:

  • libc: musl
  • arch: aarch64
  • build type: debug

The race manifests as a crash or hang inside CTimer::unregisterThread during test teardown when profiled threads exit concurrently.

Investigation notes

  • The bug is pre-existing and unrelated to the StringDictionary refactor in PR #524.
  • CTimer relies on signal delivery to the thread being unregistered; on musl+aarch64 debug the timing of thread teardown vs. signal delivery is different enough to expose a race.
  • A proper fix likely requires guarding unregisterThread with the same lock as registerThread, or making the unregister step signal-delivery-free.

Tracked by

PR #524 added the skip; this issue tracks the underlying bug.

主要语言
C++
星标
33
派生
14
平均合并
2 天 12 小时
30 天内合并 PR
41

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

DataDog/java-profiler 的其他 Issue

查看 DataDog/java-profiler 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。