[Bug 42609] Rockstar Games Social Club crashes with subprocess.exe

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Sep 15 09:19:03 CDT 2018


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

--- Comment #7 from Anastasius Focht <focht at gmx.net> ---
Hello Ben,

--- quote ---
Unable to install manual Social Club as suggested above
--- quote ---

No, it was not meant as standalone method to install and run Social club.
It requires a GTA V Steam prefix. I linked the download here for documentation
purpose.

Anyway, since Social Club works for me fine here (no crash) I did some
"offline" analysis based on your backtrace from the link:

--- snip ---
Unhandled exception: page fault on read access to 0x000000f0 in 64-bit code
(0x000000018334b3c8).
Register dump:
 rip:000000018334b3c8 rsp:000000000023d150 rbp:000000000023d1d0 eflags:00010206
(  R- --  I   - -P- )
 rax:0000000000000000 rbx:000000000000018a rcx:773ccd06e9070000
rdx:00000000000174c0
 rsi:0000000000000008 rdi:000000f27ea17fb0  r8:000000f27ea080f0 
r9:000000000023d1ce r10:0000000000ff0000
 r11:000000f27eab1a08 r12:000000000023d258 r13:00000001856d69d8
r14:0000000000000040 r15:000000000023d248
Stack dump:
...
Backtrace:
=>0 0x000000018334b3c8 in libcef (+0x334b3c8) (0x000000000023d1d0)
  1 0x000000018334af52 in libcef (+0x334af51) (0x000000000023d1d0)
  2 0x000000018334a2de in libcef (+0x334a2dd) (0x000000000023d2e0)
  3 0x000000018334443a in libcef (+0x3344439) (0x000000000023d2e0)
  4 0x0000000183342bf0 in libcef (+0x3342bef) (0x0000000000000000)
  5 0x0000000183336a97 in libcef (+0x3336a96) (0x0000000000000001)
  6 0x000000018333f978 in libcef (+0x333f977) (0x000000000000006e)
  7 0x00000001831d15dd in libcef (+0x31d15dc) (0x000000000000006e)
0x000000018334b3c8: movq    0x00000000000000f0(%rax),%rcx
Modules:
Module    Address                    Debug info    Name (61 modules)
PE              240000-          2cf000    Deferred        chrome_elf
PE            401e0000-        401e4000    Deferred        version
...
PE            7bc10000-        7bc14000    Deferred        ntdll
ELF            7bf00000-        7bf04000    Deferred        <wine-loader>
PE           140000000-       14010f000    Deferred        subprocess
PE 180000000- 185ae5000 Export libcef
...
000001ca subprocess.exe
    00000014    0
...
    000001cb    0
000001ef subprocess.exe
    00000201    0
...
        000001f0    0
000001f3 (D) C:\Program Files\Rockstar Games\Social Club\subprocess.exe
    0000005c    0
...
        000001f4 0 <==
--- snip ---

Steam process view on my machine (x64dbg) with GTA V and Social Club:

--- snip ---
PID      Name           Title                      Path                        
                                                     Command Line Arguments     

