http://bugs.winehq.org/show_bug.cgi?id=15323
Summary: Warhammer Online : game (patcher) doesn't start Product: Wine Version: CVS/GIT Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: mat@voxmobili.com
When launching the game the normal way (through warpatch.exe), the patcher window doesn't appear and the program doesn't return.
Running with WINEDEBUG=+relay,+tid,+win wine warpatch.exe it seems to hang at this point (full log attached):
0018:Call user32.GetMessageW(7e17d9fc,00000000,00000000,00000000) ret=10001082 0009:Ret KERNEL32.Sleep() retval=00000000 ret=10002aab 0009:Call KERNEL32.Sleep(0000000a) ret=10002aab ... and sleep and sleep and Zzzzzzzzz...
This is reproduceable every time on my system (kubuntu) though apparently it works for some others.
http://bugs.winehq.org/show_bug.cgi?id=15323
--- Comment #1 from mat@voxmobili.com 2008-09-18 04:34:19 --- Created an attachment (id=16155) --> (http://bugs.winehq.org/attachment.cgi?id=16155) Log of WINEDEBUG=+relay,+tid,+win wine warpatch.exe
The beginning of the file was cut to reduce the attachement size, it starts at the last "CreateWindowExW".
http://bugs.winehq.org/show_bug.cgi?id=15323
mat@voxmobili.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #16155|application/octet-stream |text/plain mime type| |
http://bugs.winehq.org/show_bug.cgi?id=15323
--- Comment #2 from designerfx matthewreingold@gmail.com 2008-09-21 09:03:08 --- Created an attachment (id=16194) --> (http://bugs.winehq.org/attachment.cgi?id=16194) copied log from command same as first bug reporter
Confirmed that the patcher only works when you follow the tricks under http://appdb.winehq.org/objectManager.php?sClass=version&iId=13139&i...
aka: Patching via executing warpatch.exe and pressing i quickly; substituting the patch.warol.net in the patch.cfg in both locations with the IP (206.112.184.165), after adding winhttp.dll file to the system32 wine folder.
adding my own similar winedebug log. This is after having successfully ran the patcher using the above workaround. I get a JIT popup error, too.
I downloaded the game after purchasing from direct2drive and extracting their zip of the game.
Wine version = 1.15 gcc -v output: gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
command line: designerfx@Matt-laptop:~/Desktop/war/WarhammerAgeOfReckoningDD_M10-3/data1$ WINEDEBUG=+relay+tid+win wine warpatch.exe >& debugmsg.out
http://bugs.winehq.org/show_bug.cgi?id=15323
designerfx matthewreingold@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #3 from designerfx matthewreingold@gmail.com 2008-09-21 09:03:27 --- *** This bug has been confirmed by popular vote. ***
http://bugs.winehq.org/show_bug.cgi?id=15323
--- Comment #4 from Austin English austinenglish@gmail.com 2008-09-21 18:20:52 --- (In reply to comment #2)
command line: designerfx@Matt-laptop:~/Desktop/war/WarhammerAgeOfReckoningDD_M10-3/data1$ WINEDEBUG=+relay+tid+win wine warpatch.exe >& debugmsg.out
Rerun with:
designerfx@Matt-laptop:~/Desktop/war/WarhammerAgeOfReckoningDD_M10-3/data1$ WINEDEBUG=+relay,+tid,+win wine warpatch.exe >& debugmsg.txt
http://bugs.winehq.org/show_bug.cgi?id=15323
Alan Jackson ajackson@bcs.org.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ajackson@bcs.org.uk
http://bugs.winehq.org/show_bug.cgi?id=15323
--- Comment #5 from mat@voxmobili.com 2008-09-25 07:32:20 --- I added the full trace of "WINDEBUG=+win,+tid,+relay wine warpatch.exe" : Unzipped (3 MB) : http://www.herebedragons.org/wine/debug.txt Zipped (120 kB) :http://www.herebedragons.org/wine/debug.zip
The normal starting process from a user point of view is: 1) login window 2) patcher window 3) game window
If I'm not mistaken, the patcher window is created first but kept undisplayed ("thread" 0018). In my case, I never see the login window, and it doesn't seem to be created in the trace.
If we run with a virtual desktop, use warpatch.bin instead of warpatch.exe, we have the same behavior until we hit the "x" to close the virtual desktop. Then the login window appears, though everything closes shortly after. The corresponding trace is here (zipped, 473kB) : http://www.herebedragons.org/wine/debugbin.zip
http://bugs.winehq.org/show_bug.cgi?id=15323
Ghotcom ghotcom@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ghotcom@gmail.com
--- Comment #6 from Ghotcom ghotcom@gmail.com 2008-09-25 18:26:11 --- Yeepeekai lol I have it patching right now (^_^)V under GoboLinux x86_64 using wine 1.1.5 with patch from Aric Stewart and stuffed with winhttp.dll, gecko, directx9
I ran wine warpatch.bin a couple times, interspersed with wineboot -r commands, then upon a try it suddenly appeared, the skinned patcher login window, which after proceeding led me to the proper patching window. in the end I was presented a news/informations screen with following message:
(proof)
Nous invitons les nouveaux joueurs à se connecter de préférence sur les serveurs les moins peuplés, afin d'éviter les risques de file d'attente.
Serveurs "normaux" :
* Forêt de Laurelorn * Dechala * Ghrond
Serveurs "RvR Ouvert" :
* Hellebron * Tour de Hoeth
Serveur "Jeu de Rôle" :
* Har Ganeth
Serveur "Jeu de Rôle / RvR Ouvert" :
* Nehekhara
Bonjour à tous !
Trois ans après le début de notre aventure Warhammer, nous voilà prêts à vous présenter le fruit de notre travail avec le dernier MMORPG de Mythic Entertainment, Warhammer Online : Age of Reckoning. Ce fut une aventure des plus intéressantes, chargée de moments heureux comme plus difficiles, de joie comme de peine. Au final, ce que nous avons apporté c’est notre vision du monde épique de Warhammer Fantasy. Ce monde dans lequel vous allez pénétrer est un monde plein de grandeur et de gloire, mais ce n'est pas la vision d'une personne ou d'une compagnie : c'est une vision qui a été créée à partir de la vision que chacun en avait ainsi que des efforts de tout le monde que ce soit chez Mythic, Games Workshop ou chez EA. Avec notre partenaire GOA en Europe, GigaMedia à Taiwan et nos futures partenaires dans le monde, nous souhaitons apporter cette vision partout. WAR n'enseignera pas le chant au monde (ni la danse), mais nous souhaitons qu'il puisse enseigner au monde la WAAAGH !
Rob et moi souhaitions profiter de l'opportunité pour remercier toutes les personnes ayant permis de donner vie à Warhammer Fantasy dans ce jeu. Qu'il s'agisse de nos partenaires et amis de Games Workshop, Electronic Arts ou GOA, vous nous avez aidés à donner vie à ce jeu. Cependant, nos principaux remerciements vont à nos équipes et notre studio, sans le travail acharné et l'engagement desquels rien n'aurait été possible. Nous vous remercions tous vraiment, vraiment, beaucoup.
J'espère que vous appréciez vos aventures dans cet univers et je vous jure que tout le monde chez Mythic a travaillé de son mieux pour vous offrir ce jeu, mais qu'il ne s'agit au final que de la première étape de notre aventure. Nous avons encore un long chemin à faire sur cette route et j'espère que nous pourrons le faire ensemble, et pendant très longtemps.
Mark Jacobs et Rob Denton Mythic Entertainment.
----------------------------
Mises à jour du 24 septembre 2008.
* Nous avons corrigé un problème qui empêchait les scénarios de débuter sur les serveurs à forte population. Désormais, la file d'attente se remplira correctement sur tous les serveurs. * Nous avons corrigé le problème laissant les portes ouvertes après la capture d'un fort. Les portes se fermeront désormais lors d'une capture réussie. * Les talismans ne disparaissaient pas correctement de votre inventaire après avoir été appliqués sur un objet. Ceci a été corrigé et ils disparaitront dès qu'ils seront utilisés.
http://bugs.winehq.org/show_bug.cgi?id=15323
--- Comment #7 from mat@voxmobili.com 2008-09-26 04:22:50 --- None of this changes anything for me, I still can't get the login window to appear either with warpatch.bin or .exe.
http://bugs.winehq.org/show_bug.cgi?id=15323
Germain Barret sandburg@netcourrier.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sandburg@netcourrier.com
--- Comment #8 from Germain Barret sandburg@netcourrier.com 2008-09-30 02:58:42 --- Does anybody under Ubuntu (8.04) get the Login Window / Patcher Window ??? What is the date of your warpatch.exe ? What are the actions needed ? What are the librairies installed on your Ubuntu (packages) ?
http://bugs.winehq.org/show_bug.cgi?id=15323
--- Comment #9 from mat@voxmobili.com 2008-10-02 08:09:55 --- I've done a few more tests, I'm able to get the login window to show by repeatedly running "wine warpatch.bin" then cancelling (ctrl-c). I've put up a side by side comparison of startup differences when the window appears and when it doesn't here (formatting is so so...): http://www.herebedragons.org/wine/debug.html
It looks like when I get the window to show up, it's because some things are already instanciated : wine didn't yet fully stop from my previous command run. Bad init or race condition somewhere ?
(Note: this is on latest kubuntu, current git wine version with andrew stewart patches for the DrawText assertions).
http://bugs.winehq.org/show_bug.cgi?id=15323
Brett Johnson brett@blzj.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |brett@blzj.com
http://bugs.winehq.org/show_bug.cgi?id=15323
Jeff Zaroyko jeffz@jeffz.name changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |1.1.4
http://bugs.winehq.org/show_bug.cgi?id=15323
Paul "TBBle" Hampson Paul.Hampson@Pobox.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Paul.Hampson@Pobox.com
--- Comment #10 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-02-22 08:28:10 --- I've been looking at this anew, and here's what I've found, in summary, from warpatch.bin.
The patcher creates a second thread, then goes and starts checking a certain shared flag for a 0 (which is its initial value) calling Sleep(10) in the meantime.
The thread's code sets the flag to 1, launches its own code (which is the actual windows you see when it works) and then sets the flag to 0.
The times that it works, the original thread gets to the flag check before the new thread sets it to 1, so it continues past that and sends off some messages (WM_USER, WM_USER+1 abd WM_USER+2) which I'm currently guessing cause the window to actually appear.
When it doesn't work, the main thread is spinning on Sleep(10) as mentioned above, while the second thread is actually spinning on GetMessageW, in a GetMessage-TranslateMessage-DispatchMessage loop which only ends when GetMessage returns 0 (ie. WM_QUIT came in).
So it looks to me like the main thread is supposed to sit by idly until the second thread exits, but in this case the second thread's window is not becoming visible. Nor should it, as the second thread's window is the main patching window, and the login window is supposed to be displayed first.
So it looks to me like a bug in the patcher. The main thread which creates and operates the login window is blocking before doing so on the thread which creates (hidden) the main patcher window, except in the specific case that the main thread checks and passes that block before the second thread sets it.
I guess this specific case always happens under Windows due to CreateThread returning and the parent thread staying active for at least a little while longer.
For anyone playing along at home, the login window is "EAMythic Patcher" and the main patch window is "EAMythic Patch Client".
http://bugs.winehq.org/show_bug.cgi?id=15323
--- Comment #11 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-03-01 00:13:59 --- Created an attachment (id=19723) --> (http://bugs.winehq.org/attachment.cgi?id=19723) Demonstration of failure case in the kernel32 Wine unit test
I've attached a patch against current git HEAD which demonstrates the failure case of warpatch.bin. (It replaces the 'thread' test in kernel32 with three tests plus one in the START_TEST routine, and the relevant test is "Thread ran before creator did".)
On Windows (only tested on WinXP) it always succeeds. Under Wine on my machine, it generally fails if wineserver is not running, and generally succeeds if wineserver is running. But not always, in both cases.
Anyway, I'm going to post this patch to wine-devel for discussion, but as far as I can tell there's nothing documented that specifies either for or against this behaviour, but this is the bug in a nutshell.
http://bugs.winehq.org/show_bug.cgi?id=15323
--- Comment #12 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-03-01 01:17:01 --- Created an attachment (id=19724) --> (http://bugs.winehq.org/attachment.cgi?id=19724) Yield before calling a new thread's start routine
This patch seems to provide better chances of successfully starting of Warhammer Online's patcher. I can't say if it has a positive or negative effect elsewhere, but it seems to slightly better match the Win32 behaviour tested in attachment 19723 as per comments 10 and 11.
http://bugs.winehq.org/show_bug.cgi?id=15323
Nicolas Laurenti kleph@kleph.info changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kleph@kleph.info
--- Comment #13 from Nicolas Laurenti kleph@kleph.info 2009-05-12 15:42:59 --- The patch given in comment #12 did not work for me. Maybe it's a slight different problem since i never got the warpatch window. Not even once in douzens of runs. I tried a few versions of wine since 1.1.15 to 1.1.19
I found a very ugly way to start the patcher. It fails sometimes (usually twice in a row) but succes most of the time (maybe something around 8 out of 10 times)
By reading the other comments here i explored libpatchui.dll. The dll cannot be patched otherwise it will be regenerated. So i use winedbg.
The purpose is the same as the patch, exiting the loop that keeps waiting on the shared flag.
winedbg warpatch.bin
break *0x10002a8e finish set $ecx = 0xffffff01 quit
It fails with an unhandled exception when i put the commands in a winedbg script, i don't understand why.
Hopping this will help some bad luck guys like me to play the game :)
http://bugs.winehq.org/show_bug.cgi?id=15323
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zirous@gmail.com
--- Comment #14 from Ken Sharp kennybobs@o2.co.uk 2009-05-27 19:06:57 --- *** Bug 15331 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=15323
--- Comment #15 from Austin English austinenglish@gmail.com 2010-03-11 17:20:55 --- This is your friendly reminder that there has been no bug activity for 8 months. Is this still an issue in current (1.1.40 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=15323
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |ABANDONED
--- Comment #16 from Austin English austinenglish@gmail.com 2011-03-29 21:58:03 CDT --- No response in over a year, marking abandoned. If this is still an issue in current (1.3.16 or newer) wine, and you can provide the needed information, feel free to reopen.
http://bugs.winehq.org/show_bug.cgi?id=15323
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Austin English austinenglish@gmail.com 2011-03-29 21:58:58 CDT --- Closing.