Unhandled exception launching games from Steam

Questions about Wine on Linux
Locked
cbamber85
Level 1
Level 1
Posts: 8
Joined: Thu May 03, 2012 4:31 pm

Unhandled exception launching games from Steam

Post by cbamber85 »

So after years of running a 'pure' Linux machine, I finally decided to install Wine so I could play some of my old games - and it's been a disaster. Using either Wine 1.5.3 or 1.3.3 trying to launch Half-Life Source results in nothing happening, trying to launch from the commandline gives this stack trace:

Code: Select all

wine: Unhandled page fault on read access to 0x00000000 at address 0x3ae67f (thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x003ae67f).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:003ae67f ESP:0033e434 EBP:0033fe70 EFLAGS:00010246(  R- --  I  Z- -P- )
 EAX:00000000 EBX:00000000 ECX:00000000 EDX:001253a0
 ESI:003cf560 EDI:0033e604
Stack dump:
0x0033e434:  00000000 00000000 00000000 00000000
0x0033e444:  00000000 00000000 00000000 00000000
0x0033e454:  00000000 00000000 00000000 00000000
0x0033e464:  00000000 00000000 00000000 7bcb6ff4
0x0033e474:  0033e4b4 7bc50e73 7bcbf8e0 07240001
0x0033e484:  07240002 7bc38171 00000000 7bcbf8e0
000c: sel=0067 base=00000000 limit=00000000 16-bit r-x
Backtrace:
=>0 0x003ae67f in filesystem_steam (+0xe67f) (0x0033fe70)
  1 0x7b85c56c call_process_entry+0xb() in kernel32 (0x0033fe88)
  2 0x7b85d7df in kernel32 (+0x4d7de) (0x0033fec8)
  3 0x7bc75940 call_thread_func_wrapper+0xb() in ntdll (0x0033fed8)
  4 0x7bc7878d call_thread_func+0x7c() in ntdll (0x0033ffa8)
  5 0x7bc7591e RtlRaiseException+0x21() in ntdll (0x0033ffc8)
  6 0x7bc4dbde call_dll_entry_point+0x33d() in ntdll (0x0033ffe8)
  7 0xf7639c8d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
  8 0xf7639d4b wine_switch_to_stack+0x2a() in libwine.so.1 (0xffdedbb8)
  9 0x7bc53806 LdrInitializeThunk+0x3b5() in ntdll (0xffdedc28)
  10 0x7b86377a __wine_kernel_init+0xa19() in kernel32 (0xffdeedc8)
  11 0x7bc53f5b __wine_process_init+0x25a() in ntdll (0xffdeee48)
  12 0xf7637208 wine_init+0x277() in libwine.so.1 (0xffdeeea8)
  13 0x7bf00e6b main+0x8a() in <wine-loader> (0xffdef2f8)
  14 0xf74a3003 __i686.get_pc_thunk.bx+0x1e4() in libc.so.6 (0x00000000)
0x003ae67f: movl	0x0(%ecx),%eax
Modules:
Module	Address			Debug info	Name (73 modules)
PE	  340000-  374000	Deferred        tier0
PE	  380000-  3a0000	Deferred        vstdlib
PE	  3a0000-  3d6000	Export          filesystem_steam
PE	  400000-  41c000	Deferred        hl2
PE	10000000-1002e000	Deferred        launcher
PE	2a000000-2a09f000	Deferred        shaderapidx9
PE	30000000-302d8000	Deferred        steam
ELF	7b800000-7ba40000	Dwarf           kernel32<elf>
  \-PE	7b810000-7ba40000	\               kernel32
ELF	7bc00000-7bcd3000	Dwarf           ntdll<elf>
  \-PE	7bc10000-7bcd3000	\               ntdll
ELF	7bf00000-7bf04000	Dwarf           <wine-loader>
ELF	7dc50000-7dd93000	Deferred        wined3d<elf>
  \-PE	7dc60000-7dd93000	\               wined3d
ELF	7dd93000-7ddd0000	Deferred        d3d9<elf>
  \-PE	7dda0000-7ddd0000	\               d3d9
ELF	7e0e4000-7e163000	Deferred        rpcrt4<elf>
  \-PE	7e0f0000-7e163000	\               rpcrt4
ELF	7e163000-7e28c000	Deferred        ole32<elf>
  \-PE	7e180000-7e28c000	\               ole32
ELF	7e2ba000-7e2f0000	Deferred        uxtheme<elf>
  \-PE	7e2c0000-7e2f0000	\               uxtheme
