ContendedCallTraceStorageTest: skip on musl+aarch64 debug (CTimer::unregisterThread race)
维护者通常 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.
CTimerrelies 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
unregisterThreadwith the same lock asregisterThread, 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 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
DataDog/java-profiler 的其他 Issue
-
needs-review upstream-tracking
难度 4/5 3-5 天 新手友好度 15/100
DataDog/java-profiler#846 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 52/100
DataDog/java-profiler#843 ·
维护者通常 1 天内回复
-
needs-review upstream-tracking
难度 4/5 3-5 天 新手友好度 35/100
DataDog/java-profiler#829 ·
维护者通常 1 天内回复
-
needs-review upstream-tracking
难度 4/5 3-5 天 新手友好度 35/100
DataDog/java-profiler#812 ·
维护者通常 1 天内回复
-
needs-review upstream-tracking
难度 4/5 3-5 天 新手友好度 35/100
DataDog/java-profiler#785 ·
维护者通常 1 天内回复
查看 DataDog/java-profiler 的全部 Issue
相似的 Issue
-
Status: Awaiting triage
难度 2/5 1-3 小时 新手友好度 75/100
espressif/arduino-esp32#12984 ·
维护者通常 1 天内回复
-
torch_ops/logprob.cu does not compile with the serving container's nvcc (13.3.73); check_torch_ops.py cannot run as shipped可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1 小时以内 新手友好度 72/100
ashhart/TensorFold#535 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
难度 2/5 1 小时以内 新手友好度 78/100
sudoevolve/EUI-NEO#95 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复