grafana / grafana/pyroscope-python
Investigate musllinux-arm64 CI test hangs for Python 3.9, 3.10, 3.11
- Ngôn ngữ chính
- Rust
- Star
- 4
- Fork
- 2
- Merge trung bình
- 2 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 5
Mô tả
## 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
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu với ci-ffi-python.yml và lần chạy Actions được liên kết, sau đó kiểm tra các manifest trên Docker Hub cho các image Alpine arm64 của Python 3.9–3.11. Tái hiện các pull và bài kiểm tra py-spy trên một runner arm64, đồng thời kiểm tra hành vi của watchdog 120 giây. Hoàn tất khi đã xác định được nguyên nhân của hiện tượng treo và có thể cập nhật exclusion hoặc cấu hình CI cho phù hợp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- docker, github-actions, python
- Lĩnh vực
- ci-cd, devops
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 42/100