Concurrent parallel invocations can lose worker-options files
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 20.6k
- Fork
- 3.3k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
Crash
On Ubuntu 24.04 with Python 3.12 and Mypy 2.3.1, four concurrent Mypy
invocations using --num-workers=4 intermittently failed to start their build
workers. Several workers reported:
FileNotFoundError: [Errno 2] No such file or directory: '.mypy_cache/.worker_options.<id>.data'
Failed to establish connection with worker: No status file found
Full GitHub Actions log:
https://github.com/adamtheturtle/literalizer/actions/runs/34489393511/job/102911865600
The four commands shared the working directory and default .mypy_cache, but
each checked a different temporary Python file. The failure is intermittent;
an unchanged rerun passed. Serializing the invocations and using one Mypy
worker avoids it.
This resembles #21393, but that report is specifically a macOS test failure;
this occurrence was on Linux with concurrent consumer invocations.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Nel report non sono indicati né un file sorgente né un percorso dei test. Per prima cosa riproduci quattro invocazioni concorrenti di Mypy con --num-workers=4 che condividano la directory di lavoro e il .mypy_cache predefinito su Ubuntu 24.04 con Python 3.12, quindi traccia i file worker-options coinvolti; il lavoro è completato quando le esecuzioni concorrenti non sollevano più FileNotFoundError né segnalano l'assenza di un status file.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 52/100