ELF	7e2f0000-7e3f5000	Deferred        comctl32<elf>
  \-PE	7e300000-7e3f5000	\               comctl32
ELF	7e3f5000-7e61b000	Deferred        shell32<elf>
  \-PE	7e400000-7e61b000	\               shell32
ELF	7e61b000-7e68f000	Deferred        shlwapi<elf>
  \-PE	7e630000-7e68f000	\               shlwapi
ELF	7e68f000-7e6b3000	Deferred        iphlpapi<elf>
  \-PE	7e6a0000-7e6b3000	\               iphlpapi
ELF	7e6b3000-7e6e7000	Deferred        ws2_32<elf>
  \-PE	7e6c0000-7e6e7000	\               ws2_32
ELF	7e6e7000-7e6f2000	Deferred        libxcursor.so.1
ELF	7e6f4000-7e710000	Deferred        wsock32<elf>
  \-PE	7e700000-7e710000	\               wsock32
ELF	7e7d5000-7e7ff000	Deferred        libexpat.so.1
ELF	7e7ff000-7e834000	Deferred        libfontconfig.so.1
ELF	7e834000-7e844000	Deferred        libxi.so.6
ELF	7e844000-7e848000	Deferred        libxcomposite.so.1
ELF	7e848000-7e851000	Deferred        libxrandr.so.2
ELF	7e851000-7e85c000	Deferred        libxrender.so.1
ELF	7e85c000-7e862000	Deferred        libxxf86vm.so.1
ELF	7e862000-7e866000	Deferred        libxinerama.so.1
ELF	7e866000-7e88a000	Deferred        imm32<elf>
  \-PE	7e870000-7e88a000	\               imm32
ELF	7e88a000-7e8aa000	Deferred        libxcb.so.1
ELF	7e8aa000-7e8b0000	Deferred        libuuid.so.1
ELF	7e8b0000-7e8cb000	Deferred        libice.so.6
ELF	7e8cb000-7ea07000	Deferred        libx11.so.6
ELF	7ea07000-7ea19000	Deferred        libxext.so.6
ELF	7ea19000-7ea22000	Deferred        libsm.so.6
ELF	7ea22000-7eab3000	Deferred        winex11<elf>
  \-PE	7ea30000-7eab3000	\               winex11
ELF	7eab3000-7eacb000	Deferred        libz.so.1
ELF	7eacb000-7eb54000	Deferred        libfreetype.so.6
ELF	7eb54000-7eb9e000	Deferred        libncurses.so.5
ELF	7eba8000-7ebaf000	Deferred        libxfixes.so.3
ELF	7ebbc000-7ec26000	Deferred        advapi32<elf>
  \-PE	7ebd0000-7ec26000	\               advapi32
ELF	7ec26000-7ecf6000	Deferred        gdi32<elf>
  \-PE	7ec30000-7ecf6000	\               gdi32
ELF	7ecf6000-7ee48000	Deferred        user32<elf>
  \-PE	7ed10000-7ee48000	\               user32
ELF	7efb7000-7efe2000	Deferred        libm.so.6
ELF	7efe2000-7efe6000	Deferred        libxau.so.6
ELF	7efe6000-7f000000	Deferred        version<elf>
  \-PE	7eff0000-7f000000	\               version
ELF	f7485000-f748a000	Deferred        libdl.so.2
ELF	f748a000-f75f7000	Dwarf           libc.so.6
ELF	f75f7000-f7612000	Deferred        libpthread.so.0
ELF	f7630000-f7774000	Dwarf           libwine.so.1
ELF	f7775000-f7796000	Deferred        ld-linux.so.2
ELF	ffffe000-fffff000	Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) H:\.local\share\wineprefixes\steam\dosdevices\c:\Program Files (x86)\Steam\steamapps\cbamber85\half-life source\hl2.exe
	00000023    2
	00000009    0 <==
0000000e services.exe
	0000001f    0
	0000001e    0
	00000018    0
	00000017    0
	00000015    0
	00000010    0
	0000000f    0
00000012 winedevice.exe
	0000001c    0
	00000019    0
	00000014    0
	00000013    0
0000001a plugplay.exe
	00000020    0
	0000001d    0
	0000001b    0
00000021 explorer.exe
	00000022    0
