http://bugs.winehq.org/show_bug.cgi?id=35652
Bug ID: 35652 Summary: Aura Kingdom Will Not Start Product: Wine Version: 1.7.13 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: iyeru42@gmail.com
Created attachment 47610 --> http://bugs.winehq.org/attachment.cgi?id=47610 Windows Process backtrace
Aura Kingdom will crash before the launcher even starts.
http://bugs.winehq.org/show_bug.cgi?id=35652
--- Comment #1 from Ian iyeru42@gmail.com --- Created attachment 47611 --> http://bugs.winehq.org/attachment.cgi?id=47611 Wine Terminal Backtrace
https://bugs.winehq.org/show_bug.cgi?id=35652
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |baowse117@gmail.com
--- Comment #2 from Anastasius Focht focht@gmx.net --- *** Bug 36872 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=35652
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Status|UNCONFIRMED |NEW URL| |http://download.aeriagames. | |com/files/games/us/auraking | |dom/csd/aurakingdom_us_down | |loader.exe CC| |focht@gmx.net Component|-unknown |user32 Summary|Aura Kingdom Will Not Start |Aeria Games 'Aura Kingdom' | |MMORPH launcher crashes on | |startup | |('DIALOG_CreateIndirect' | |needs to trigger WM_PAINT, | |missing 'UpdateWindow') Ever confirmed|0 |1
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
I lost my analysis here due to Firefox crash (writing half an hour into the comment field) hence you only get the short version now.
The launcher uses 'CreateDialogIndirectParamW' to create a dialog and crashes shortly after. It expects a redraw/paint handler to be called inside dialog creation. Wine doesn't do this, only calling 'ShowWindow' (which doesn't trigger repaint).
Any WM_USER after the dialog creation triggers a crash because some instance data is missing which ought to be allocated in paint handler.
I added an 'UpdateWindow' call directly after 'ShowWindow' in 'DIALOG_CreateIndirect' to trigger the paint message and it made the launcher work.
Source: http://source.winehq.org/git/wine.git/blob/1e5328c77c861e163081b5e084b648bc6...
$ sha1sum aurakingdom_us_downloader.exe b31bb993d30e87f59b6c211bacd49eb610075f8a aurakingdom_us_downloader.exe
$ du -shL aurakingdom_us_downloader.exe 572K aurakingdom_us_downloader.exe
$ wine --version wine-1.7.22
Regards
http://bugs.winehq.org/show_bug.cgi?id=35652
Pekka Paalanen pq@iki.fi changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pq@iki.fi
--- Comment #4 from Pekka Paalanen pq@iki.fi --- (In reply to Anastasius Focht from comment #3)
I added an 'UpdateWindow' call directly after 'ShowWindow' in 'DIALOG_CreateIndirect' to trigger the paint message and it made the launcher work.
Source: http://source.winehq.org/git/wine.git/blob/ 1e5328c77c861e163081b5e084b648bc6f6a72e8:/dlls/user32/dialog.c#l714
I just did on Wine 1.7.21 what you suggested there, and with installing dotnet40 with winetricks, it indeed does allow Launcher.exe to run. I sent a test report to AppDB, hopefully appearing after the review.
https://bugs.winehq.org/show_bug.cgi?id=35652
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Aeria Games 'Aura Kingdom' |Multiple MMORPH game |MMORPH launcher crashes on |launchers crash on startup |startup |('DIALOG_CreateIndirect' |('DIALOG_CreateIndirect' |needs to trigger WM_PAINT, |needs to trigger WM_PAINT, |missing |missing 'UpdateWindow') |'UpdateWindow')(Aeria Games | |'Aura Kingdom', STOnline)
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
I found another victim, 'Spirit Tales Online'
Download: http://st.koramgame.com/download/download.html
After debugging some hours I figured out it's the same issue.
Trace/relay log doesn't reveal much.
--- snip --- ... 004034C0 53 PUSH EBX 004034C1 56 PUSH ESI 004034C2 8BF1 MOV ESI,ECX 004034C4 8B86 A8000000 MOV EAX,DWORD PTR DS:[ESI+A8] 004034CA 57 PUSH EDI 004034CB 8DBE A8000000 LEA EDI,DWORD PTR DS:[ESI+A8] 004034D1 83E8 10 SUB EAX,10 004034D4 8378 0C 01 CMP DWORD PTR DS:[EAX+C],1 004034D8 7E 0B JLE SHORT _Launche.004034E5 ... 0040350B 3986 8C0B0000 CMP DWORD PTR DS:[ESI+B8C],EAX 00403511 8986 900B0000 MOV DWORD PTR DS:[ESI+B90],EAX 00403517 0F84 97000000 JE _Launche.004035B4 0040351D 8B5C24 10 MOV EBX,DWORD PTR SS:[ESP+10] 00403521 85DB TEST EBX,EBX 00403523 75 05 JNZ SHORT _Launche.0040352A 00403525 BB 3D3D3D00 MOV EBX,3D3D3D 0040352A 8B8E 8C000000 MOV ECX,DWORD PTR DS:[ESI+8C] ; NULL instance 00403530 8986 8C0B0000 MOV DWORD PTR DS:[ESI+B8C],EAX 00403536 8B86 90000000 MOV EAX,DWORD PTR DS:[ESI+90] 0040353C 85C0 TEST EAX,EAX 0040353E 74 03 JE SHORT _Launche.00403543 00403540 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4] 00403543 8B51 04 MOV EDX,DWORD PTR DS:[ECX+4] ; ECX == NULL *boom* 00403546 68 2000CC00 PUSH 0CC0020 ; rop 0040354B 68 1C020000 PUSH 21C ; y1 00403550 68 40010000 PUSH 140 ; x1 00403555 50 PUSH EAX ; hdcSrc 00403556 6A 12 PUSH 12 ; cy 00403558 68 AB010000 PUSH 1AB ; cx 0040355D 68 1C020000 PUSH 21C ; y 00403562 68 40010000 PUSH 140 ; x 00403567 52 PUSH EDX ; hdc 00403568 FF15 E8604800 CALL DWORD PTR DS:[<&GDI32.BitBlt>] ... --- snip ---
Dump of internal object (referenced by ESI):
--- snip --- $-4 022108FC 00455355 USE. $ ==> 02210900 0048747C $+4 02210904 00000001 $+8 02210908 00000000 $+C 0221090C 00000000 $+10 02210910 00000000 $+14 02210914 00000001 $+18 02210918 00000000 $+1C 0221091C 0012A4D0 $+20 02210920 000500E2 $+24 02210924 00000000 $+28 02210928 00000000 $+2C 0221092C 00000000 $+30 02210930 0049592C ; _Launcher.0049592C $+34 02210934 004959A0 ; _Launcher.004959A0 $+38 02210938 00000000 $+3C 0221093C 00000018 $+40 02210940 7E8E5E8F ; OFFSET user32.DefDlgProcW $+44 02210944 FFFFFFFF $+48 02210948 00000000 $+4C 0221094C 00000000 $+50 02210950 00000000 $+54 02210954 00000066 $+58 02210958 00000066 $+5C 0221095C 00000000 $+60 02210960 00000000 $+64 02210964 00000000 $+68 02210968 00000000 $+6C 0221096C 00000000 $+70 02210970 00000000 $+74 02210974 00190032 $+78 02210978 00000000 $+7C 0221097C 00000405 $+80 02210980 000002A2 $+84 02210984 00000001 $+88 02210988 00000003 $+8C 0221098C 00000000 ; missing instance data (1) $+90 02210990 00000000 ; missing instance data (2) ... --- snip ---
Instance data creation by game winproc handler (WM_PAINT case):
--- snip --- ... 00405210 6A FF PUSH -1 00405212 68 DC184800 PUSH 004818DC ; Entry point 00405217 64:A1 0000000 MOV EAX,DWORD PTR FS:[0] 0040521D 50 PUSH EAX 0040521E 83EC 1C SUB ESP,1C 00405221 53 PUSH EBX 00405222 55 PUSH EBP 00405223 56 PUSH ESI 00405224 57 PUSH EDI 00405225 A1 30804A00 MOV EAX,DWORD PTR DS:[4A8030] ... 00405259 56 PUSH ESI 0040525A 8BC8 MOV ECX,EAX 0040525C E8 71F60400 CALL 004548D2 ; _Launcher.004548D2 00405261 EB 02 JMP SHORT 00405265 00405263 33C0 XOR EAX,EAX 00405265 8986 8C000000 MOV DWORD PTR DS:[ESI+8C],EAX ; instance data (1) 0040526B 8B10 MOV EDX,DWORD PTR DS:[EAX] ; ASCII "SAE" 0040526D 8B52 28 MOV EDX,DWORD PTR DS:[EDX+28] ... --- snip ---
The game launcher creates a dhtml-based dialog using 'CreateDialogIndirectParamW' and expects it's redraw/paint handler being called inside dialog creation.
Wine doesn't do this, only calling 'ShowWindow' (which doesn't trigger repaint), resulting in missing instance data, causing the crash.
My fix from comment #3 also makes this launcher/game to work - it starts auto-update.
You might consider sending a patch since these user32 bugs are nasty/time consuming to investigate.
$ sha1sum STOnline_US_20140507.exe 4b29fb0176f5d325e31698338b85bce65438145e STOnline_US_20140507.exe
$ du -sh STOnline_US_20140507.exe 2.4G STOnline_US_20140507.exe
$ wine --version wine-1.7.27-47-g92bcb74
Regards
https://bugs.winehq.org/show_bug.cgi?id=35652
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #6 from Sebastian Lackner sebastian@fds-team.de --- This patch should fix the issue: https://github.com/compholio/wine-compholio/blob/master/patches/user32-Dialo...
I'll try to submit it, but I fear that it will require some test to get it into the official branch.
https://bugs.winehq.org/show_bug.cgi?id=35652
Rosanne DiMesio dimesio@earthlink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bettawarrior.e@gmail.com
--- Comment #7 from Rosanne DiMesio dimesio@earthlink.net --- *** Bug 37428 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=35652
--- Comment #8 from bettawarrior.e@gmail.com --- How do I do this, I don´t understand. Honestly. .-.
https://bugs.winehq.org/show_bug.cgi?id=35652
--- Comment #9 from bettawarrior.e@gmail.com --- (In reply to bettawarrior.e from comment #8)
How do I do this, I don´t understand. Honestly. .-.
*?
https://bugs.winehq.org/show_bug.cgi?id=35652
--- Comment #10 from Austin English austinenglish@gmail.com --- (In reply to bettawarrior.e from comment #8)
How do I do this, I don´t understand. Honestly. .-.
http://wiki.winehq.org/Patching
https://bugs.winehq.org/show_bug.cgi?id=35652
--- Comment #11 from bettawarrior.e@gmail.com --- Damn... Sorry again for the bother, I must be stupid... I really still don´t understand how I should add the patch. How is that I should even download the patch... Sorry for the bother...
https://bugs.winehq.org/show_bug.cgi?id=35652
--- Comment #12 from Austin English austinenglish@gmail.com --- (In reply to bettawarrior.e from comment #11)
Damn... Sorry again for the bother, I must be stupid... I really still don´t understand how I should add the patch. How is that I should even download the patch... Sorry for the bother...
Please use the forum (https://forum.winehq.org/) for help with patching.
https://bugs.winehq.org/show_bug.cgi?id=35652
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nodisgod@yahoo.com
--- Comment #13 from Anastasius Focht focht@gmx.net --- *** Bug 15549 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=35652
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple MMORPH game |Multiple MMORPH game |launchers crash on startup |launchers crash on startup |('DIALOG_CreateIndirect' |or apps fail to update |needs to trigger WM_PAINT, |initial window content |missing |('DIALOG_CreateIndirect' |'UpdateWindow')(Aeria Games |needs to trigger |'Aura Kingdom', STOnline) |WM_PAINT)(Aeria Games 'Aura | |Kingdom', STOnline)
--- Comment #14 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary again to collect further dupes here.
If you find other apps working/bug reports fixed by having specifically https://github.com/wine-compholio/wine-staging/blob/master/patches/user32-Di... applied, please mention it in the bug reports so they can be potentially merged here.
Thanks.
Regards
https://bugs.winehq.org/show_bug.cgi?id=35652
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |michael@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/user32-Dialog_ | |Paint_Event
https://bugs.winehq.org/show_bug.cgi?id=35652
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=35652
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Findanother1X3@gmail.com
--- Comment #15 from Bruno Jesus 00cpxxx@gmail.com --- *** Bug 38920 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=35652
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nerv@dawncrow.de Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/user32-Dialog_ |er/patches/user32-Dialog_Pa |Paint_Event |int_Event
https://bugs.winehq.org/show_bug.cgi?id=35652
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://download.aeriagames. |https://web.archive.org/web |com/files/games/us/auraking |/20160320083158/http://f-us |dom/csd/aurakingdom_us_down |.koramgame.com/us_gd/dl/STO |loader.exe |nline_US_20141210.exe
--- Comment #16 from Anastasius Focht focht@gmx.net --- Hello folks,
adding stable download via Internet Archive:
https://web.archive.org/web/20160320083158/http://f-us.koramgame.com/us_gd/d...
Unlike Aeria Games' 'Aura Kingdom', the 'Spirit Tales Online' client is a full offline installer that doesn't need online connection for bootstrapping/download (only for later updates).
The old links for Aura Kingdom won't work even with Internet Archive because the downloader contacts defunct server(s).
https://web.archive.org/web/*/http://download.aeriagames.com/files/games/us/...
New one:
https://web.archive.org/web/20210709172631/https://downloaders.aeriagames.co...
--- snip --- $ pwd /home/focht/.wine/drive_c/koramgame/STOnline
$ wine ./Launcher.exe ... 0100:fixme:ieframe:BrowserService_GetTravelLog 03FBE380 00329C50 0100:fixme:ieframe:ClientSite_GetContainer (0090D3B0)->(00329C64) 0100:fixme:ieframe:ClientSite_GetContainer (0090D3B0)->(0032D900) 0100:fixme:ieframe:DocHostUIHandler_GetDropTarget (0090D3B0) wine: Unhandled page fault on read access to 00000004 at address 004040A3 (thread 0100), starting debugger... --- snip ---
$ sha1sum STOnline_US_20141210.exe 2a4a9099ec43637e27f3ec325bbf940132b93596 STOnline_US_20141210.exe
$ du -sh STOnline_US_20141210.exe 2.7G STOnline_US_20141210.exe
$ wine --version wine-6.12-162-gd10887b8f56
Regards
https://bugs.winehq.org/show_bug.cgi?id=35652
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #17 from joaopa jeremielapuree@yahoo.fr --- Bug still occurs with wine_8.16.