Windows: graphify update can hang in tempfile.mkstemp while saving manifest
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
- #3663 di @nikhilsaxena04 — chiusa senza merge
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Start in graphify/paths.py at _atomic_replace() and write_json_atomic(), then trace their callers in graphify/detect.py and graphify/watch.py. Review linked PR #3663 and reproduce graphify update . on Windows; done means the command completes or reports a visible, actionable error naming the manifest target.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
On Windows, graphify update . can stop after AST extraction and never return. A faulthandler dump shows that Graphify is blocked in tempfile.mkstemp() while saving manifest.json.
Environment
- graphifyy 0.9.63
- Python 3.11.15, 64-bit
- Windows 11 Pro, version 10.0.26200, build 26200
- Target manifest path length: 55 characters (local project path redacted)
Reproduction
-
Use a project with an existing
graphify-out/directory and roughly 1,090 code files. -
Run:
graphify update . -
The command reports progress through AST extraction, for example:
AST extraction: 1000/1088 uncached files (91%) -
It then remains active without printing a completion message or returning.
A 20-second faulthandler timeout captured this stack:
File "...\Lib\tempfile.py", line 257 in _mkstemp_inner
File "...\Lib\tempfile.py", line 358 in mkstemp
File "...\graphify\paths.py", line 120 in _atomic_replace
File "...\graphify\paths.py", line 165 in write_json_atomic
File "...\graphify\detect.py", line 2418 in save_manifest
File "...\graphify\watch.py", line 1988 in _rebuild_code
Expected behavior
graphify update . completes or fails with a visible error and an actionable target path.
Actual behavior
The process blocks indefinitely in temporary-file creation. There is no final success or failure output.
Additional observations
- The graph artifacts had already been written and the resulting graph was valid (11,158 nodes, 40,276 edges; no missing or dangling endpoints).
- The manifest target is deliberately short, so this does not appear to be the Windows path-length issue described in #3351.
- In the current code,
_atomic_replace()callstempfile.mkstemp(dir=str(real.parent), prefix=".gfy-", suffix=".tmp")directly. The existing fallback around the lateros.replace()step cannot handle a block before that point.
A bounded retry/timeout around temporary-file creation, plus explicit diagnostic output naming the target file, would make this failure mode recoverable.
- Lingua principale
- Python
- Stelle
- 124k
- Fork
- 11.9k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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.
Altre issue di Graphify-Labs/graphify
-
[Bug] Pi skill uses unsupported general-purpose subagent instead of delegateForse già presa @bercedev l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Graphify-Labs/graphify#4494 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
ID collision: a node with no source_file beats a sourced node with the same id (dedup._collision_rank)Forse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Graphify-Labs/graphify#4492 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
Graphify-Labs/graphify#3763 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Graphify-Labs/graphify#3611 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Nix supportAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Graphify-Labs/graphify#3193 · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Graphify-Labs/graphify
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
lidofinance/diffyscan#239 ·
I maintainer di solito rispondono entro 1 giorno
-
docs: the dev-setup table and AGENTS.md name the reviewed_by guard that CI's Changelog job runsApertaarea: tools documentation good first issue ready for a contributor
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
eyalgolan/statecraft-israel#873 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
GET rooms API returns 500 due to nonexistent Room.is_active attributeForse già presa @Mars-60 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Add cover art to song rowsApertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 5 giorni
-
Harmony OPeNDAP SubSetter (HOSS) Geographic production rssmif16d 7 XYZ_PROV
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
nasa/harmony-autotester#341 ·