00000141 steamwebhelper                            C:\Program Files
(x86)\Steam\bin\cef\cef.win7x64\steamwebhelper.exe              
--type=renderer --disable-gpu-memory-buffer-video-frames --no-sandbox
--disable-features=AsyncWheelEvents,TouchpadAndWheelScrollLatching
--disable-gpu-compositing --service-pipe-token=28E107B6CEE9B6EEB3AF3BB097972AAE
--enable-blink-features=ResizeObserver
00000108 subprocess                                C:\Program Files\Rockstar
Games\Social Club\subprocess.exe                        --type=gpu-process
--no-sandbox --lang=en --log-file="C:\Program Files\Rockstar Games\Social
Club\debug.log" --log-severity=disable
--gpu-preferences=GAAAAAAAAAAABwAAAQAAAAAAAAAAAGAA --use-gl=swiftshader-webgl
--gpu-vendor-id=0x0000 --gpu-device-id=0x0000
00000105 subprocess                                C:\Program Files\Rockstar
Games\Social Club\subprocess.exe                        --type=renderer
--enable-browser-side-navigation --no-sandbox --disable-gpu-compositing
--service-pipe-token=BD163D11894187ED28668C7BDD71AEE1 --lang=en-US --lang=en
--log-file="C:\Program Files\Rockstar Games\Social Club\debug.log"
--log-severity=disable 
000000E2 subprocess     Chrome_WidgetWin_0         C:\Program Files\Rockstar
Games\Social Club\subprocess.exe                        --rgsc_pid=178
--rgsc_ipc_channel_name=rgsc_ipc_b2
--rgsc_home_dir=C:\users\focht\My*%20*Documents\Rockstar*%20*Games\Social*%20*Club\Launcher\Renderer\
--no-proxy-server --enable-browser-side-navigation
--safebrowsing-disable-auto-update --disable-spell-
000000B2 GTAVLauncher   Launcher                   C:\Program Files
(x86)\Steam\steamapps\common\Grand Theft Auto V\GTAVLauncher.exe -allowdebug
-nominidumps -nobreakpad -windowed
000000A1 steamwebhelper                            C:\Program Files
(x86)\Steam\bin\cef\cef.win7x64\steamwebhelper.exe              
--type=renderer --disable-gpu-memory-buffer-video-frames --no-sandbox
--disable-features=AsyncWheelEvents,TouchpadAndWheelScrollLatching
--disable-gpu-compositing --service-pipe-token=A9B0C8117CC14EC2A8FB766C57AD903B
--enable-blink-features=ResizeObserver
00000086 steamwebhelper                            C:\Program Files
(x86)\Steam\bin\cef\cef.win7x64\steamwebhelper.exe              
--type=renderer --disable-gpu-memory-buffer-video-frames --no-sandbox
--disable-features=AsyncWheelEvents,TouchpadAndWheelScrollLatching
--service-pipe-token=10A1E532805142C585255694C23ECED5
--enable-blink-features=ResizeObserver,Worklet,AudioWorklet --la
00000055 steamwebhelper                            C:\Program Files
(x86)\Steam\bin\cef\cef.win7x64\steamwebhelper.exe              
--type=gpu-process
--disable-features=AsyncWheelEvents,TouchpadAndWheelScrollLatching --no-sandbox
--log-file="C:\Program Files (x86)\Steam\logs\cef_log.txt"
--product-version="Valve Steam Client"
--webview-urls=http://localhost/*,http://steamloopback.hos
00000033 steamwebhelper crashpad_SessionEndWatcher C:\Program Files
(x86)\Steam\bin\cef\cef.win7x64\steamwebhelper.exe              
--type=crashpad-handler /prefetch:7 --max-uploads=5 --max-db-size=20
--max-db-age=5 --monitor-self-annotation=ptype=crashpad-handler
"--database=C:\users\focht\Local Settings\Application Data\CEF\User
Data\Crashpad" "--metrics-dir=C:\users\focht\Local Set
0000002D steamwebhelper Chrome_WidgetWin_0         C:\Program Files
(x86)\Steam\bin\cef\cef.win7x64\steamwebhelper.exe               "-lang=en_US"
"-cachedir=C:\users\focht\Local Settings\Application Data\Steam\htmlcache"
"-steampid=8" "-buildid=1536436120" "-steamid=0" "-steamuniverse=Dev"
"-clientui=C:\Program Files (x86)\Steam\clientui" --disable-spell-checking
--disable-out-of-proc
00000023 explorer       __wine_x11_foreign_window 
C:\windows\system32\explorer.exe                                               
  /desktop
0000001E winedevice                               
C:\windows\system32\winedevice.exe                                              
00000019 plugplay                                 
C:\windows\system32\plugplay.exe                                                
00000011 winedevice                               
C:\windows\system32\winedevice.exe                                              
0000000E services                                 
C:\windows\system32\services.exe     
--- snip ---

