[Bug 28035] Fallout 3 crashes when hitting play on launcher (Games For Windows Live 2.x)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat May 31 16:50:36 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=28035

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |obfuscation
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |DUPLICATE
            Summary|Fallout 3 crashes when      |Fallout 3 crashes when
                   |hitting play on launcher.   |hitting play on launcher
                   |                            |(Games For Windows Live
                   |                            |2.x)

--- Comment #37 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

unfortunately after OP's initial report the bug became a bit messy with
completely unrelated issues mixed in.

--- snip ---
...
fixme:advapi:RegisterEventSourceW ((null),L"XLive"): stub
fixme:advapi:ReportEventW
(0xcafe4242,0x0002,0x0000,0x80000002,(nil),0x0004,0x00000000,0x32e4c8,(nil)):
stub
fixme:advapi:DeregisterEventSource (0xcafe4242) stub
wine: Unhandled page fault on read access to 0x00000028 at address 0xbe9165
(thread 0009), starting debugger...
Unhandled exception: page fault on read access to 0x00000028 in 32-bit code
(0x00be9165).
--- snip ---

OP's backtrace is clearly a GFWL related crash.

Game folder 'installscript.vdf', GFWL part:

--- snip ---
"GFWLive"
{
  "HasRunKey"        "HKEY_lOCAL_MACHINE\\Software\\Valve\\Steam\\Apps\\22300"
  "process 1"        "%windir%\\system32\\msiexec.exe"
  "command 1"        "/i \"%INSTALLDIR%\\GFWLive\\xliveredist.msi\" /passive"
  "NoCleanUp"        "2"
  "MinimumHasRunValue"        "2"
}
--- snip ---

The GFWL redist installer itself: 'xliveredist.msi'

'xlive.dll' metadata, indicating a 2.x version (pre .NET)

--- snip ---
Microsoft Corporation
Games for Windows - LIVE DLL
2.0.0672.0 (PANORAMA_V2.00_RTM.081022-0447)
Wednesday 22 October 2008, 05.29.02
--- snip ---

So what happens if one runs the game with clean prefix (no overrides/native
garbage)?

