Six captures across one healthy run: 12 thread states stable, 13 vary. Every thread previously reported as a freeze signature is in the VARIES set -- including T68/T69, which I had kept as 'what reproduces across both freezes'. They park and unpark during ordinary play, landing on the same objects they hold when frozen, so seeing them parked while frozen is not evidence. Net: no thread-level freeze signature has survived. Both frozen diffs are consistent with healthy variation, and one-sample-per-state was never capable of separating them. Still standing: the 12 stable threads hold the same object in all six captures and none of them moved in either frozen capture -- so 'not a whole-emulator stall' survives, now resting on the stable set being undisturbed rather than on a count of unchanged threads. Also noted: gdb thread numbers are not comparable across runs (this run has T132-T142, earlier runs had T104-T106), so future cross-run work must key on the object address or guest thread id.
30 lines
2.1 KiB
Plaintext
30 lines
2.1 KiB
Plaintext
=== stability across 6 healthy captures: h1, h2, h3, h4, h5, h6 ===
|
|
T142 VARIES Wait(XEvent) | -- | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent)
|
|
T141 VARIES -- | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent)
|
|
T140 VARIES -- | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent)
|
|
T139 VARIES -- | Wait(XEvent) | -- | -- | -- | --
|
|
T133 STABLE Wait(XEvent)
|
|
T132 VARIES Wait(XEvent) | -- | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent)
|
|
T80 STABLE WaitMultiple(XEvent,XSemaphore)
|
|
T79 STABLE WaitMultiple(XEvent,XSemaphore)
|
|
T78 VARIES WaitMultiple(XEvent,XSemaphore) | Wait() | WaitMultiple(XEvent,XSemaphore) | WaitMultiple(XEvent,XSemaphore) | WaitMultiple(XEvent,XSemaphore) | WaitMultiple(XEvent,XSemaphore)
|
|
T77 STABLE Wait(XEvent)
|
|
T76 STABLE WaitMultiple(XEvent,XTimer)
|
|
T75 VARIES Wait(XSemaphore) | -- | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent)
|
|
T74 VARIES Wait(XSemaphore) | -- | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent)
|
|
T71 STABLE Wait(XEvent)
|
|
T69 VARIES -- | -- | -- | Wait(XSemaphore) | -- | Wait(XSemaphore)
|
|
T68 VARIES -- | -- | -- | Wait(XEvent) | -- | Wait(XEvent)
|
|
T67 VARIES -- | -- | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent)
|
|
T66 STABLE Wait(XEvent)
|
|
T65 STABLE WaitMultiple(XEvent,XSemaphore)
|
|
T64 STABLE WaitMultiple(XEvent,XSemaphore)
|
|
T63 STABLE Wait(XSemaphore)
|
|
T62 STABLE Wait(XEvent)
|
|
T61 STABLE Wait(XEvent)
|
|
T50 VARIES -- | -- | Wait(XEvent) | Wait(XEvent) | Wait(XEvent) | Wait(XEvent)
|
|
T36 VARIES WaitMultiple(XEvent,XEvent) | WaitMultiple(XEvent,XEvent) | WaitMultiple(XEvent,XEvent) | -- | WaitMultiple(XEvent,XEvent) | --
|
|
--- 12 stable, 13 vary across healthy play
|
|
Only a thread in the STABLE set can carry a frozen-state signature;
|
|
a VARIES thread differing when frozen proves nothing.
|