Using 'ProtectionID' tool on 'libcef.dll' (crash site location) to determine
more details.

--- snip ---
-=[ ProtectionID v0.6.9.0 DECEMBER]=-
(c) 2003-2017 CDKiLLER & TippeX
Build 24/12/17-21:05:42
Ready...
Scanning -> C:\Program Files\Rockstar Games\Social Club\libcef.dll
File Type : 64-Bit Dll (Subsystem : Win CUI / 3), Size : 94052328 (059B1FE8h)
Byte(s) | Machine: 0x8664 (AMD64)
Compilation TimeStamp : 0x5A966D86 -> Wed 28th Feb 2018 08:51:18 (GMT)
[TimeStamp] 0x5A966D86 -> Wed 28th Feb 2018 08:51:18 (GMT) | PE Header | - |
Offset: 0x00000000:00000138 | VA: 0x00000001:80000138 | -
[TimeStamp] 0xFFFFFFFF -> Sun 07th Feb 2106 06:28:15 (GMT) | Export | - |
Offset: 0x00000000:0559A334 | VA: 0x00000001:8559C134 | -
[TimeStamp] 0x5A966D86 -> Wed 28th Feb 2018 08:51:18 (GMT) | DebugDirectory | -
| Offset: 0x00000000:0556DD44 | VA: 0x00000001:8556FB44 | -
[TimeStamp] 0x5A966D86 -> Wed 28th Feb 2018 08:51:18 (GMT) | DebugDirectory | -
| Offset: 0x00000000:0556DD60 | VA: 0x00000001:8556FB60 | -
-> File Appears to be Digitally Signed @ Offset 059B0800h, size : 017E8h /
06120 byte(s)
[!] Executable uses TLS callbacks (2 total... 0 invalid addresses)
[LoadConfig] Struct determined as v8 (Expected size 232 | Actual size 256)
[LoadConfig] CFG (/Guard) - Handler @ 0x1:849190D8
[LoadConfig] CFG Table @ 0x0:00000000 | 0x00 (00) entries
[LoadConfig] CFG Flags : 0x100
[LoadConfig] CodeIntegrity -> Flags 0x0 | Catalog 0x0 (0) | Catalog Offset 0x0
| Reserved 0x0
[LoadConfig] GuardAddressTakenIatEntryTable 0x0:00000000 | Count 0x000000000
(00)
[LoadConfig] GuardLongJumpTargetTable 0x0:00000000 | Count 0x000000000 (00)
[LoadConfig] HybridMetadataPointer 0x1:00000000 | DynamicValueRelocTable
0x0:00000000
[LoadConfig] FailFastIndirectProc 0x0:00000000 | FailFastPointer 0x0:00000000
[LoadConfig] UnknownZero1 0x0       0
[LoadConfig] CFG Data Present, yet setting is not present in the
DllCharacteristics.. patched out?
[File Heuristics] -> Flag #1 : 00000100000001001101000100000100 (0x0404D104)
[Entrypoint Section Entropy] : 6.45 (section #0) ".text   " | Size : 0x48E2060
(76423264) byte(s)
[DllCharacteristics] -> Flag : (0x0160) -> HEVA | ASLR | DEP
[SectionCount] 9 (0x9) | ImageSize 0x5AE5000 (95309824) byte(s)
[Export] 100% of function(s) (199 of 199) are in file | 0 are forwarded | 199
code | 0 data | 0 uninit data | 0 unknown | 
[VersionInfo] Product Name : Chromium Embedded Framework (CEF) Dynamic Link
Library
[VersionInfo] Product Version : 3.3282.1742.g96f907e
[VersionInfo] File Description : Chromium Embedded Framework (CEF) Dynamic Link
Library
[VersionInfo] File Version : 3.3282.1742.g96f907e
[VersionInfo] Original FileName : libcef.dll
[VersionInfo] Internal Name : libcef
[VersionInfo] Legal Copyrights : Copyright (C) 2018 The Chromium Embedded
Framework Authors
[ModuleReport] [IAT] Modules -> ADVAPI32.dll | COMDLG32.dll | GDI32.dll |
KERNEL32.dll | ole32.dll | OLEAUT32.dll | PSAPI.DLL | SHELL32.dll | USER32.dll
| WINMM.dll | WS2_32.dll | NETAPI32.dll | COMCTL32.dll | USERENV.dll |
Secur32.dll | OLEACC.dll | WINTRUST.dll | HID.DLL | chrome_elf.dll |
dbghelp.dll | SHLWAPI.dll | USP10.dll | VERSION.dll | CRYPTUI.dll | dwmapi.dll
| PROPSYS.dll | CRYPT32.dll | dhcpcsvc.DLL | IPHLPAPI.DLL | ncrypt.dll |
urlmon.dll | WINHTTP.dll | DWrite.dll | dxgi.dll | d3d11.dll | WTSAPI32.dll |
WINSPOOL.DRV | IMM32.dll | d3d9.dll | dxva2.dll
[ModuleReport] [DelayImport] Modules -> CFGMGR32.dll | SETUPAPI.dll |
POWRPROF.dll | MF.dll | MFPlat.DLL | MFReadWrite.dll | bthprops.cpl |
BluetoothApis.dll | NDFAPI.DLL
[Debug Info] (record 1 of 2) (file offset 0x556DD40)
Characteristics : 0x0 | TimeDateStamp : 0x5A966D86 (Wed 28th Feb 2018 08:51:18
(GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0)
Type : 2 (0x2) -> CodeView | Size : 0x58 (88) 
AddressOfRawData : 0x55738E4 | PointerToRawData : 0x5571AE4
CvSig : 0x53445352 | SigGuid 7ADBB5CB-847C-48CA-AAC79F528141090B
Age : 0x1 (1) | Pdb :
Y:\work\CEF3_git\chromium\src\out\Release_GN_x64\libcef.dll.pdb
[Debug Info] (record 2 of 2) (file offset 0x556DD5C)
Characteristics : 0x0 | TimeDateStamp : 0x5A966D86 (Wed 28th Feb 2018 08:51:18
(GMT)) | MajorVer : 0 / MinorVer : 0 -> (0.0)
Type : 13 (0xD) -> Undocumented | Size : 0x480 (1152) 
AddressOfRawData : 0x557393C | PointerToRawData : 0x5571B3C
...
[!] File appears to have no protection or is using an unknown protection
- Scan Took : 21.917 Second(s) [00000525Bh (21083) tick(s)] [162 of 580 scan(s)
done]
--- snip ---

-> CEF 3.3282.1742.g96f907e -> Chromium 64.0.3282.119

Sources:
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/

Fortunately this seems to be a public build.
I found debug symbols for that release here:

http://opensource.spotify.com/cefbuilds/index.html

--- snip ---
02/28/2018 - CEF 3.3282.1742.g96f907e / Chromium 64.0.3282.119     CEF source |
Chromium source

Standard Distribution
    cef_binary_3.3282.1742.g96f907e_windows64.tar.bz2     152.70 MB     sha1

Minimal Distribution
    cef_binary_3.3282.1742.g96f907e_windows64_minimal.tar.bz2     99.89 MB    
sha1

Sample Application
    cef_binary_3.3282.1742.g96f907e_windows64_client.tar.bz2     56.42 MB    
sha1

Debug Symbols
    cef_binary_3.3282.1742.g96f907e_windows64_debug_symbols.tar.bz2     310.01
MB     sha1

Release Symbols
    cef_binary_3.3282.1742.g96f907e_windows64_release_symbols.tar.bz2    
279.13 MB     sha1
--- snip ---

--- snip ---
$ tar xjvf cef_binary_3.3282.1742.g96f907e_windows64_release_symbols.tar.bz2 
cef_binary_3.3282.1742.g96f907e_windows64_release_symbols/
cef_binary_3.3282.1742.g96f907e_windows64_release_symbols/libcef.dll.pdb

$ ls -la cef_binary_3.3282.1742.g96f907e_windows64_release_symbols/*
-rw-rw-r--. 1 focht focht 1556516864 Feb 28  2018
cef_binary_3.3282.1742.g96f907e_windows64_release_symbols/libcef.dll.pdb
--- snip ---

1.5 GB debug symbols ^^

With the help of the symbols I decoded your backtrace manually as there is no
actual "live" callstack to work with:

--- snip ---
.text:000000018334B380 libcef.dll:$334B380 #334A780
<WTF::HashTable<blink::WeakMember<blink::WorkerInspectorProxy>,blink::WeakMember<blink::WorkerInspectorProxy>,WTF::IdentityExtractor,WTF::MemberHash<blink::WorkerInspectorProxy>,WTF::HashTraits<blink::WeakMember<blink::WorkerInspectorProxy>
>,WTF::HashTrai>
.text:000000018334AED0 libcef.dll:$334AED0 #334A2D0
<WTF::HashTable<blink::WeakMember<blink::WorkerInspectorProxy>,blink::WeakMember<blink::WorkerInspectorProxy>,WTF::IdentityExtractor,WTF::MemberHash<blink::WorkerInspectorProxy>,WTF::HashTraits<blink::WeakMember<blink::WorkerInspectorProxy>
>,WTF::HashTrai>
.text:000000018334A260 libcef.dll:$334A260 #3349660
<blink::WorkerInspectorProxy::WorkerThreadCreated>
.text:0000000183344320 libcef.dll:$3344320 #3343720
<blink::ThreadedMessagingProxyBase::InitializeWorkerThread>
.text:00000001833427F0 libcef.dll:$33427F0 #3341BF0
<blink::DedicatedWorkerMessagingProxy::StartWorkerGlobalScope>
.text:0000000183336950 libcef.dll:$3336950 #3335D50
<blink::DedicatedWorker::OnFinished>
.text:000000018333F930 libcef.dll:$333F930 #333ED30
<blink::WorkerScriptLoader::DidFinishLoading>
.text:00000001831D14F0 libcef.dll:$31D14F0 #31D08F0
<blink::DocumentThreadableLoader::HandleSuccessfulFinish>
--- snip ---

Manually resolved references to Chromium/WebKit sources using the public
function/data symbols and disassembly of 64-bit 'libcef.dll'.

--- snip ---
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/platform/wtf/HashTable.h#1542
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/platform/wtf/HashTable.h#1246
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/platform/heap/Persistent.h
(PersistentHeapHashSet)
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.h#63
(WorkerInspectorProxySet =
      PersistentHeapHashSet<WeakMember<WorkerInspectorProxy>>;)
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp#68
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/core/workers/WorkerInspectorProxy.cpp#61
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.cpp#75
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/core/workers/DedicatedWorkerMessagingProxy.cpp#64
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/core/workers/WorkerScriptLoader.cpp#234
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/core/workers/WorkerScriptLoader.cpp#192
https://chromium.googlesource.com/chromium/src/+/64.0.3282.119/third_party/WebKit/Source/core/loader/DocumentThreadableLoader.cpp#1070
--- snip ---

The crash site seems to be in some hash table allocation code (table itself ->
init once pattern). The top stack (seen as bottom in the comment) is also
lacking further information, it starts somewhere in 'DocumentThreadableLoader'
class.

There is not much more for now I can do here. Doing an offline analysis on a
complicated beast like Chromium/Webkit without being able to live
trace/debugging is hard. There is a lot of C++ framework code involved, with
very little callouts to Windows API. In addition lots of things are
asynchronous (quite a number of worker/signal threads), along with of
out-of-process (IPC) communication due to the design of Chromium.

Another stab in the dark: Do you have a Linux machine you could test with since
you encounter this problem on macOS v10.13.x (Darwin 17.7.0)?

Regards

-- 
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