View previous topic :: View next topic |
Author |
Message |
Atha Apprentice
Joined: 22 Sep 2004 Posts: 228
|
Posted: Wed May 02, 2018 6:41 pm Post subject: [SOLVED] Wine: Unhandled exception; from Konsole(KDE/Plasma) |
|
|
Hi!
I wonder if anyone else has experienced this strange behaviour of Wine?
What I do is the following: I have a ~/.wine directory where I use WINEPREFIX to make the subdirectories unique for every game (or program) I install. So, for example, I installed System Shock 2 (GOG version) in the Konsole (from KDE/Plasma Desktop, i.e. /usr/bin/konsole, =kde-apps/konsole-17.12.3). This is the command:
Code: | WINEARCH=win32 WINEPREFIX="~/.wine/System Shock 2" winecfg |
With this command all the necessary files are created. I then put the GOG installer into drive_c (~/.wine/System Shock 2/drive_c/INST/setup.exe, setup.exe being a symlink to setup_system_shock2_2.3.0.11.exe). Then I run the installer, also prefixed:
Code: | WINEARCH=win32 WINEPREFIX=~/.wine/System\ Shock\ 2 "C:\\INST\\setup.exe" |
So far so good, as the installer has some issues at the end:
Code: | $ WINEARCH=win32 WINEPREFIX=~/.wine/System\ Shock\ 2 wine "C:\\INST\\setup.exe"
000b:fixme:winediag:start_process Wine Staging 3.7 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
0009:fixme:process:SetProcessDEPPolicy (1): stub
002e:fixme:process:SetProcessDEPPolicy (1): stub
002e:fixme:win:DisableProcessWindowsGhosting : stub
002e:fixme:graphics:ShutdownBlockReasonDestroy (0x1008c): stub
002e:fixme:graphics:ShutdownBlockReasonCreate (0x1008c, L"Installing"): stub
002e:fixme:graphics:ShutdownBlockReasonDestroy (0x1008c): stub
002e:fixme:graphics:ShutdownBlockReasonCreate (0x1008c, L"Installing System Shock 2."): stub
002e:fixme:msg:ChangeWindowMessageFilterEx 0x1009e c05a 1 (nil)
002e:fixme:msg:ChangeWindowMessageFilterEx 0x2009e c05a 1 (nil)
002e:fixme:msg:ChangeWindowMessageFilterEx 0x100a6 c05a 1 (nil)
002e:fixme:msg:ChangeWindowMessageFilterEx 0x200a6 c05a 1 (nil)
002e:fixme:shell:SHAutoComplete stub
002e:fixme:msg:ChangeWindowMessageFilterEx 0x300ac c05a 1 (nil)
002e:fixme:wincodecs:JpegDecoder_Frame_CopyPalette (0x202714,0x1b3408): stub
002e:fixme:gdiplus:resample_bitmap_pixel_premult Unimplemented interpolation 6
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100f2 enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100f2 enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100f0 enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100f0 enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100fe enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100fe enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ee enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ee enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ea enable 0: stub!
002e:fixme:sfc:SfcIsFileProtected ((nil), L"C:\\GOG Games\\System Shock 2\\unins000.exe") stub
002e:fixme:win:WINNLSEnableIME hwnd 0x100ea enable -1: stub!
002e:fixme:exec:SHELL_execute flags ignored: 0x00000100
0038:fixme:clusapi:GetNodeClusterState ((null),0x33ebc4) stub!
0038:fixme:advapi:DecryptFileA ("c:\\d4b2c0feca385543faccb14214\\", 00000000): stub
003b:fixme:kerberos:kerberos_SpInstanceInit 65536,0x7dc5a300,(nil): stub
003b:fixme:ntdll:EtwRegisterTraceGuidsW (0x6cd15f38, 0x6cd20180, {e2821408-c59d-418f-ad3f-aa4e792aeb79}, 1, 0x33ea00, (null), (null), 0x6cd20188): stub
003b:fixme:ntdll:EtwRegisterTraceGuidsW register trace class {e2821408-c59d-418f-ad3f-aa4e792aeb79}
003b:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
003b:fixme:process:SetProcessDEPPolicy (1): stub
003b:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
003b:fixme:thread:SetThreadStackGuarantee (0x33fba8): stub
003b:fixme:advapi:GetWindowsAccountDomainSid (0x33f404 0x1c29e4 0x33f400): semi-stub
003b:fixme:secur32:GetComputerObjectNameW NameFormat 7 not implemented
003b:fixme:msxml:domdoc_putref_schemas (0x1c32e8)->(0x33f3e0 {VT_DISPATCH: 0x1abf64}): semi-stub
003b:fixme:msxml:domdoc_get_readyState stub! (0x1c32e8)->(0x33f3c8)
003c:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId="1.3.6.1.4.1.311.2.1.25"
003c:fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
003c:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId="1.3.6.1.4.1.311.2.1.30"
003c:fixme:wintrust:SOFTPUB_VerifyImageHash Cannot verify hash for pszObjId="1.3.6.1.4.1.311.2.1.30"
003d:fixme:msi:is_uninstallable check other criteria
003b:fixme:advapi:GetWindowsAccountDomainSid (0x33f254 0x81120c 0x33f250): semi-stub
003b:fixme:secur32:GetComputerObjectNameW NameFormat 7 not implemented
003b:fixme:ntdll:EtwUnregisterTraceGuids deadbeef: stub
002e:fixme:exec:SHELL_execute flags ignored: 0x00000100
0042:fixme:shutdown:wmain stub: L"shutdown" L"/a"
002e:fixme:exec:SHELL_execute flags ignored: 0x00000100
002e:fixme:gameux:GameExplorerImpl_VerifyAccess (0x2078bc8, L"C:\\GOG Games\\System Shock 2\\goggame-1207659172.dll", 0x33d268)
0047:fixme:gameux:GAMEUX_ProcessGameDefinitionElement entry L"ReleaseDate" in Game Definition File not yet supported
0047:fixme:gameux:GAMEUX_ProcessGameDefinitionElement entry L"Genres" in Game Definition File not yet supported
0047:fixme:gameux:GAMEUX_ProcessGameDefinitionElement entry L"Ratings" in Game Definition File not yet supported
0047:fixme:gameux:GAMEUX_ProcessGameDefinitionElement entry L"Version" in Game Definition File not yet supported
0047:fixme:gameux:GAMEUX_ProcessGameDefinitionElement entry L"Developers" in Game Definition File not yet supported
0047:fixme:gameux:GAMEUX_ProcessGameDefinitionElement entry L"Publishers" in Game Definition File not yet supported
0047:fixme:gameux:GAMEUX_ProcessGameDefinitionElement entry L"GameExecutables" in Game Definition File not yet supported
0047:fixme:gameux:GAMEUX_ProcessGameDefinitionElement entry L"ExtendedProperties" in Game Definition File not yet supported
002e:fixme:shell:FolderItemsImpl_Item Index type 16396 not handled.
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x100ec enable -1: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x30134 enable 0: stub!
002e:fixme:win:WINNLSEnableIME hwnd 0x30134 enable -1: stub!
002e:fixme:graphics:ShutdownBlockReasonDestroy (0x1008c): stub |
These are the 4 windows I get towards the end of the installation (the window title is always "Setup <2>"):
Code: | Setup <2>
Runtime Error (at 69:786):
: |
Code: | Setup <2>
Runtime Error (at 204:800):
Invalid Opcode. |
Code: | Setup <2>
Runtime Error (at 204:807):
Out of Global Vars range. |
Code: | Setup <2>
Out of Global Vars range. |
Despite those error messages the installation seems to be successful.
So now this is the strange thing:
- When I start System Shock 2 from the menu (KDE/Plasma), it starts, runs, works...
- When I start System Shock 2 from the Terminal (Konsole), it fails with a an "Unhandled exception"...
This is the console log when it fails, copied from Konsole:
Code: | $ WINEARCH=win32 WINEPREFIX=~/.wine/System\ Shock\ 2 wine "C:\\GOG Games\\System Shock 2\\start.exe"
000b:fixme:winediag:start_process Wine Staging 3.7 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
0009:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub
wine: Unhandled page fault on read access to 0x00000000 at address 0x4ad30b (thread 002f), starting debugger... |
The backtrace.txt saved is this:
Code: | Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x004ad30b).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
EIP:004ad30b ESP:0033f95c EBP:00000000 EFLAGS:00010202( R- -- I - - - )
EAX:00000000 EBX:00d25580 ECX:8bee2342 EDX:006a4a20
ESI:00d27eb0 EDI:00000000
Stack dump:
0x0033f95c: 0074f868 00744a5c 00000007 00d25660
0x0033f96c: 00d25580 00d27eb0 00454c2c 00000000
0x0033f97c: 00d7d750 00000000 00d25660 00d241c8
0x0033f98c: 00000000 00d7d750 00000015 004a4a35
0x0033f99c: 00d241c8 0074a14c 004a4dbf 8bee23de
0x0033f9ac: 0000000a 00000017 00000034 00000015
Backtrace:
=>0 0x004ad30b in shock2 (+0xad30b) (0x00000000)
0x004ad30b: movl 0x0(%edi),%ecx
Modules:
Module Address Debug info Name (189 modules)
PE 400000- d13000 Export shock2
PE 10000000-10009000 Deferred lgvid
ELF 7307b000-73082000 Deferred libattr.so.1
ELF 73082000-7309c000 Deferred libgpg-error.so.0
ELF 7309c000-730b5000 Deferred libresolv.so.2
ELF 730b5000-73141000 Deferred libvorbisenc.so.2
ELF 73141000-73172000 Deferred libvorbis.so.0
ELF 73172000-7317a000 Deferred libogg.so.0
ELF 7317a000-731c7000 Deferred libflac.so.8
ELF 731c7000-731e0000 Deferred liblz4.so.1
ELF 731e0000-732db000 Deferred libgcrypt.so.20
ELF 732db000-7337f000 Deferred libsndfile.so.1
ELF 7337f000-73441000 Deferred libsystemd.so.0
ELF 73441000-73461000 Deferred libice.so.6
ELF 73461000-734c1000 Deferred libdbus-1.so.3
ELF 734c1000-7356a000 Deferred libpulsecommon-11.1.so
ELF 7356a000-735d6000 Deferred libpulse.so.0
ELF 7362a000-73658000 Deferred winepulse<elf>
\-PE 73630000-73658000 \ winepulse
ELF 73658000-737ae000 Deferred oleaut32<elf>
\-PE 73670000-737ae000 \ oleaut32
ELF 737ae000-73800000 Deferred dinput<elf>
\-PE 737c0000-73800000 \ dinput
ELF 73b03000-73b0a000 Deferred libcap.so.2
ELF 73b0a000-73b11000 Deferred libuuid.so.1
ELF 73b11000-73b1b000 Deferred librt.so.1
ELF 73b1b000-73b40000 Deferred mmdevapi<elf>
\-PE 73b20000-73b40000 \ mmdevapi
ELF 73f05000-73f0b000 Deferred libasyncns.so.0
ELF 73f0b000-73f17000 Deferred libwrap.so.0
ELF 78b7e000-78be2000 Deferred libncurses.so.6
ELF 78ce2000-78d12000 Deferred liblzma.so.5
ELF 78d12000-78d2f000 Deferred libgcc_s.so.1
ELF 78f49000-78f6b000 Deferred libllvmdemangle.so.5
ELF 78f6b000-790e6000 Deferred libllvmsupport.so.5
ELF 790e6000-790ff000 Deferred libllvmbinaryformat.so.5
ELF 790ff000-793e7000 Deferred libllvmcore.so.5
ELF 793e7000-794b8000 Deferred libllvmmc.so.5
ELF 794b8000-794df000 Deferred libllvmamdgpuutils.so.5
ELF 794df000-7951d000 Deferred libllvmamdgpuasmprinter.so.5
ELF 7951d000-7964e000 Deferred libllvmamdgpudesc.so.5
ELF 7964e000-7969e000 Deferred libllvmmcparser.so.5
ELF 7969e000-79736000 Deferred libllvmamdgpuasmparser.so.5
ELF 79736000-797a2000 Deferred libllvmbitreader.so.5
ELF 797a2000-7986e000 Deferred libllvmobject.so.5
ELF 7986e000-798c4000 Deferred libllvmprofiledata.so.5
ELF 798c4000-79c91000 Deferred libllvmanalysis.so.5
ELF 79c91000-79cdc000 Deferred libllvmbitwriter.so.5
ELF 79cdc000-79ed4000 Deferred libllvmtransformutils.so.5
ELF 79ed4000-79ff3000 Deferred libllvminstcombine.so.5
ELF 79ff3000-7a30f000 Deferred libllvmscalaropts.so.5
ELF 7a30f000-7a800000 Deferred libllvmcodegen.so.5
ELF 7a800000-7a955000 Deferred opengl32<elf>
\-PE 7a820000-7a955000 \ opengl32
ELF 7a95a000-7aa0b000 Deferred libllvmdebuginfocodeview.so.5
ELF 7aa0b000-7aadc000 Deferred libllvmasmprinter.so.5
ELF 7aadc000-7ab49000 Deferred libllvmasmparser.so.5
ELF 7ab49000-7abed000 Deferred libllvmvectorize.so.5
ELF 7abed000-7acd6000 Deferred libllvminstrumentation.so.5
ELF 7acd6000-7ae1a000 Deferred libllvmipo.so.5
ELF 7ae1a000-7b10f000 Deferred libllvmselectiondag.so.5
ELF 7b10f000-7b16c000 Deferred libllvmglobalisel.so.5
ELF 7b16c000-7b38a000 Deferred libllvmamdgpucodegen.so.5
ELF 7b38a000-7b400000 Deferred libllvmruntimedyld.so.5
ELF 7b400000-7b803000 Deferred kernel32<elf>
\-PE 7b420000-7b803000 \ kernel32
ELF 7b808000-7b81a000 Deferred libllvmtarget.so.5
ELF 7b81a000-7b82d000 Deferred libllvmdebuginfomsf.so.5
ELF 7b82d000-7b854000 Deferred libllvmlinker.so.5
ELF 7b854000-7bc00000 Deferred libllvmx86codegen.so.5
ELF 7bc00000-7bd46000 Deferred ntdll<elf>
\-PE 7bc40000-7bd46000 \ ntdll
ELF 7bd49000-7bd52000 Deferred libxtst.so.6
ELF 7bd52000-7bd5b000 Deferred libllvmirreader.so.5
ELF 7bd5b000-7bd65000 Deferred libllvmmcdisassembler.so.5
ELF 7bd65000-7bd96000 Deferred libllvmamdgpudisassembler.so.5
ELF 7bd96000-7bdc1000 Deferred libllvmexecutionengine.so.5
ELF 7bdc1000-7bdd4000 Deferred libllvmmcjit.so.5
ELF 7bdd4000-7bf4c000 Deferred libllvmx86desc.so.5
ELF 7bf4c000-7c000000 Deferred libllvmx86asmparser.so.5
ELF 7c000000-7c004000 Deferred <wine-loader>
ELF 7c005000-7c008000 Deferred libllvmamdgpuinfo.so.5
ELF 7c008000-7c018000 Deferred libllvmx86utils.so.5
ELF 7c018000-7c071000 Deferred libllvmx86asmprinter.so.5
ELF 7c071000-7c1d9000 Deferred libllvmx86disassembler.so.5
ELF 7c1d9000-7c1de000 Deferred libllvmbpfasmprinter.so.5
ELF 7c1de000-7c1e9000 Deferred libllvmbpfdesc.so.5
ELF 7c1e9000-7c210000 Deferred libllvmbpfcodegen.so.5
ELF 7c210000-7c257000 Deferred libllvmnvptxdesc.so.5
ELF 7c257000-7c309000 Deferred libllvmnvptxcodegen.so.5
ELF 7c309000-7c400000 Deferred libllvmpasses.so.5
ELF 7c406000-7c40b000 Deferred libllvmbpfdisassembler.so.5
ELF 7c40b000-7c434000 Deferred libllvmcoverage.so.5
ELF 7c434000-7c49c000 Deferred libllvmlto.so.5
ELF 7c49c000-7d1b3000 Deferred radeonsi_dri.so
ELF 7d29b000-7d29e000 Deferred libllvmx86info.so.5
ELF 7d29e000-7d2bc000 Deferred libllvmnvptxasmprinter.so.5
ELF 7d2bc000-7d2e9000 Deferred libllvmobjcarcopts.so.5
ELF 7d2e9000-7d2fe000 Deferred libllvmoption.so.5
ELF 7d2fe000-7d327000 Deferred libllvmcoroutines.so.5
ELF 7d327000-7d347000 Deferred libelf.so.1
ELF 7d347000-7d355000 Deferred libdrm_amdgpu.so.1
ELF 7d359000-7d364000 Deferred libsm.so.6
ELF 7d3a9000-7d3c1000 Deferred libdrm.so.2
ELF 7d3c1000-7d3c7000 Deferred libxcb-dri2.so.0
ELF 7d3c7000-7d3e5000 Deferred libxcb-glx.so.0
ELF 7d3e5000-7d3e8000 Deferred libx11-xcb.so.1
ELF 7d3e8000-7d3ec000 Deferred libxdamage.so.1
ELF 7d3ec000-7d41e000 Deferred libglapi.so.0
ELF 7d41e000-7d421000 Deferred libxshmfence.so.1
ELF 7d421000-7d429000 Deferred libxcb-sync.so.1
ELF 7d429000-7d4bc000 Deferred libgl.so.1
ELF 7d4bc000-7d4bf000 Deferred libllvmbpfinfo.so.5
ELF 7d4bf000-7d4c2000 Deferred libllvmnvptxinfo.so.5
ELF 7d4c2000-7d4d1000 Deferred libdrm_radeon.so.1
ELF 7d4d1000-7d4ea000 Deferred libunwind.so.8
ELF 7d510000-7d67e000 Deferred wined3d<elf>
\-PE 7d520000-7d67e000 \ wined3d
ELF 7d67e000-7d701000 Deferred ddraw<elf>
\-PE 7d690000-7d701000 \ ddraw
ELF 7d701000-7d755000 Deferred dsound<elf>
\-PE 7d710000-7d755000 \ dsound
ELF 7d755000-7d75d000 Deferred libxfixes.so.3
ELF 7d75d000-7d76a000 Deferred libxcursor.so.1
ELF 7d76a000-7d76e000 Deferred libxcb-present.so.0
ELF 7d76e000-7d778000 Deferred libxcb-xfixes.so.0
ELF 7d778000-7d77c000 Deferred libxcb-dri3.so.0
ELF 7d77c000-7d782000 Deferred libtxc_dxtn.so
ELF 7d782000-7d7bc000 Deferred uxtheme<elf>
\-PE 7d790000-7d7bc000 \ uxtheme
ELF 7d9ca000-7da00000 Deferred libexpat.so.1
ELF 7da00000-7da51000 Deferred libfontconfig.so.1
ELF 7da51000-7da6c000 Deferred libz.so.1
ELF 7da6c000-7dab3000 Deferred libpng16.so.16
ELF 7dab3000-7dac5000 Deferred libbz2.so.1
ELF 7dac5000-7dba4000 Deferred libfreetype.so.6
ELF 7dba4000-7dbba000 Deferred libxi.so.6
ELF 7dbba000-7dbc9000 Deferred libxrandr.so.2
ELF 7dbc9000-7dbd7000 Deferred libxrender.so.1
ELF 7dbd7000-7dbdf000 Deferred libxxf86vm.so.1
ELF 7dbdf000-7dc0f000 Deferred libxcb.so.1
ELF 7dc0f000-7dd7c000 Deferred libx11.so.6
ELF 7ddd0000-7de6c000 Deferred winex11<elf>
\-PE 7dde0000-7de6c000 \ winex11
ELF 7de6c000-7df42000 Deferred msvcr90<elf>
\-PE 7de90000-7df42000 \ msvcr90
ELF 7df42000-7e0ba000 Deferred msvcp90<elf>
\-PE 7df90000-7e0ba000 \ msvcp90
ELF 7e0ba000-7e148000 Deferred rpcrt4<elf>
\-PE 7e0d0000-7e148000 \ rpcrt4
ELF 7e148000-7e2cb000 Deferred ole32<elf>
\-PE 7e160000-7e2cb000 \ ole32
ELF 7e2cb000-7e2f1000 Deferred imm32<elf>
\-PE 7e2d0000-7e2f1000 \ imm32
ELF 7e2f1000-7e33a000 Deferred usp10<elf>
\-PE 7e300000-7e33a000 \ usp10
ELF 7e33a000-7e486000 Deferred comctl32<elf>
\-PE 7e340000-7e486000 \ comctl32
ELF 7e486000-7e508000 Deferred shlwapi<elf>
\-PE 7e490000-7e508000 \ shlwapi
ELF 7e508000-7e84d000 Deferred shell32<elf>
\-PE 7e520000-7e84d000 \ shell32
ELF 7e84d000-7e8d3000 Deferred advapi32<elf>
\-PE 7e860000-7e8d3000 \ advapi32
ELF 7e8d3000-7ea14000 Deferred gdi32<elf>
\-PE 7e8e0000-7ea14000 \ gdi32
ELF 7ea14000-7ec51000 Deferred user32<elf>
\-PE 7ea30000-7ec51000 \ user32
ELF 7ec51000-7ed10000 Deferred winmm<elf>
\-PE 7ec60000-7ed10000 \ winmm
ELF 7ed10000-7ed1e000 Deferred libnss_files.so.2
ELF 7ed1e000-7ed2d000 Deferred libnss_nis.so.2
ELF 7ed2d000-7ed4a000 Deferred libnsl.so.1
ELF 7ef4a000-7efac000 Deferred libm.so.6
ELF 7efac000-7efb1000 Deferred libxcomposite.so.1
ELF 7efb1000-7efca000 Deferred libxext.so.6
ELF 7efca000-7efe5000 Deferred aclui<elf>
\-PE 7efd0000-7efe5000 \ aclui
ELF 7efe5000-7f000000 Deferred version<elf>
\-PE 7eff0000-7f000000 \ version
ELF f7af4000-f7afc000 Deferred libxdmcp.so.6
ELF f7afe000-f7b03000 Deferred libdl.so.2
ELF f7b03000-f7ce2000 Deferred libc.so.6
ELF f7ce2000-f7d04000 Deferred libpthread.so.0
ELF f7d05000-f7d10000 Deferred libnss_compat.so.2
ELF f7d53000-f7d58000 Deferred libxau.so.6
ELF f7d58000-f7f26000 Dwarf libwine.so.1
ELF f7f28000-f7f4f000 Deferred ld-linux.so.2
ELF f7f52000-f7f53000 Deferred [vdso].so
Threads:
process tid prio (all id:s are in hex)
0000000e services.exe
[C:\windows\system32\services.exe]
00000024 0
0000001f 0
00000017 0
00000016 0
00000015 0
00000012 0
0000000f 0
00000010 explorer.exe
[C:\windows\system32\explorer.exe /desktop]
0000002c 0
0000002b 0
0000002a 0
00000011 0
00000013 winedevice.exe
[C:\windows\system32\winedevice.exe]
0000001c 0
00000019 0
00000018 0
00000014 0
0000001d plugplay.exe
[C:\windows\system32\plugplay.exe]
00000021 0
00000020 0
0000001e 0
00000022 winedevice.exe
[C:\windows\system32\winedevice.exe]
00000029 0
00000026 0
00000025 0
00000023 0
0000002e (D) C:\GOG Games\System Shock 2\Shock2.exe
[Shock2.exe]
00000034 15
00000033 15
00000032 0
0000002f 0 <==
00000037 explorer.exe
[C:\windows\system32\explorer.exe /desktop]
0000003b 0
0000003a 0
00000039 0
00000038 0
System information:
Platform: i386
Version: Windows XP
|
I get the exact same result when using this command (1:1 from the .desktop entry), only that the traceback is appended to the console output.
Code: | env WINEARCH=win32 WINEPREFIX="/home/<USERNAME>/.wine/System Shock 2" /usr/bin/wine "/home/<USERNAME>/.wine/System Shock 2/drive_c/GOG Games/System Shock 2/Shock2.exe" |
But the same installation works when started with this freedesktop application entry (~/.local/share/applications/System Shock 2.desktop):
Code: | [Desktop Entry]
Encoding=UTF-8
Exec=env WINEARCH=win32 WINEPREFIX="/home/<USERNAME>/.wine/System Shock 2" /usr/bin/wine "/home/<USERNAME>/.wine/System Shock 2/drive_c/GOG Games/System Shock 2/Shock2.exe"
Path=/home/<USERNAME>/.wine/System Shock 2/drive_c/GOG Games/System Shock 2
Icon=/home/<USERNAME>/.wine/System Shock 2/drive_c/GOG Games/System Shock 2/shock2.png
Name=System Shock 2
GenericName=System Shock 2
Comment=
StartupNotify=false
Terminal=false
Type=Application
X-KDE-SubstituteUID=false
Categories=Game;RolePlaying; |
<USERNAME> is the real username, e.g. "gaming" in my case, since $HOME and ~ doesn't work in a .desktop file.
Sidenote: the only modifcation is that I put shock2.png into the installation directory for the icon.
BTW, the automaticly created wine desktop entry ~/.local/share/applications/wine/Programs/GOG.com/System Shock 2/System Shock 2.desktop has the same contents and works likewise.
So the BIG question is:
Why is starting WINE from the Konsole any different than starting it via the freedesktop application entry from the KDE menu?
And, have any of you also experienced this strange behaviour?
Could it be a WINE issue or rather a Konsole issue? What can I try to find out?
One more information: I have similar issues with other GOG.com and Humble Bundle games for Windows, but not all of them crash. Sim City 3000 for example works when started from the Konsole (WINEPREFIX=~/.wine/Sim\ City\ 3000).
Thanks in advance, Atha
Last edited by Atha on Fri May 04, 2018 5:30 pm; edited 1 time in total |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21490
|
Posted: Thu May 03, 2018 2:21 am Post subject: |
|
|
The faulting instruction appears to be in the game, so this is a game bug. Most likely, Wine raises some error that Windows does not, and the game developers wrongly assumed nothing could possibly go wrong here, so they do not handle the error gracefully. Bug the developers not to dereference null pointers.
As for why, the two paths likely differ in some key environmental factor. Do both paths launch with all the same groups? Are the environment variables the same? |
|
Back to top |
|
|
Atha Apprentice
Joined: 22 Sep 2004 Posts: 228
|
Posted: Thu May 03, 2018 5:27 pm Post subject: |
|
|
Hu wrote: | The faulting instruction appears to be in the game, so this is a game bug. Most likely, Wine raises some error that Windows does not, and the game developers wrongly assumed nothing could possibly go wrong here, so they do not handle the error gracefully. Bug the developers not to dereference null pointers. |
You refer to the errors when installing the game? This is the GOG installer for Windows, not the actual game that causes the error messages.
Or do you refer to the page fault when the game is run? It must be something else because the game works perfectly when I run it from the desktop (not from the Konsole on the same desktop).
Hu wrote: | As for why, the two paths likely differ in some key environmental factor. Do both paths launch with all the same groups? Are the environment variables the same? |
I guess that's what makes the difference. I never noticed any other programs with such strange behaviour. For example, in the Konsole I regularly use the Midnight Commander (I actually prefer it over all graphical file managers, even Dolphin). Midnight Commander is configured to launch my preferred X application for each file type, e.g. on an image (like .jpg) it will launch Gwenview. Hitting enter on a video file (like .mkv) launches VLC.
It may well be that those instances are executed in a different environment, but they work like they would if I ran them directly from the desktop. Except for Wine that is...
Is there a way to dump the environment into a file to see what the difference really is?
I ran "env > /tmp/env.txt" on the deskop (in KDE you can run a command directly from a command line reached by the default keybindings Alt+F2) and from the Konsole, then used diff on them. This is what I get:
Code: |
# diff /tmp/env-Konsole.txt /tmp/env-desktop.txt
<
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd
=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=
34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01
;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.
tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.
lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31
:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01
;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.
zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31
:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.
gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;
35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.
mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;
35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.
qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35
:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;
35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.cfg=00;32:*.
conf=00;32:*.diff=00;32:*.doc=00;32:*.ini=00;32:*.log=00;32:*.patch=00;32:*.pdf=
00;32:*.ps=00;32:*.tex=00;32:*.txt=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.
m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;
36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
4a4
> _=/usr/bin/env
8d7
< PROFILEHOME=
11d9
< SHELL_SESSION_ID=0aef93a1a1d44094811b26a7d1709650
16d13
< COLORTERM=truecolor
42d38
< KONSOLE_DBUS_SESSION=/Sessions/1
45d40
< KONSOLE_DBUS_WINDOW=/Windows/1
53d47
< TERM=xterm-256color
55d48
< KONSOLE_DBUS_SERVICE=:1.45
63d55
< KONSOLE_PROFILE_NAME=Standard
65d56
< XDG_SEAT=seat0
67c58
< COLORFGBG=15;0
---
> XDG_SEAT=seat0
73d63
< WINDOWID=60817414
85d74
< KDE_SESSION_UID=1001
86a76
> KDE_SESSION_UID=1001
97d86
< _=/usr/bin/env |
Since this was not very conclusive, I also ran the System Shock 2 command from the desktop command line (Alt+F2) and I got the same crash: Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x004ad30b).
So I changed the "System Shock 2.desktop" file in ~/.local/share/applications, line Exec= to "Exec=env > /tmp/env-wine.txt" and compared it again:
Code: | $ diff env-Konsole.txt env-wine.txt
3d2
<
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd
=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=
34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01
;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.
tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.
lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31
:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01
;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.
zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31
:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.
gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;
35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.
mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;
35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.
qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35
:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;
35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.cfg=00;32:*.
conf=00;32:*.diff=00;32:*.doc=00;32:*.ini=00;32:*.log=00;32:*.patch=00;32:*.pdf=
00;32:*.ps=00;32:*.tex=00;32:*.txt=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.
m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;
36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
4a4
> _=/usr/bin/env
8d7
< PROFILEHOME=
11d9
< SHELL_SESSION_ID=0aef93a1a1d44094811b26a7d1709650
16d13
< COLORTERM=truecolor
34c31
< PWD=/home/gaming
---
> PWD=/home/gaming/.wine/System Shock 2/drive_c/GOG Games/System Shock 2
42d38
< KONSOLE_DBUS_SESSION=/Sessions/1
45d40
< KONSOLE_DBUS_WINDOW=/Windows/1
47a43
> DESKTOP_STARTUP_ID=localhost;1525368120;990971;3644_TIME1589699
53d48
< TERM=xterm-256color
55d49
< KONSOLE_DBUS_SERVICE=:1.45
63d56
< KONSOLE_PROFILE_NAME=Standard
65d57
< XDG_SEAT=seat0
67c59
< COLORFGBG=15;0
---
> XDG_SEAT=seat0
73d64
< WINDOWID=60817414
85d75
< KDE_SESSION_UID=1001
86a77
> KDE_SESSION_UID=1001
97d87
< _=/usr/bin/env |
As you can see there isn't much difference to it compared to run from the desktop commandline:
Code: | $ diff env-wine.txt env-direct.txt
31c31
< PWD=/home/gaming/.wine/System Shock 2/drive_c/GOG Games/System Shock 2
---
> PWD=/home/gaming
43d42
< DESKTOP_STARTUP_ID=localhost;1525368120;990971;3644_TIME1589699 |
So this cannot be it. Right?
Wrapped 'LS_COLORS' to make the forum layout behave. —Chiitoo
Fix: typo _________________ Think for yourself and let others enjoy the privilege of doing so too. – Voltaire
Last edited by Atha on Fri May 04, 2018 4:27 pm; edited 1 time in total |
|
Back to top |
|
|
Atha Apprentice
Joined: 22 Sep 2004 Posts: 228
|
Posted: Thu May 03, 2018 6:29 pm Post subject: |
|
|
Eureka!
You won't believe this!
It now runs from the Konsole and the KDE Plasma command line (Alt+F2) as well! The only difference I made was to cd into the game directory beforehand and—voilà—it runs! (I noticed that the $PWD was different when using the .desktop entry…)
So, this command works:
Code: | cd "$HOME/.wine/System Shock 2/drive_c/GOG Games/System Shock 2" && env WINEARCH=win32 WINEPREFIX="$HOME/.wine/System Shock 2" /usr/bin/wine "$HOME/.wine/System Shock 2/drive_c/GOG Games/System Shock 2/Shock2.exe" |
Such a simple solution, when the error message "Unexpected exception: page fault on read…" was so dramatic
Any idea why Wine needs you to be in the right directory? I've never heard of this before…
Fix: typo
Last edited by Atha on Fri May 04, 2018 4:27 pm; edited 1 time in total |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21490
|
Posted: Fri May 04, 2018 1:48 am Post subject: |
|
|
Atha wrote: | Or do you refer to the page fault when the game is run? It must be something else because the game works perfectly when I run it from the desktop (not from the Konsole on the same desktop). | I refer to the game crashing with a null pointer dereference. Atha wrote: | You won't believe this! | Actually, this solution is surprisingly common in failed Windows programs. Atha wrote: | Such a simple solution, when the error message "Unexpected exception: page fault on read…" was so dramatic
Any idea why Wine needs you to be in the right directory? I've never heard of this before… | Wine does not need you to be in the right directory. This is not a Wine problem. This is a bug in the game. Most likely, they use a relative path to open some critical supporting file. If the game is started with the current working directory set to the game's install directory, the relative path successfully opens the required file. If the current working directory is anywhere else, the relative open fails. If the open fails, the game crashes. The game should handle the failed open and, at minimum, show a dialog complaining that you invoked it wrong. Ideally, it should locate and open the data file regardless of the current working directory at launch. |
|
Back to top |
|
|
Chiitoo Administrator
Joined: 28 Feb 2010 Posts: 2551 Location: Here and Away Again
|
Posted: Fri May 04, 2018 2:27 pm Post subject: ><)))°€ |
|
|
I'm a little late to the party here but, yeah, it is indeed a somewhat common issue, that an application doesn't quite work via Wine if the working directory is something else than where the executable lives.
I've oft wondered if it's somehow possible to re-produce in a native Windows environment, since it's going unnoticed there, or at least I've never bumped into discussion about it.
I forget a little, but did Windows just always set the working directory to where the executable lies, when executed?
Having written some C sharp recently I should probably remember something about this... _________________ Kindest of regardses. |
|
Back to top |
|
|
Atha Apprentice
Joined: 22 Sep 2004 Posts: 228
|
Posted: Fri May 04, 2018 5:29 pm Post subject: |
|
|
Yes, I noticed that this is a very common error message when Windows applications crash. Using the Internet search engine of your choice reveals lots of hits for "Wine Unexpected exception page fault"… (that was my favorite search engine...)
I tried WINEDEBUG=+relay as mentioned in the Wine Developer's Guide, but the output is not very easy to understand and to me there is no indiciation to what the problem could be.
Some other games still have issues, like Gothic 2 (crashes when I try to save a game) and Syberia (crashes after the intro)... First I thought it might be the same problem for all the applications, but now I see that there are other issues as well...
Anyway, thanks for the responses. |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21490
|
Posted: Sat May 05, 2018 1:03 am Post subject: Re: ><)))°€ |
|
|
Chiitoo wrote: | I've oft wondered if it's somehow possible to re-produce in a native Windows environment, since it's going unnoticed there, or at least I've never bumped into discussion about it.
I forget a little, but did Windows just always set the working directory to where the executable lies, when executed? | Windows (the kernel) does not automatically set the working directory. However, rather than using filesystem symbolic links, the Windows standard for making a file appear in multiple places is a Windows Explorer "shortcut" (.lnk) file. Among other capabilities, shortcuts can specify the working directory for the target program. It is traditional that the Start Menu shortcut (back when the Start Menu existed, anyway) specify the working directory to be something useful. As a result, anyone who uses the shortcut to launch the program gets a good environment. Similarly, if you were to navigate to the install directory and launch it by double clicking, Windows Explorer would launch it with the working directory set to the directory you viewed - the install directory. So the only easy way to launch it on Windows with an unusual working directory is from the command line. Windows users are not known for their use of the command line.
Atha wrote: | Yes, I noticed that this is a very common error message when Windows applications crash. | Again, not what I meant. I referred specifically to how Windows programs tend to assume that the working directory is set to a particular value, and misbehave when that assumption is violated. Crashing is a particularly extreme form of misbehavior, but it's not the only one seen. |
|
Back to top |
|
|
Chiitoo Administrator
Joined: 28 Feb 2010 Posts: 2551 Location: Here and Away Again
|
Posted: Sat May 05, 2018 1:40 pm Post subject: |
|
|
Atha wrote: | Yes, I noticed that this is a very common error message when Windows applications crash. Using the Internet search engine of your choice reveals lots of hits for "Wine Unexpected exception page fault"… (that was my favorite search engine...) |
There definitely will be lots of hits for that, as it's not unique to this 'path issue', but it would definitely be neat to have a way for Wine to detect it is being an issue.
Quote: | I tried WINEDEBUG=+relay as mentioned in the Wine Developer's Guide, but the output is not very easy to understand and to me there is no indiciation to what the problem could be. |
Right, 'relay' is one of, if not /the/ most verbose debug output one can get from Wine, and it's probably usually useless unless one has an idea of what to look for in it.
I might start with the 'file' channel, though I never tried to debug this issue yet personally, and I can't tell if it would be of any real use either.
Quote: | Some other games still have issues, like Gothic 2 (crashes when I try to save a game) and Syberia (crashes after the intro)... First I thought it might be the same problem for all the applications, but now I see that there are other issues as well... |
With regards to Syberia, have you seen and tried what's being suggested in Wine bug 44009?
Gothic II seems like it requires some workarounds too: WineHQ AppDB - Gothic II
Hu wrote: | Windows (the kernel) does not automatically set the working directory. However, rather than using filesystem symbolic links, the Windows standard for making a file appear in multiple places is a Windows Explorer "shortcut" (.lnk) file. Among other capabilities, shortcuts can specify the working directory for the target program. It is traditional that the Start Menu shortcut (back when the Start Menu existed, anyway) specify the working directory to be something useful. |
Thanks!
That's more or less what I was thinking, but felt there might have been something else involved, too. _________________ Kindest of regardses. |
|
Back to top |
|
|
Atha Apprentice
Joined: 22 Sep 2004 Posts: 228
|
Posted: Sat May 05, 2018 5:51 pm Post subject: |
|
|
Chiitoo wrote: | Quote: | Some other games still have issues, like Gothic 2 (crashes when I try to save a game) and Syberia (crashes after the intro)... First I thought it might be the same problem for all the applications, but now I see that there are other issues as well... |
With regards to Syberia, have you seen and tried what's being suggested in Wine bug 44009? |
Thanks! That was the problem, works now!
None of the listed problems seem to be related. Might be a rights problem, since it only crashes when I want to save a game... I will try if reinstalling Gothic II fixes it.
Anyway, thanks for your valuable information! I know I would have found something on the Internet eventually, but you definitely saved me a lot of time and trouble. Thanks! |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|