I'm using the proprietary nVidia drivers v295.40, I have the Steam in-game and cloud nonsense all turned off and the gameroverlayrenderer disabled. As suggested on the Steam page here, I installed corefonts, vcrun2005, vcrun2008, and d3dx9; all using winetricks (Steam was also installed using winetricks). My distro is openSUSE 12.1 64bit.

Out of desperation I tried running a brand new game, the Sanctum demo. This has been confirmed working over at SteamGamesOnLinux, but all I get is nothing happening in Steam, and this when ran from the commandline:

Code: Select all

err:module:import_dll Library d3dx9_43.dll (which is needed by L"H:\\.local\\share\\wineprefixes\\steam\\dosdevices\\c:\\Program Files (x86)\\Steam\\steamapps\\common\\sanctum\\Binaries\\Win32\\SanctumGame-Win32-Shipping.exe") not found
err:module:import_dll Library X3DAudio1_7.dll (which is needed by L"H:\\.local\\share\\wineprefixes\\steam\\dosdevices\\c:\\Program Files (x86)\\Steam\\steamapps\\common\\sanctum\\Binaries\\Win32\\SanctumGame-Win32-Shipping.exe") not found
err:module:import_dll Library XAPOFX1_5.dll (which is needed by L"H:\\.local\\share\\wineprefixes\\steam\\dosdevices\\c:\\Program Files (x86)\\Steam\\steamapps\\common\\sanctum\\Binaries\\Win32\\SanctumGame-Win32-Shipping.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"H:\\.local\\share\\wineprefixes\\steam\\dosdevices\\c:\\Program Files (x86)\\Steam\\steamapps\\common\\sanctum\\Binaries\\Win32\\SanctumGame-Win32-Shipping.exe" failed, status c0000135
Even though d3dx9_43.dll is in system32 of both the Steam and default wineprefixes. I must be doing something basic wrong, but I can't work out what - can anyone help?
cbamber85
Level 1
Level 1
Posts: 8
Joined: Thu May 03, 2012 4:31 pm

Post by cbamber85 »

Using info from here, hl2.exe spat out 4.7MB of debug in the blink of an eye... It all seems to go tits up here:

Code: Select all

004e:Ret  KERNEL32.InterlockedExchange() retval=00000001 ret=0040569e
004e:Call KERNEL32.GetLastError() ret=00403a37
004e:Ret  KERNEL32.GetLastError() retval=000000cb ret=00403a37
004e:Call KERNEL32.UnhandledExceptionFilter(0033dfc8) ret=004032b0
004e:Call KERNEL32.IsBadCodePtr(1001e07e) ret=003c4e16
004e:Ret  KERNEL32.IsBadCodePtr() retval=00000000 ret=003c4e16
004e:Call KERNEL32.IsBadCodePtr(00392635) ret=1001e132
004e:Ret  KERNEL32.IsBadCodePtr() retval=00000000 ret=1001e132
004e:Call KERNEL32.IsBadCodePtr(00358df8) ret=003926e9
004e:Ret  KERNEL32.IsBadCodePtr() retval=00000000 ret=003926e9
wine: Unhandled page fault on read access to 0x00000000 at address 0x3ae67f (thread 004e), starting debugger...
004e:Ret  KERNEL32.UnhandledExceptionFilter() retval=00000000 ret=004032b0
004e:Call KERNEL32.UnhandledExceptionFilter(0033dfb0) ret=7bc8b925
004e:Ret  KERNEL32.UnhandledExceptionFilter() retval=00000000 ret=7bc8b925
Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x003ae67f).
User avatar
dimesio
Moderator
Moderator
Posts: 13205
Joined: Tue Mar 25, 2008 10:30 pm

Re: Unhandled exception launching games from Steam

Post by dimesio »

cbamber85 wrote:

Code: Select all

err:module:import_dll Library d3dx9_43.dll (which is needed by L"H:\\.local\\share\\wineprefixes\\steam\\dosdevices\\c:\\Program Files (x86)\\Steam\\steamapps\\common\\sanctum\\Binaries\\Win32\\SanctumGame-Win32-Shipping.exe") not found
You need a 32 bit wineprefix. Create one with

Code: Select all

WINEARCH=win32 WINPREFIX=/path/to/wineprefix winecfg
(Substitute the actual path to the wineprefix.) Then install Steam and your games to the 32 bit wineprefix.
cbamber85
Level 1
Level 1
Posts: 8
Joined: Thu May 03, 2012 4:31 pm

Post by cbamber85 »

Thank you! I've gotten further (I think), but a different problem has emerged, I'll start a new thread for that though.
Locked