The guest RTL that replaced the ReactOS one set every section's DebugInfo
to -1. The components built from Wine sources (urlmon, windowscodecs,
rpcrt4 and others) name their sections through DebugInfo right after
initializing them, so they wrote to address 0x27 and crashed. A section
now gets a debug record unless CRITICAL_SECTION_NO_DEBUG_INFO is passed,
as Windows documents and as 32-bit sections already have. The records
live in a heap of their own, so DeleteCriticalSection gives back only
those and leaves a program's static record alone.
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: traced the 0x27 faults to the debug record, the record heap in kernel.c and the kernel_threads_client checks
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Implemented the call for both widths from the thread block and checked it in the kernel threads test.