ContendedCallTraceStorageTest: skip on musl+aarch64 debug (CTimer::unregisterThread race)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Calme
- Stack technique
- java
- Domaine
- devtools, performance, testing-qa
Piste de recherche
Commencez par ddprof-test/src/test/java/com/datadoghq/profiler/ContendedCallTraceStorageTest.java et examinez isPlatformSupported() ainsi que la reproduction de débogage de musl+aarch64. Suivez ensuite CTimer::registerThread et CTimer::unregisterThread, en vous concentrant sur le teardown et la livraison des signaux. Le travail est terminé lorsque le test n’a plus besoin de ce platform skip et réussit de manière fiable dans la configuration concernée.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- C++
- Étoiles
- 33
- Forks
- 14
- Merge moyen
- 2 j 12 h
- PR mergées (30 j)
- 41
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de DataDog/java-profiler
-
needs-review upstream-tracking
Difficulté 4/5 3-5 jours Accessibilité débutants 15/100
DataDog/java-profiler#846 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
DataDog/java-profiler#843 ·
Les mainteneurs répondent en général sous 1 jour
-
needs-review upstream-tracking
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
DataDog/java-profiler#829 ·
Les mainteneurs répondent en général sous 1 jour
-
needs-review upstream-tracking
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
DataDog/java-profiler#812 ·
Les mainteneurs répondent en général sous 1 jour
-
needs-review upstream-tracking
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
DataDog/java-profiler#785 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de DataDog/java-profiler
Issues similaires
-
Component: Python API
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Vector35/binaryninja-api#8649 ·
Les mainteneurs répondent en général sous 3 jours
-
ai_p2 comp-parquet-reader-v3
Difficulté 2/5 Une demi-journée Accessibilité débutants 66/100
ClickHouse/ClickHouse#124986 ·
Les mainteneurs répondent en général sous 1 jour
-
bug product: very_good_flutter_plugin
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
VeryGoodOpenSource/very_good_templates#654 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
AcademySoftwareFoundation/OpenImageIO#5550 ·
Les mainteneurs répondent en général sous 2 jours