http://bugs.winehq.org/show_bug.cgi?id=37006
Bug ID: 37006 Summary: APB Reloaded freezes when in-game gecko browser tries to load armas marketplace. Product: Wine Version: 1.7.23 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: o.dierick@piezo-forte.be
APB Reloaded uses its own gecko browser to show its marketplace in-game.
The issue is that APB waits indefinitely for the marketplace to show, which never happens, and has to be killed.
Clicking any marketplace button in-game makes the game freeze, but the marketplace can be accessed from an external browser so clicking those buttons is not required but, a new feature makes the marketplace open on each login unless opted-out (for 24 hours). The checkbox for opting-out is only displayed on the in-game marketplace page. Since APB freezes when loading the marketplace there's no way to opt-out and no way to play.
Opt-out can be done from a Windows machine. When opted-out APB doesn't try to open the marketplace on login and playing is possible.
I tried to get a +relay output but it grows so big that I ran out of free space (8Gb) before even reaching the intro movies.
Important note: APB Reloaded does not launch with plain Wine. The patch from bug http://bugs.winehq.org/show_bug.cgi?id=24125 has to be applied.
Additionnal info: APB Reloaded 1.17 non-steam version. No dll overrides. wine-gecko 2.24. wine-mono 4.5.2. Patched Wine 1.7.23 32bit on Debian 7.6 64bit.
http://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #1 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 49164 --> http://bugs.winehq.org/attachment.cgi?id=49164 terminal output without WINEDEBUG
http://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #2 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 49165 --> http://bugs.winehq.org/attachment.cgi?id=49165 APB Gecko log file after killing frozen APB
http://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #3 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 49166 --> http://bugs.winehq.org/attachment.cgi?id=49166 APB log file after a freeze
http://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #4 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 49167 --> http://bugs.winehq.org/attachment.cgi?id=49167 terminal output when opted-out
http://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #5 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 49168 --> http://bugs.winehq.org/attachment.cgi?id=49168 APB Gecko log file when opted-out
http://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #6 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Created attachment 49169 --> http://bugs.winehq.org/attachment.cgi?id=49169 APB log file when opted-out
https://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #7 from Nikolay Sivov bunglehead@gmail.com --- Please try with current wine from git. Those lines will not appear anymore:
--- fixme:shell:foldermanager_QueryInterface interface {00000019-0000-0000-c000-000000000046} not implemented fixme:shell:knownfolder_QueryInterface interface {00000003-0000-0000-c000-000000000046} not implemented ---
they we harmless.
This one is also fixed:
--- fixme:shell:knownfolder_GetIDList 0x00000000, 0x3144e578 ---
https://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #8 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Issue is still present in Wine 1.7.43.
https://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #9 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Issue is still present in wine 1.7.47 (1.7.47-118 actually)
Here is the result of my recent debugging attempt.
The Gecko logfile in APB Reloaded/APBGame/Logs ends with this:
--- gecko logfile --- ... 23:37:39 Controller thread terminated abnormally while waiting for the IO operation to complete. Result = 258 23:37:39 Error = 997 23:37:39 Controller thread stopping 23:37:39 Manager shutting down 23:37:39 Log file closed --- gecko logfile ---
I made a +tid,+relay debug log (split by threads and filtered some functions). The main program and the gecko program communicate through a named pipe.
In the main thread, a named pipe is created.
--- main thread --- ... 0077:Call KERNEL32.CreateNamedPipeW(44f6e030 L"\\.\pipe\apb_gecko_control_109_74",40000003,00000001,00000001,00002000,00002000,00000000,00000000) ret=1107c353 0077:Ret KERNEL32.CreateNamedPipeW() retval=00000108 ret=1107c353 0077:Call KERNEL32.ConnectNamedPipe(00000108,00000000) ret=1107c2f6 0077:Ret KERNEL32.ConnectNamedPipe() retval=00000001 ret=1107c2f6 ... --- main thread ---
The gecko process opens the named pipe.
--- gecko thread --- ... 004b:Call KERNEL32.CreateFileW(0033fca0 L"\\.\pipe\apb_gecko_control_109_74",c0000000,00000000,00000000,00000003,40000000,00000000) ret=004108be 004b:Ret KERNEL32.CreateFileW() retval=00000054 ret=004108be 004b:Call KERNEL32.SetNamedPipeHandleState(00000054,0033fc40,00000000,00000000) ret=004108db 004b:Ret KERNEL32.SetNamedPipeHandleState() retval=00000001 ret=004108db --- gecko thread ---
The main thread then writes to the pipe 5 times like this:
--- main thread --- ... 0077:Call KERNEL32.CreateEventW(00000000,00000001,00000001,00000000) ret=10fe2b46 0077:Ret KERNEL32.CreateEventW() retval=00000114 ret=10fe2b46 0077:Call KERNEL32.WriteFile(00000108,12510c30,0000000b,02a9e6a4,02a9e688) ret=10fe2b79 0077:Ret KERNEL32.WriteFile() retval=00000001 ret=10fe2b79 0077:Call KERNEL32.WaitForSingleObject(00000114,ffffffff) ret=10fe2b95 0077:Ret KERNEL32.WaitForSingleObject() retval=00000000 ret=10fe2b95 0077:Call KERNEL32.CloseHandle(00000114) ret=10fe2ba0 0077:Ret KERNEL32.CloseHandle() retval=00000001 ret=10fe2ba0 ... --- main thread ---
Then a sub-thread of the gecko process reads the pipe successfully.
--- 2nd gecko thread --- ... 004c:Call KERNEL32.SetEvent(00000040) ret=0040bf79 004c:Ret KERNEL32.SetEvent() retval=00000001 ret=0040bf79 004c:Call KERNEL32.ReadFile(00000054,0084ca40,00002000,0084a9fc,0084aa10) ret=0041107d 004c:Ret KERNEL32.ReadFile() retval=00000001 ret=0041107d 004c:Call KERNEL32.GetLastError() ret=00411087 004c:Ret KERNEL32.GetLastError() retval=00000000 ret=00411087 004c:Call KERNEL32.WaitForMultipleObjects(00000002,0084aa08,00000000,00002710) ret=00411145 004c:Ret KERNEL32.WaitForMultipleObjects() retval=00000001 ret=00411145 004c:Call KERNEL32.GetOverlappedResult(00000054,0084aa10,0084a9fc,00000000) ret=0041116e 004c:Ret KERNEL32.GetOverlappedResult() retval=00000001 ret=0041116e 004c:Call KERNEL32.WaitForSingleObject(00000040,000003e8) ret=0040bd72 004c:Ret KERNEL32.WaitForSingleObject() retval=00000000 ret=0040bd72 ... --- 2nd gecko thread ---
After a bunch of operations on configuration files, string loading, writing to the gecko logfile, the 2nd gecko thread tries to read from the pipe again and fails with ERROR_IO_PENDING (000003e5).
--- 2nd gecko thread --- ... 004c:Call KERNEL32.ReadFile(00000054,0084ca40,00002000,0084a9fc,0084aa10) ret=0041107d 004c:Ret KERNEL32.ReadFile() retval=00000000 ret=0041107d 004c:Call KERNEL32.GetLastError() ret=00411087 004c:Ret KERNEL32.GetLastError() retval=000003e5 ret=00411087 004c:Call KERNEL32.WaitForMultipleObjects(00000002,0084aa08,00000000,00002710) ret=00411145 004c:Ret KERNEL32.WaitForMultipleObjects() retval=00000102 ret=00411145 004c:Call KERNEL32.GetLastError() ret=0041124a 004c:Ret KERNEL32.GetLastError() retval=000003e5 ret=0041124a ... --- 2nd gecko thread ---
Afterwards, the main thread fails to write to the pipe with WAIT_TIMEOUT (000000e9). It tries this 4 times then creates another named pipe and deadlocks(?).
--- main thread --- ... 0077:Call KERNEL32.CreateEventW(00000000,00000001,00000001,00000000) ret=10fe2b46 0077:Ret KERNEL32.CreateEventW() retval=000006d8 ret=10fe2b46 0077:Call KERNEL32.WriteFile(00000108,12510c30,00000034,02a9dc98,02a9dc7c) ret=10fe2b79 0077:Ret KERNEL32.WriteFile() retval=00000000 ret=10fe2b79 0077:Call KERNEL32.GetLastError() ret=10fe2b83 0077:Ret KERNEL32.GetLastError() retval=000000e9 ret=10fe2b83 0077:Call KERNEL32.CloseHandle(000006d8) ret=10fe2bcb 0077:Ret KERNEL32.CloseHandle() retval=00000001 ret=10fe2bcb ... 0077:Call KERNEL32.CreateNamedPipeW(02a9da44 L"\\.\pipe\apb_gecko_view_1",40000003,00000001,00000001,00002000,00002000,00000000,00000000) ret=1107c353 0077:Ret KERNEL32.CreateNamedPipeW() retval=00001190 ret=1107c353 0077:Call KERNEL32.ConnectNamedPipe(00001190,00000000) ret=1107c2f6 --- main thread ---
https://bugs.winehq.org/show_bug.cgi?id=37006
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|APB Reloaded freezes when |APB Reloaded freezes when |in-game gecko browser tries |loading built-in gecko |to load armas marketplace. |browser.
https://bugs.winehq.org/show_bug.cgi?id=37006
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|APB Reloaded freezes when |APB Reloaded freezes when |loading built-in gecko |loading custom gecko |browser. |browser.
https://bugs.winehq.org/show_bug.cgi?id=37006
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED
--- Comment #10 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- I had gameoverlayrenderer.dll set to disable in winecfg due to bug 35361 (game crash on input if steam overlay is enabled).
While testing for bug 40260 I restarted in a clean wine prefix and did not disable gameoverlayrenderer.dll because bug 35361 is fixed.
With steam community overlay enabled, the store opens in the steam web browser and there is no freeze. The browser can be closed and the game continues with no issue.
Either the steam overlay was required, or the game was updated to use the steam overlay, I don't know but this bug is now resolved.
closing invalid bug.
https://bugs.winehq.org/show_bug.cgi?id=37006
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|INVALID |--- Status|RESOLVED |UNCONFIRMED
--- Comment #11 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Reopening for non-steam game.
https://bugs.winehq.org/show_bug.cgi?id=37006
Thomas Kowaliczek linuxdonald@posteo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |linuxdonald@posteo.de
https://bugs.winehq.org/show_bug.cgi?id=37006
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://web.archive.org/web | |/20170608102756/http://down | |loaders.reloadedtech.com/pr | |od/reloadedgames/r43544/APB | |_Reloaded_Downloader.exe CC| |focht@gmx.net
--- Comment #12 from Anastasius Focht focht@gmx.net --- Hello folks,
please retest with current Wine 4.11+ and APB Reloaded Client 1.20+
$ sha1sum * cf662be0ef988717c01f7a28b6844c0e663a0e9f APB_Reloaded_Downloader.exe 25feec727d60fcf419ed0521d765ffe7cfca8091 APB_Reloaded_Installer.exe 02f8613290418269f7609ef749063b82b2b50938 Client1.20.0.810463.7z
$ du -sh * 2.8M APB_Reloaded_Downloader.exe 58M APB_Reloaded_Installer.exe 5.6G Client1.20.0.810463.7z
$ wine --version wine-4.11-192-g90a1e5d943
Regards
https://bugs.winehq.org/show_bug.cgi?id=37006
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |WORKSFORME
--- Comment #13 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
I could open the internal browser on the login screen with the non-steam version.
Though it was missing some pictures, it was functional.
This issue is resolved.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=37006
--- Comment #14 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Hello,
In fact, the application now uses WebKit and no more gecko.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=37006
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #15 from Ken Sharp imwellcushtymelike@gmail.com --- Closing bugs marked as worksforme.