Visione: crash del worker a metà richiesta esce come 500 nudo #14
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
GRAVITÀ: alta
FILE: src/backend/services/vision_service.py:36-52
COSA:
_call_workercattura solohttpx.ConnectErrorehttpx.ReadTimeout.RemoteProtocolError,ReadError,ConnectTimeout,WriteTimeout,PoolTimeoutescono come 500 invece del 502/504 promesso dal docstring.INPUT: worker muore (OOM, segfault opencv, restart) durante /run.
VERIFICATO: probe pytest con
AsyncClient.postche sollevahttpx.RemoteProtocolError→ "DIES -> RemoteProtocolError non-HTTPException".ORIGINE: revisione fable del 21/09/2026 su ramo
V3.0.0, commit8cc5e82. Documento completo:_output/2026-09-21-TieMeasureFlow-revisione.mdsu Wasabi.⚡ jeeg — preso in carico 2026-09-21T20:22:29Z
ramo:
lavoro/jeeg· capacità: docker, gpu, systemdANALISI (passo 1) — ramo
lavoro/jeeg, worktree~/lavoro/TieMeasureFlowsu jeeg, lotto C1MODIFICHE: src/backend/services/vision_service.py
_call_worker—httpx.TimeoutException(tutte) → 504;httpx.TransportError/httpx.HTTPErrorrestanti (RemoteProtocolError, ReadError, ConnectError…) → 502 con motivo.TEST: src/backend/tests/test_vision_*.py — AsyncClient.post che solleva RemoteProtocolError → 502; ConnectTimeout → 504. Base: scratchpad/test_probe_backend.py.
Soluzione
ESITO: fatto
COSA:
_call_worker: ognihttpx.TimeoutException→ 504, ogni altro errore di trasporto → 502 con motivo. Prova originale rilanciata: RemoteProtocolError → HTTPException 502.COMMIT (ramo lavoro/jeeg, unito su V3.0.0 a
d483fa1):67392a9PROVA:
uv run --extra server --extra client --extra dev pytest -q→ 622 passed, 4 skipped (erano 391); visione su Python 3.13 → 16 passed (erano 8).