Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

pthread-tls-probe under Rosetta hangs in about 2 of 100 runs

Abierto
#413 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
c, macos

Línea de trabajo

Start with tests/x86_64-glibc-pthread-tls.c and reproduce the intermittent hang using the provided loop under Rosetta. Then run make test-rosetta-glibc to check the suite behavior; the issue does not identify where execution stops, so tracing the hang is an initial step. Done means the probe no longer hangs intermittently and the Rosetta test lane passes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

pthread-tls-probe (tests/x86_64-glibc-pthread-tls.c), the x86_64 glibc probe that starts one worker thread and joins it, sometimes never returns under Rosetta. It prints nothing before it stops: neither the success marker nor one of its failure markers.

R=externals/test-fixtures/x86_64-glibc/rootfs
for i in $(seq 1 300); do
    timeout 5 build/elfuse --sysroot $R $R/usr/bin/pthread-tls-probe > /dev/null 2>&1
    [ $? -eq 124 ] && echo "run $i timed out"
done

Timeouts in 300 runs:

  • main at b57f367: 6
  • #408 at 9f12c41: 7
  • #408 at 0a70404: 7

A run that returns takes well under a second. In the suite it is glibc-pthread-tls: rc=124 in make test-rosetta-glibc, which make test-matrix runs; it failed 1 of 5 make test-rosetta-glibc runs and 1 of 2 make test-matrix runs here. The other six probes in that lane (glibc-hello, glibc-dlopen, glibc-tls, glibc-gdtls among them) passed in every one of those runs.

Where it stops is not known: the hang has not been attached to or traced.

Lenguaje dominante
C
Estrellas
271
Forks
28
Merge medio
2 d 18 h
PR fusionados (30 d)
19

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de sysprog21/elfuse

Todos los issues de sysprog21/elfuse

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.