docs(buglog): record bug-1508 — heartbeat nop reply poisons shared wbuf (peek 501)
This commit is contained in:
parent
67f3f6ad80
commit
8b81ba7336
1 changed files with 19 additions and 0 deletions
|
|
@ -14875,5 +14875,24 @@
|
|||
],
|
||||
"occurrences": 1,
|
||||
"last_seen": "2026-08-05"
|
||||
},
|
||||
{
|
||||
"id": "bug-1508",
|
||||
"timestamp": "2026-08-05",
|
||||
"error_message": "job peek 首次调用报 501 'xcecli_fetchfile returned nil reply' (后续调用偶发成功); 包含运行中作业。",
|
||||
"file": "src/lib/xcectx.c (xce_handle_reply)",
|
||||
"root_cause": "apiserver 心跳每 30s 发 fire-and-forget nop(xce_nop 不等回复); controller 对每个 nop 回 status=0 reply; xce_handle_reply 对 OPCode_nop 走 default 返回 -ENOENT(非零) -> vtask_entry 调用 xce_wakeup 把 nop status 写进共享单槽 wbuf; 心跳不消费 wbuf -> 下一个阻塞调用(fetchfile)消费到陈旧 nop status -> status=0 但 ctx->reply.u.fetchfilereply 仍为 NULL -> 'nil reply' -> 501。",
|
||||
"fix": "xce_handle_reply 对 OPCode_nop 静默返回 0(不 wake), 心跳回复不再污染 wbuf; 控制操作(jobctrl 等)走 default 仍正常 wake。带回归测试 test_handle_reply_nop_does_not_wake(红->绿)。",
|
||||
"tags": [
|
||||
"libxce",
|
||||
"peek",
|
||||
"fetchfile",
|
||||
"heartbeat",
|
||||
"wbuf",
|
||||
"race"
|
||||
],
|
||||
"related_bugs": [],
|
||||
"occurrences": 1,
|
||||
"last_seen": "2026-08-05"
|
||||
}
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue