You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WowClassic.exe starts but never presents a window. The process stays alive indefinitely at ~120% CPU across 8 threads, looping forever on an alternating signal pair:
The SIGILL address is fixed within a run and varies between runs (ASLR), so the loop makes no forward progress. Both signals are caught and returned from via rt_sigreturn — nothing crashes, the process simply never exits the loop. Left alone, one instance accumulated 58 minutes of CPU time without ever drawing a window.
Other threads in the process sit idle in futex_waitv / pselect6 / readv throughout — only the main thread spins.
The game creates no Logs/ or Errors/ directory, and Proton's log records no unhandled exception. Both binaries load successfully:
trace:loaddll:build_module Loaded L"...\_classic_era_\WowClassic.exe" at 0000000140000000: native
trace:loaddll:build_module Loaded L"...\_classic_era_\WowClassic_loader.dll" at 00006FFFFA3C0000: native
Immediately before the loop begins, the Wine SEH trace shows exception c0000420 (STATUS_ASSERTION_FAILURE) raised inside WowClassic_loader.dll, dispatched to a vectored handler which returns 1, followed by RtlRestoreContext resuming normally:
Nothing is logged after that point — the process is still alive and spinning, but produces no further output.
This may be related to #5328 (WoW Classic _anniversary_ on Winlator + FEX): same game family, same WowClassic_loader.dll, loader loads successfully and then enters an infinite exception loop. Filing separately because both the platform (DGX Spark / Linux / Proton, rather than Winlator / Android) and the signal signature (SIGSEGV+SIGILL pair, rather than a NoExec + C0000005 storm) differ. Also possibly adjacent to #5512 (SC2 x64 on DGX Spark), a different Blizzard title failing in its protected startup path on the same hardware.
To Reproduce
Install the Canonical arm64 Steam snap on an NVIDIA DGX Spark (GB10) running DGX OS.
In Steam, add Battle.net-Setup.exe as a non-Steam game and force a Proton version under Properties → Compatibility.
Launch it, let Battle.net install and sign in, then install World of Warcraft Classic Era.
Press Play on WoW Classic Era in Battle.net.
No window ever appears. pgrep -if wowclassic shows WowClassic.exe alive; ps -o pid,stat,pcpu,etime,comm shows state R at ~120% CPU.
sudo strace -f -p <pid> shows the SIGSEGV/SIGILL loop above.
Additional notes on reproduction:
Launching WowClassic.exe directly as a separate non-Steam game (with STEAM_COMPAT_DATA_PATH pointed at the same prefix) fails identically, so the Battle.net agent is not a factor. The Agent's own log confirms it spawns the game with real PIDs — the launch itself succeeds.
Battle.net's Agent records the install as complete (OP_UPDATE for 'wow_classic_era' completed), and AgentErrors contains only benign Wine noise (SetSecurityInfo ACL failures and .product.db probes of non-Blizzard directories).
Steam's "Stop" button does not terminate the hung process — it must be killed with pkill -if wowclassic. Three orphaned instances accumulated this way before I noticed.
Expected behavior
The game launches and presents its login window.
Screenshots and Video
Not applicable — no window is ever created, on any port or display.
System information:
OS: DGX OS 7.5.0 (Ubuntu 24.04 based), kernel 6.17.0-1032-nvidia, aarch64
Thunks Enabled: No — the Canonical snap ships thunking disabled by default and I have not changed it
Additional context
Is this an x86 or x86-64 game: x86-64 (retail WoW Classic Era is 64-bit only; there is no 32-bit client to fall back to, unlike the SC2 case in [StarCraft II]: SC2 x64 fails to start #5512)
Does this reproduce on AArch64 with Radeon/Intel/Nvidia: Nvidia (GB10). Untested on Radeon or Intel — I don't have other AArch64 hardware.
Is this a Vulkan game: Yes, indirectly — WoW's own renderer is DX11/DX12, reaching Vulkan through DXVK / VKD3D-Proton
If Yes, What is your Vulkan driver: NVIDIA proprietary 580.173.02. vulkaninfo --summary reports NVIDIA GB10, PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU, conformanceVersion 1.4.1.3, with nvidia-drm modeset=1.
Proton versions tested — all fail identically
Proton version
Result
Proton Experimental
SIGSEGV/SIGILL loop, ~120% CPU, no window
Proton 10.0
Identical
Proton Hotfix
Identical
Same signal pair and same fixed-address loop in all three, so the Wine layer does not appear to be the variable here.
Note on FEX version — why I could not test 2608/2609
I am aware 2603 is several releases behind, and that FEX-2608 in particular contains changes that looked potentially relevant to a NULL-address SIGSEGV (the inactive JIT guard page fix, and the VirtualProtect fix under WINE). I was unable to test a newer FEX on this configuration:
The Canonical arm64 Steam snap pins FEX 2603. All channels — latest/stable, latest/candidate, latest/edge — currently sit on revision 245 (published 2026-04-09, promoted to stable 2026-06-02), so snap refresh offers no newer build.
GE-Proton11-6-aarch64, which bundles a newer FEX, cannot be used inside the snap. Its toolmanifest.vdf declares require_tool_appid 4185400; the snap's installed runtimes are SteamLinuxRuntime, SteamLinuxRuntime_4, SteamLinuxRuntime_sniper and SteamLinuxRuntime_soldier. Steam reports a compatibility tool failure, and requesting the missing runtime via steam://install/4185400 produces no entry in content_log.txt.
If there's a supported way to get a current FEX onto this configuration, I'm happy to retest and report back — the hardware is available for testing.
What Game
World of Warcraft Classic Era —
_classic_era_/WowClassic.exeStorefront: https://www.blizzard.com/en-us/games/wow-classic — installed through the Battle.net client, which was itself run as a non-Steam game under Proton.
Describe the bug
WowClassic.exestarts but never presents a window. The process stays alive indefinitely at ~120% CPU across 8 threads, looping forever on an alternating signal pair:The SIGILL address is fixed within a run and varies between runs (ASLR), so the loop makes no forward progress. Both signals are caught and returned from via
rt_sigreturn— nothing crashes, the process simply never exits the loop. Left alone, one instance accumulated 58 minutes of CPU time without ever drawing a window.Full context from a single iteration:
Other threads in the process sit idle in
futex_waitv/pselect6/readvthroughout — only the main thread spins.The game creates no
Logs/orErrors/directory, and Proton's log records no unhandled exception. Both binaries load successfully:Immediately before the loop begins, the Wine SEH trace shows exception
c0000420(STATUS_ASSERTION_FAILURE) raised insideWowClassic_loader.dll, dispatched to a vectored handler which returns 1, followed byRtlRestoreContextresuming normally:The final line written to the Proton log, roughly half a second later:
Nothing is logged after that point — the process is still alive and spinning, but produces no further output.
This may be related to #5328 (WoW Classic
_anniversary_on Winlator + FEX): same game family, sameWowClassic_loader.dll, loader loads successfully and then enters an infinite exception loop. Filing separately because both the platform (DGX Spark / Linux / Proton, rather than Winlator / Android) and the signal signature (SIGSEGV+SIGILL pair, rather than a NoExec + C0000005 storm) differ. Also possibly adjacent to #5512 (SC2 x64 on DGX Spark), a different Blizzard title failing in its protected startup path on the same hardware.To Reproduce
Battle.net-Setup.exeas a non-Steam game and force a Proton version under Properties → Compatibility.pgrep -if wowclassicshowsWowClassic.exealive;ps -o pid,stat,pcpu,etime,commshows stateRat ~120% CPU.sudo strace -f -p <pid>shows the SIGSEGV/SIGILL loop above.Additional notes on reproduction:
WowClassic.exedirectly as a separate non-Steam game (withSTEAM_COMPAT_DATA_PATHpointed at the same prefix) fails identically, so the Battle.net agent is not a factor. The Agent's own log confirms it spawns the game with real PIDs — the launch itself succeeds.OP_UPDATE for 'wow_classic_era' completed), andAgentErrorscontains only benign Wine noise (SetSecurityInfoACL failures and.product.dbprobes of non-Blizzard directories).pkill -if wowclassic. Three orphaned instances accumulated this way before I noticed.Expected behavior
The game launches and presents its login window.
Screenshots and Video
Not applicable — no window is ever created, on any port or display.
System information:
nvidia-driver-580-open), CUDA 13.0, Vulkan loader 1.4.328, device reportsapiVersion 1.4.312,driverID DRIVER_ID_NVIDIA_PROPRIETARYgaming-graphics-core2425.3.1kisak1n rev 19FEXGetConfig --versionreports2603)Additional context
vulkaninfo --summaryreportsNVIDIA GB10,PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,conformanceVersion 1.4.1.3, withnvidia-drm modeset=1.Proton versions tested — all fail identically
Same signal pair and same fixed-address loop in all three, so the Wine layer does not appear to be the variable here.
Note on FEX version — why I could not test 2608/2609
I am aware 2603 is several releases behind, and that FEX-2608 in particular contains changes that looked potentially relevant to a NULL-address SIGSEGV (the inactive JIT guard page fix, and the VirtualProtect fix under WINE). I was unable to test a newer FEX on this configuration:
latest/stable,latest/candidate,latest/edge— currently sit on revision 245 (published 2026-04-09, promoted to stable 2026-06-02), sosnap refreshoffers no newer build.toolmanifest.vdfdeclaresrequire_tool_appid 4185400; the snap's installed runtimes areSteamLinuxRuntime,SteamLinuxRuntime_4,SteamLinuxRuntime_sniperandSteamLinuxRuntime_soldier. Steam reports a compatibility tool failure, and requesting the missing runtime viasteam://install/4185400produces no entry incontent_log.txt.If there's a supported way to get a current FEX onto this configuration, I'm happy to retest and report back — the hardware is available for testing.