Skip to content

diag(shell): 超时记录 frame.bmp 是否存在 (#97) - #283

Merged
JavaZeroo merged 1 commit into
mainfrom
diag/candidate-frame-at-timeout
Oct 31, 2026
Merged

JavaZeroo merged 1 commit into
mainfrom
diag/candidate-frame-at-timeout

Conversation

@JavaZeroo

Copy link
Copy Markdown
Owner

内容

按 #97 的下一步观测(frame.bmp 是否存在 + 心跳尾部),在超时分支记录 frame_at_timeout:

record["frame_at_timeout"] = (out / "frame.bmp").is_file()

为什么

frame.bmp 只在 closing_ && closed_ && drained 三个条件都成立时才写出(shell.cpp:917-923)。因此期限瞬间该文件是否存在,可以区分两种形态:

frame_at_timeout 含义
false 收尾未完成(仍卡在 closing_/closed_/drained)
true 帧已写出但进程仍未返回(另一类问题)

此前的样本只靠人工去 artifact 里看有没有 frame.bmp;现在每次超时都自带该字段。

验证

experiments.shell.test_candidate_tui 在本机前后一致(5 errors,改动前后相同,缺 vim/构建产物导致),未引入回归。

边界

  • 只加一个布尔字段,不改期限与判定;
  • 该字段只说明文件是否写出,不说明写出时刻。

Refs #97

The frame is written only after closing, closed and drained, so its presence separates an unfinished teardown from a returned process.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant