docs: the in-mission freeze ends in 1171 refused resumes of one thread
A Stage 02 run froze at TIME 01:02 with a radio line caught mid-word. The emulator was alive at ~200% CPU with its main thread in state R, two screenshots six seconds apart were byte-identical, and the log ended in a spin: 1171 of the run's 1200 "host resume was refused" lines are the single pair F80002AC -> F8000240, starting at the line immediately after F80002AC is created, and the log never grows again. The commit that added that warning records what normal looks like - about 7 in a whole boot - so this is a 150x anomaly on one pair rather than noise. F8000240 itself appears exactly once outside the spin, at creation, and calls nothing. Eleven of the frozen process's 79 host threads have zero CPU, four of them consecutive late-created guest threads - the same signature as the lost resume that c1b57f93b fixed for the title screen. That fix IS in this build, so either there is a second window in that race or this only looks alike. The inference is named as one: nothing here maps a guest handle to a host tid, so "the zero-CPU threads are the ones being resumed" is a reading of two consistent observations. And the refusals could equally be the game's reaction to a worker stuck for another reason - log_mask=13 has the Kernel channel disabled, so not one of F8000240's waits is visible. The next experiment is written down concretely: reproduce with LOG_MASK=12 LOG_LEVEL=3 and map the handle to a tid. Also caps ob_hunt's survivor listing at 40 - an aborted run printed all 21482 and buried the line that mattered. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
25
docs/re/captures/stage02-freeze-resume-spin.log
Normal file
25
docs/re/captures/stage02-freeze-resume-spin.log
Normal file
@@ -0,0 +1,25 @@
|
||||
# tail of the Canary log of a FROZEN Stage 02 run (log_mask=13, level=2)
|
||||
# 1200 'host resume was refused' lines total, 1171 of them the single pair
|
||||
# F80002AC -> F8000240; the spin begins at line 5384, immediately after
|
||||
# XThreadF80002AC is created, and the log then never grows again.
|
||||
|
||||
F> F8000090 HostPathDevice::ResolvePath(\c7951e39\f\060a28b)
|
||||
F> F8000008 HostPathDevice::ResolvePath(\69d8e45c\a\8619aa7)
|
||||
i> F8000008 XThreadF8000270 (38) Stack: 70880000-708C0000
|
||||
i> F8000008 XThreadF8000298 (39) Stack: 70AD0000-70B10000
|
||||
i> F8000008 XThreadF80002AC (3A) Stack: 70B30000-70B70000
|
||||
i> F8000008 XThreadF80002C0 (3B) Stack: 70B90000-70C10000
|
||||
F> F80002C0 HostPathDevice::ResolvePath(\e5f89243\8\1f28c4d)
|
||||
F> F80002C0 HostPathDevice::ResolvePath(\e5f89243\2\bb9feee)
|
||||
F> F80002C0 HostPathDevice::ResolvePath(\e5f89243\b\2c0b0e1)
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
... [1171 identical lines] ...
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
w> F80002AC XThread::Resume: host resume was refused for thread F8000240
|
||||
81
docs/re/captures/stage02-freeze-thread-cpu.txt
Normal file
81
docs/re/captures/stage02-freeze-thread-cpu.txt
Normal file
@@ -0,0 +1,81 @@
|
||||
# host threads of the FROZEN emulator: ticks(utime+stime), state, tid, comm
|
||||
# 79 threads, 11 with zero CPU
|
||||
0 S 42923 xenia_canary
|
||||
0 S 42950 xenia_c:disk$0
|
||||
0 S 42955 Audio Media Pla
|
||||
0 S 42967 Kernel Dispatch
|
||||
0 S 42978 Shader Storage
|
||||
0 S 42979 XThreadB73FC6C0
|
||||
0 S 42980 XThreadB53F96C0
|
||||
0 S 45871 XThread37FFF6C0
|
||||
0 S 45872 XThread36FFE6C0
|
||||
0 S 45873 XThread35FFD6C0
|
||||
0 S 45874 XThread2FFFF6C0
|
||||
1 S 42922 xenia_canary
|
||||
1 S 42996 XThread76FFE6C0
|
||||
5 S 42957 WSI swapchain e
|
||||
6 S 42981 XThreadA3FFF6C0
|
||||
10 S 42924 Emulator
|
||||
14 S 42965 Vulkan Pipeline
|
||||
15 S 42958 Vulkan Pipeline
|
||||
15 S 42960 Vulkan Pipeline
|
||||
16 S 42959 Vulkan Pipeline
|
||||
16 S 42962 Vulkan Pipeline
|
||||
16 S 42966 Vulkan Pipeline
|
||||
17 S 42961 Vulkan Pipeline
|
||||
17 S 42963 Vulkan Pipeline
|
||||
17 S 42964 Vulkan Pipeline
|
||||
45 S 45808 XThread41FFD6C0
|
||||
56 S 42905 xenia_canary
|
||||
60 S 42984 XThread9FFFA6C0
|
||||
61 S 45807 XThread42FFE6C0
|
||||
98 S 42952 GPU Frame limit
|
||||
105 S 45875 XThread2EFFE6C0
|
||||
158 S 42953 XMA Decoder (01
|
||||
159 S 42989 SDLAudioP2
|
||||
160 S 42954 Audio Worker (0
|
||||
274 S 45878 XThread1FFFF6C0
|
||||
288 S 42990 XThread953FC6C0
|
||||
513 S 45877 XThread2DFFD6C0
|
||||
537 S 45876 XThread3DFF96C0
|
||||
547 S 42956 WSI swapchain q
|
||||
853 S 42997 XThread75FFD6C0
|
||||
981 S 42994 XThread77FFF6C0
|
||||
994 S 42999 XThread66FFE6C0
|
||||
996 R 42998 XThread67FFF6C0
|
||||
997 S 42993 XThread85FFD6C0
|
||||
1027 S 42995 XThread87FFF6C0
|
||||
1314 S 42951 GPU Commands (0
|
||||
1913 S 42968 Main XThread (F
|
||||
2022 S 42921 Logging Writer
|
||||
2156 S 42925 Emulator
|
||||
3031 S 42987 XThread96BFE6C0
|
||||
3070 S 42982 XThreadA2FFE6C0
|
||||
3101 S 42983 XThreadA0FFB6C0
|
||||
3447 S 42986 XThread97BFF6C0
|
||||
3459 S 42939 Emulator
|
||||
3462 S 42943 Emulator
|
||||
3463 S 42942 Emulator
|
||||
3467 S 42944 Emulator
|
||||
3468 S 42938 Emulator
|
||||
3468 S 42948 Emulator
|
||||
3471 S 42940 Emulator
|
||||
3472 S 42946 Emulator
|
||||
3476 S 42941 Emulator
|
||||
3477 S 42945 Emulator
|
||||
3484 S 42947 Emulator
|
||||
3486 S 42949 Emulator
|
||||
6387 S 42936 llvmpipe-10
|
||||
6626 S 42937 llvmpipe-11
|
||||
6746 S 42935 llvmpipe-9
|
||||
7176 S 42934 llvmpipe-8
|
||||
7477 S 42933 llvmpipe-7
|
||||
7631 S 42932 llvmpipe-6
|
||||
7844 S 42926 llvmpipe-0
|
||||
7871 S 42931 llvmpipe-5
|
||||
7899 S 42928 llvmpipe-2
|
||||
7907 S 42930 llvmpipe-4
|
||||
7929 S 42929 llvmpipe-3
|
||||
8128 S 42927 llvmpipe-1
|
||||
28354 S 42919 xenia_canary
|
||||
28701 S 42985 XThread9C9F96C0
|
||||
Reference in New Issue
Block a user