Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

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

Aberta
#534 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
45/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
java

Direção de pesquisa

Comece por ddprof-test/src/test/java/com/datadoghq/profiler/ContendedCallTraceStorageTest.java e examine isPlatformSupported() e a reprodução de debug de musl+aarch64. Em seguida, rastreie CTimer::registerThread e CTimer::unregisterThread, com foco no teardown e na entrega de sinais. O trabalho estará concluído quando o teste não precisar mais deste platform skip e passar de forma confiável na configuração afetada.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
C++
Estrelas
33
Forks
14
Merge médio
2d 4h
PRs com merge (30d)
52

Preparar o ambiente

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de DataDog/java-profiler

Todas as issues de DataDog/java-profiler

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.