csgo-osx-linux
csgo-osx-linux copied to clipboard
Memory access issues running CS:GO SDK and Hammer on Windows 11
Example error message in Windows Event Viewer upon launching Hammer:
Faulting application name: hammer.exe, version: 0.0.0.0, time stamp: 0x621e9cd2
Faulting module name: ntdll.dll, version: 10.0.22000.527, time stamp: 0x4ae92803
Exception code: 0xc0000374
Fault offset: 0x000e9f79
Faulting process id: 0x6b3c
Faulting application start time: 0x01d85897ecc6a775
Faulting application path: C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\bin\hammer.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: d01bd50c-f400-4734-939b-7173e8241705
Faulting package full name:
Faulting package-relative application ID:
Note that the exception code 0xc0000374 indicates a heap corruption. SDKLauncher.exe crashes in a similar manner, but reports 0xc0000005 (access violation) at fault offset 0x0004614a. Something seems to be off about how Hammer and the authoring tools deal with memory on Windows 11.
Full reinstall of CS:GO and the authoring tools were attempted, as well as reboots and updates to latest Windows 11 version. The authoring tools' launcher application managed to run once immediately after being installed, but now proceeds to crash in the exact same manner as Hammer. Launching from command-line with -nop4 -nosteam yields the same results. The exception codes are always consistent, and always originating from ntdll.dll.
Environment: Windows 11 21H2 build 22000.613, with Windows Feature Experience Pack 1000.22000.613.0, on an AMD x64 processor. CS:GO SDK Build ID 8554658, CS:GO Build ID 8554655. Non-CSGO Source SDK launcher and hammer versions run perfectly fine.
I have run this through VS Debugger with some additional output (-nop4 used): https://gist.github.com/emctague/a97b86ff525a90ef88e8ca911be262e8
Additionally, the call stack looks as follows:

I was unable to find a PDB for AcLayers that would allow me to debug this further.
I'm having this exact same issue. Please lmk if you figure it out.
Anything new here?