Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#534 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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

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.
  • 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.

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de DataDog/java-profiler

Toutes les issues de DataDog/java-profiler

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.