grafana / grafana/pyroscope-python

Investigate musllinux-arm64 CI test hangs for Python 3.9, 3.10, 3.11

Ouverte
#36 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Rust
Étoiles
4
Forks
2
Merge moyen
2 j 4 h
PR mergées (30 j)
5

Description

## Description

In the `linux-test` CI matrix added in grafana/pyroscope-rs#364, the `musllinux-arm64` variant hangs indefinitely for Python 3.9, 3.10, and 3.11, while 3.12 and 3.13 complete successfully (~37s each).

All four variants started at the same time. The three older versions never complete.

## Observed behaviour

| Job | Status | Duration |
|-----|--------|----------|
| musllinux-arm64 - 3.9 | stuck in_progress | 15+ min |
| musllinux-arm64 - 3.10 | stuck in_progress | 15+ min |
| musllinux-arm64 - 3.11 | stuck in_progress | 15+ min |
| musllinux-arm64 - 3.12 | completed | ~37s |
| musllinux-arm64 - 3.13 | completed | ~37s |

Example run: https://github.com/grafana/pyroscope-rs/actions/runs/22293868489

## Possible causes

- `python:3.9-alpine`, `python:3.10-alpine`, `python:3.11-alpine` images may not have an `arm64` variant on Docker Hub, causing `docker pull` to hang or fail silently
- py-spy may not support profiling on Alpine arm64 for older Python versions
- The test watchdog (120s timeout) fires but the process doesn't exit cleanly inside the container

## Current workaround

These three combinations are excluded from the matrix via `exclude:` in `ci-ffi-python.yml` until the root cause is identified.

## Next steps

- Check Docker Hub for `python:3.9-alpine` / `3.10-alpine` / `3.11-alpine` arm64 manifest availability
- Run the docker pull manually on an arm64 runner to confirm
- Check if py-spy works on Alpine arm64 for these Python versions

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par ci-ffi-python.yml et l’exécution Actions liée, puis vérifiez les manifestes de Docker Hub pour les images Alpine arm64 de Python 3.9–3.11. Reproduisez les pulls et le test py-spy sur un runner arm64, en vérifiant le comportement du watchdog de 120 secondes. Le travail est considéré comme terminé lorsque la cause du blocage est identifiée et que l’exclusion ou la configuration CI peut être mise à jour en conséquence.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
docker, github-actions, python
Domaine
ci-cd, devops
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

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