Compile fails for all novel specs: health reports gpu_services:{}, finetune worker gets 500 from compiler on loopback
還沒有人認領這個 Issue。
評估
研究方向
Start by reproducing the failure with the /api/v1/health, /api/v1/compile, and /api/v1/compile/async endpoints, then trace the SDK's paw.compile() timeout and CompileResponse handling. Check the REST API documentation and the /api/openapi.json entry point. Done should distinguish unavailable compiler workers from slow compiles and clarify the cached result in SDK or troubleshooting output.
由索引模型根據 Issue 內容生成。
描述
Summary
All compiles of novel specs have been failing for ~62 hours. /api/v1/health reports "status": "healthy" but with "gpu_services": {} — no GPU workers registered. The finetune worker's error surfaces the underlying cause: a 500 from the standard compiler on loopback.
Metadata endpoints (/models/compilers, /compile/precheck) work normally, so this looks like the vLLM compiler services rather than the API host.
Reproduction
import httpx
# Any spec that is not already cached:
httpx.post("https://programasweights.com/api/v1/compile",
json={"spec": "Return ONLY the word RED or BLUE. Say RED if the input mentions fire."},
timeout=110)
# -> httpx.ReadTimeout
68 characters, no unusual content. The SDK's paw.compile() hits the same thing and fails at its hardcoded timeout=120.0.
The useful error
/api/v1/compile only ever hangs, but /compile/async (finetune) returns a job whose error field is readable:
POST /api/v1/compile/async {"spec": "...", "compiler": "paw-ft-bs48"}
-> 202 {"job_id": "...", "status": "queued", "compiler_snapshot": "paw-ft-bs48-20260530"}
GET /api/v1/compile/<job_id>
-> [ 0.1s] compiling pct=0.0
-> [ 111.4s] failed
error: Server error '500 Internal Server Error' for url
'http://127.0.0.1:18000/api/v1/compile'
Reproduced twice, ~24h apart (first run failed at 322s, second at 111s).
What is and isn't working
| Endpoint | Result |
|---|---|
GET /api/v1/health |
200 healthy, but gpu_services: {}, queue_depth: 0 |
GET /api/v1/models/compilers |
200 |
POST /api/v1/compile/precheck |
200, cached: false, correct compiler_snapshot |
POST /api/v1/compile |
ReadTimeout |
POST /api/v1/compile/async + poll |
failed, loopback 500 above |
uptime_s was 154214 → 223474 across my checks (~62h), so the API host has not restarted in that window.
Ruled out
- Not the spec.
precheckreturns 200 withcached: falseon it. A 68-char spec on an unrelated topic fails identically. - Not spec size. Mine is 1408 chars / ~352 tokens against
maxLength: 16000and the documented 5120-token limit. - Not rate limiting. That returns 429; this is a timeout or a 500.
- Not the client. Plain
httpxbypassing the SDK behaves the same.
Two docs issues found along the way
/api/v1/openapi.json404s; the schema is at/api/openapi.json. Worth a mention in the REST API docs.- Cache hits look like success.
"Classify sentiment as positive or negative"returns 202 instantly because it is cached from the docs' own example. I initially took that as evidence my spec was at fault. Acached: trueflag is already inCompileResponse— surfacing it in the SDK output, or noting it in the troubleshooting table, would save others the same wrong turn.
Suggestions
- Have
/api/v1/healthreport unhealthy (or awarningsentry) whengpu_servicesis empty, since compile cannot succeed in that state. - Return a 503 from
/api/v1/compileinstead of hanging when no compiler worker is available — the current behaviour is indistinguishable from a slow compile. - Consider making the SDK's 120s compile timeout configurable; there is currently no env override.
Environment
programasweights==0.4.4, Python 3.9, macOS. Anonymous (no PAW_API_KEY).
- 主要語言
- Python
- 星號
- 332
- 分支
- 31
- 平均合併
- 2 天 3 小時
- 30 天內合併 PR
- 1
貢獻指南
這個儲存庫沒有索引到貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
programasweights/programasweights-python 的其他 Issue
-
難度 5/5 一週以上 新手友好度 25/100
查看 programasweights/programasweights-python 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
難度 2/5 1-3 小時 新手友好度 88/100
OpenHands/extensions#626 · 1 則留言 ·
-
難度 1/5 1 小時以內 新手友好度 90/100
CSCfi/sd-search-api#39 ·
-
難度 1/5 1 小時以內 新手友好度 90/100
-
難度 2/5 1-3 小時 新手友好度 68/100
StevenBlack/hosts#3255 ·