From 8b81ba733633948c34f24b4a09f592d6c0fa71b1 Mon Sep 17 00:00:00 2001 From: "lei.chen" Date: Wed, 5 Aug 2026 09:43:08 +0000 Subject: [PATCH] =?UTF-8?q?docs(buglog):=20record=20bug-1508=20=E2=80=94?= =?UTF-8?q?=20heartbeat=20nop=20reply=20poisons=20shared=20wbuf=20(peek=20?= =?UTF-8?q?501)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .wolf/buglog.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.wolf/buglog.json b/.wolf/buglog.json index c4c9fb21..b0e19890 100644 --- a/.wolf/buglog.json +++ b/.wolf/buglog.json @@ -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" } ] \ No newline at end of file