--- snip ---
$ WINEDEBUG=+tid,+seh,+relay,+snoop,+msvcrt wine ./steam.exe -applaunch 22370
-no-dwrite -allowdebug -nominidumps -windowed -nobreakpad >>log.txt 2>&1
...
0009:trace:relay:load_list L"SnoopExclude" = L"tier0_s.*;vstdlib_s.*"
...
000d:Call KERNEL32.SetEnvironmentVariableA(386a3b18
"VR_PLATFORM_INSTALL_PATH",0aa03a20 "C:\\Program Files\\Steam\\vr\\runtime")
ret=38303b0c
000d:Ret  KERNEL32.SetEnvironmentVariableA() retval=00000001 ret=38303b0c
000d:Call KERNEL32.CreateProcessW(0a889380 L"C:\\Program
Files\\Steam\\steamapps\\common\\Fallout 3 goty\\FalloutLauncher.exe",09cf9000
L"\"C:\\Program Files\\Steam\\steamapps\\common\\Fallout 3
goty\\FalloutLauncher.exe\" -no-dwrite -allowdebug -nominidumps -windowed
-nobreakpad",00000000,00000000,00000000,00000004,00000000,0a9d71c0
L"C:\\Program Files\\Steam\\steamapps\\common\\Fallout 3
goty",0e6fb6e4,0e6fb7c0) ret=38303cae 
...
005a:Call KERNEL32.__wine_kernel_init() ret=7bc5b286
...
000d:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=38303cae
...
005a:Call KERNEL32.CreateProcessW(00000000,0033e558 L"C:\\Program
Files\\Steam\\steamapps\\common\\Fallout 3
goty\\Fallout3.exe",00000000,00000000,00000000,00000410,00000000,00000000,0033dc10,0033dc00)
ret=7e62f5d2 
...
0061:Call KERNEL32.__wine_kernel_init() ret=7bc5b286
...
005a:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=7e62f5d2 
...
0061:Ret  PE DLL (proc=0x1791b27,module=0x1340000
L"xlive.dll",reason=PROCESS_ATTACH,res=0x1) retval=1 
...
0061:CALL xlive.5000(<unknown, check return>) ret=006efefe
0061:Call
advapi32.RegisterTraceGuidsA(01410faa,00000000,01345864,00000003,0196673c,00000000,00000000,019747d8)
ret=0141102f
0061:fixme:advapi:RegisterTraceGuidsA (0x1410faa, (nil),
{d5b9ac76-d546-4891-bb8c-bfd865e5c7d5}, 3, 0x196673c, (null), (null),
0x19747d8): stub
0061:Ret  advapi32.RegisterTraceGuidsA() retval=00000000 ret=0141102f 
...
0061:Call KERNEL32.CreateFileW(0033f2a4
L"C:\\windows\\system32\\xlive.dll.CAT",80000000,00000001,00000000,00000003,00000080,00000000)
ret=013e6475
0061:Ret  KERNEL32.CreateFileW() retval=0000017c ret=013e6475 
...
0061:Call KERNEL32.CreateFileW(0033f09c
L"C:\\windows\\system32\\xlive.dll",80000000,00000001,00000000,00000003,00000080,00000000)
ret=013e5f07
0061:Ret  KERNEL32.CreateFileW() retval=0000017c ret=013e5f07
...
0061:Call KERNEL32.K32EnumProcessModules(ffffffff,0033ec80,000003fc,0033f08c)
ret=01956c0d
0061:Ret  KERNEL32.K32EnumProcessModules() retval=00000001 ret=01956c0d
...
0061:Call KERNEL32.CreateFileW(0033f0a0 L"C:\\Program
Files\\Steam\\SteamApps\\common\\Fallout 3
goty\\Fallout3.exe.CAT",80000000,00000001,00000000,00000003,00000080,00000000)
ret=013e6475
0061:Ret  KERNEL32.CreateFileW() retval=0000017c ret=013e6475
...
0061:Call KERNEL32.CreateFileW(0033f2a8 L"C:\\Program
Files\\Steam\\SteamApps\\common\\Fallout 3
goty\\Fallout3.exe.CFG",80000000,00000001,00000000,00000003,00000080,00000000)
ret=0140929e
0061:Ret  KERNEL32.CreateFileW() retval=0000017c ret=0140929e
...
0061:Call oleaut32.SysAllocString(16b76e08 L"<Liveconfig>\r\n    
<titleid>425307D6</titleid>\r\n     <titleversion>10000184</titleversion>\r\n  
  <lankey>xxxxx</lankey>\r\n    
<enableCrossPlatformSystemLink>false</enableCrossPlatformSystemLink>\r\n    
<OriginalXliveTarget>1.2.0241.0</OriginalXliveTarget>\r\n   </L"...)
ret=0140fec6 
...
0061:Call KERNEL32.CreateFileW(0033f2a8 L"C:\\Program
Files\\Steam\\SteamApps\\common\\Fallout 3
goty\\Fallout3.exe",80000000,00000001,00000000,00000003,00000080,00000000)
ret=013e5f07
0061:Ret  KERNEL32.CreateFileW() retval=0000017c ret=013e5f07
...
0061:Call KERNEL32.LoadLibraryW(0033e9dc L"C:\\Program
Files\\Steam\\SteamApps\\common\\Fallout 3 goty\\Fallout3.exe") ret=013e842e
0061:Ret  KERNEL32.LoadLibraryW() retval=00400000 ret=013e842e
...
0061:Call KERNEL32.K32GetModuleInformation(ffffffff,00400000,0033e9c4,0000000c)
ret=013e6178
0061:Ret  KERNEL32.K32GetModuleInformation() retval=00000001 ret=013e6178
...
0061:Call advapi32.RegisterEventSourceW(00000000,0134561c) ret=0141a296
0061:fixme:advapi:RegisterEventSourceW ((null),L"XLive"): stub
0061:Ret  advapi32.RegisterEventSourceW() retval=cafe4242 ret=0141a296
0061:Call
advapi32.ReportEventW(cafe4242,00000002,00000000,80000002,00000000,00000004,00000000,0033e438,00000000)
ret=0141a2d6
0061:fixme:advapi:ReportEventW
(0xcafe4242,0x0002,0x0000,0x80000002,(nil),0x0004,0x00000000,0x33e438,(nil)):
stub
0061:Ret  advapi32.ReportEventW() retval=00000001 ret=0141a2d6
0061:Call advapi32.DeregisterEventSource(cafe4242) ret=0141a2f6
0061:fixme:advapi:DeregisterEventSource (0xcafe4242) stub
0061:Ret  advapi32.DeregisterEventSource() retval=00000001 ret=0141a2f6
...
0061:Call advapi32.UnregisterTraceGuids(00000000,00000000) ret=01411042
0061:fixme:advapi:UnregisterTraceGuids 0: stub
0061:Ret  advapi32.UnregisterTraceGuids() retval=00000078 ret=01411042
0061:RET  xlive.5000(0033f9c8) retval=80004005 ret=006efefe 
...
--- snip ---

xlive.5000 = XLiveInitialize()

The game still continues despite XLive being unable to initialize.
There are no further API calls to 'xlive.dll' in the error case, suggesting the
vendor changed the hard requirement and not made it crash/exit anymore.

--- snip ---
Bethesda Softworks
Fallout3.exe
1.0.0.15
Wednesday 21 May 2014, 22.39.30'
--- snip ---

Whatever "tricks" are suggested here ("copy <dit and dat> fixes this") - it has
no effect (click "LIVE" in the game menu and see what happens).

Here are some infos/discussions regarding the Steam version of Fallout3:

http://www.escapistmagazine.com/news/view/131031-Fallout-3-Set-to-Remove-Games-For-Windows-Live-Functionality

http://www.neogaf.com/forum/showthread.php?t=745237

Anyway, I applied my fix for bug 33034 and got GFWL 2.x working:

--- snip ---
0062:CALL xlive.5000(<unknown, check return>) ret=006efefe
...
0062:RET  xlive.5000(0033f9c8) retval=00000000 ret=006efefe 
...
0062:CALL xlive.5310(<unknown, check return>) ret=006eff17
...
0062:RET  xlive.5310() retval=00000000 ret=006eff17
0062:CALL xlive.652(<unknown, check return>) ret=006eff2a
...
0062:RET  xlive.652(00000001) retval=00000002 ret=006eff2a
0062:CALL xlive.5270(<unknown, check return>) ret=006eff52  
...
0062:RET  xlive.5270(0000002f,00000000) retval=000002c8 ret=006eff52 
...
0062:CALL xlive.5002(<unknown, check return>) ret=00624aad 
...
0062:RET  xlive.5002() retval=00000000 ret=00624aad 
...
--- snip ---

xlive.5310 -> XOnlineStartup
xlive.5002 -> XLiveRender

Within game menu, clicking 'LIVE' will then get you a nice GFWL overlay/menu
with options to create online profile, login etc.

Resolving as dupe of bug 33034 since the fix works here too.

Regards

*** This bug has been marked as a duplicate of bug 33034 ***

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list