WineHQ
Bug Tracking Database – Bug 31979

 Bugzilla

 

Last modified: 2014-12-31 12:57:36 UTC  

Lord of the Rings Online crashes at startup

Bug 31979 - Lord of the Rings Online crashes at startup
Lord of the Rings Online crashes at startup
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: user32
1.4.1
x86-64 Linux
: P2 normal
: ---
Assigned To: Mr. Bugs
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2012-10-15 12:09 UTC by Daniel Santos
Modified: 2014-12-31 12:57 UTC (History)
15 users (show)

See Also:
Regression SHA1:
Fixed by SHA1: 7fc61f6fea27d207706f896dbf47285516ebe760
Distribution: ---
Staged patchset:


Attachments
backtrace (6.75 KB, text/plain)
2012-10-15 12:09 UTC, Daniel Santos
Details
Lord of the ring online crashes after 15Oct update (Rider of Rohan). Game launched using PyLOTRO (6.96 KB, text/plain)
2012-10-15 13:26 UTC, Alexandre
Details
backtrace (6.85 KB, text/plain)
2012-10-15 13:51 UTC, wireloose
Details
console log (1.65 KB, text/plain)
2012-10-15 13:57 UTC, wireloose
Details
ran +relay, last 500 lines here (40.27 KB, text/plain)
2012-10-15 14:29 UTC, wireloose
Details
patch to fix problem (744 bytes, patch)
2012-10-15 15:18 UTC, Daniel Santos
Details | Diff
winedbg session showing (parts of) the problem (2.34 KB, text/plain)
2012-10-15 15:50 UTC, Marko Friedemann
Details
revised patch (744 bytes, patch)
2012-10-16 16:33 UTC, Daniel Santos
Details | Diff
correct patch (1.41 KB, patch)
2012-10-16 21:42 UTC, Daniel Santos
Details | Diff
basic tests for ScreenToClient (1.34 KB, patch)
2012-10-17 23:49 UTC, Daniel Santos
Details | Diff
wine 1.5.16 (7.02 KB, text/plain)
2012-10-26 17:08 UTC, Koray Özcan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Santos 2012-10-15 12:09:43 UTC
Created attachment 42134 [details]
backtrace

So first off, this is the latest patch as of October 15th, entitled "Riders of Rohan".  This doesn't appear related to bug #24896 by the same name.

Unhandled exception: page fault on write access to 0x00000034 in 32-bit code (0x006d3fd2)
Comment 1 Alexandre 2012-10-15 13:26:02 UTC
Created attachment 42138 [details]
Lord of the ring online crashes after 15Oct update (Rider of Rohan). Game launched using PyLOTRO
Comment 2 Alexandre 2012-10-15 13:29:56 UTC
Comment on attachment 42138 [details]
Lord of the ring online crashes after 15Oct update (Rider of Rohan). Game launched using PyLOTRO

I confirm the issue appeared after the latest update (15 octover, Rider of Rohan). Game launched using PyLOTRO.

I attached my backtrack which seem to be virutally identical although I am running different version of wine and kernel. I am running Kubuntu 12.10 with all updates.
Comment 3 Dan Kegel 2012-10-15 13:41:36 UTC
Happens in wine-1.4.1, too, so setting version.

Can you provide a console log?
Comment 4 Andrzej Kardaś 2012-10-15 13:45:05 UTC
I can confirm this problem on Gentoo 64bit kernel 3.5.3, wine 1.5.15. Game was running in the same wine prefix, the very same day just before the update. My backtrace is almost identical exept the system information.
Comment 5 wireloose 2012-10-15 13:50:52 UTC
Same issue, same backtrace.  
Ubuntu 12.04.1 LTS
kernel 3.2.0-32-generic
Wine version 1.5.14

Was working fine until today's LOTRO update.
Comment 6 wireloose 2012-10-15 13:51:40 UTC
Created attachment 42139 [details]
backtrace
Comment 7 Dan Kegel 2012-10-15 13:53:35 UTC
Please provide a console log.
http://wiki.winehq.org/FAQ#get_log
Comment 8 wireloose 2012-10-15 13:57:39 UTC
Created attachment 42140 [details]
console log
Comment 9 Dan Kegel 2012-10-15 14:02:41 UTC
Not enough to go on there - might need someone comfortable with +relay to
have a look.
Comment 10 wireloose 2012-10-15 14:07:54 UTC
Not familiar with +relay but willing to try.  I assume this means giving you some access for data collection/review.
Comment 11 Andrzej Kardaś 2012-10-15 14:14:37 UTC
export WINEDEBUG=+relay and then lunch the game. I will attach my console output with +relay in just a second
Comment 12 Wiliam H. Magill 2012-10-15 14:22:26 UTC
The LOTRO Riders of Rohan client has crashed all through all versions of the Beta. Including the last version 6.1

I have been working with Codeweavers Crossover version of WINE 1.4 throughout the Beta (i.e. since July of 2012).

Result has always been the same.

Note that during the beta it was ascertained that the LOTRO Client is a 32bit client addressing MORE than 4GB of memory.

Turbine also was testing a Mac Client, which exhibited the same symptoms - it is a 32 bit client and crashes to the desktop attempting to address greater than 3.7GB of memory.
Release of the Mac Client has been delayed because of this. (Crash to desktop with a MTBF of about 90 minutes max.)

It is also known that there have been significant changes to the Game Client to implement various new technologies for this release. Which is to say, Update 8 is NOT a simple client patch, but a major one.
Comment 13 Andrzej Kardaś 2012-10-15 14:27:40 UTC
WINEDEBUG=+relay makes the console output file to big to upload it here. I compressed it and uploaded to my web server. You can can downlod it here:
http://www.kardasa.pl/downloads/lotro_linux.txt.tar.gz
Comment 14 wireloose 2012-10-15 14:29:57 UTC
Created attachment 42143 [details]
ran +relay, last 500 lines here

I also ran with +relay but the attachment is 56MB in size.  I tailed off the last 500 lines here in case they are useful.
Comment 15 Wiliam H. Magill 2012-10-15 14:32:17 UTC
(In reply to comment #12)
> The LOTRO Riders of Rohan client has crashed all through all versions of the
> Beta. Including the last version 6.1
> 
> I have been working with Codeweavers Crossover version of WINE 1.4 throughout
> the Beta (i.e. since July of 2012).
> 
> Result has always been the same.
> 
> Note that during the beta it was ascertained that the LOTRO Client is a 32bit
> client addressing MORE than 4GB of memory.
> 
> Turbine also was testing a Mac Client, which exhibited the same symptoms - it
> is a 32 bit client and crashes to the desktop attempting to address greater
> than 3.7GB of memory.
> Release of the Mac Client has been delayed because of this. (Crash to desktop
> with a MTBF of about 90 minutes max.)
> 
> It is also known that there have been significant changes to the Game Client to
> implement various new technologies for this release. Which is to say, Update 8
> is NOT a simple client patch, but a major one.

I should add: Crossover version 11.2.2 running on OSX Mountain Lion 10.8.2
Comment 16 Dan Kegel 2012-10-15 14:33:58 UTC
I suspect we need a wine developer to have a look directly with +relay,+seh.
Attaching logs might not be all that helpful.
Comment 17 Bruno Jesus 2012-10-15 14:35:53 UTC
(In reply to comment #13)
> WINEDEBUG=+relay makes the console output file to big to upload it here. I
> compressed it and uploaded to my web server. You can can downlod it here:
> http://www.kardasa.pl/downloads/lotro_linux.txt.tar.gz

What is the partition type of Z:/storage/wine/gry/tools/PyLotRO ? If fat/ntfs/network try again in a native partition. Possibly that's not the problem but helps eliminating this question.
Comment 18 Daniel Santos 2012-10-15 14:47:29 UTC
Wow! what a busy bug!

So I have some time right now so I'll debug it, but I'm having some problems with
winedbg at the moment moment, so I'll have to troubleshoot that first. 
Building current git wine first as well and then going to try this patch submitted on the appdb page:

--- wine-1.5.10.orig/dlls/user32/winpos.c       2012-07-31 21:08:12.000000000 +0200
+++ wine-1.5.10/dlls/user32/winpos.c    2012-09-01 14:43:47.000000000 +0200
@@ -251,8 +251,7 @@ BOOL WINAPI ClientToScreen( HWND hwnd, L
  */
 BOOL WINAPI ScreenToClient( HWND hwnd, LPPOINT lppnt )
 {
-    MapWindowPoints( 0, hwnd, lppnt, 1 );
-    return TRUE;
+    return MapWindowPoints( 0, hwnd, lppnt, 1 ) != 0;
 }
Comment 19 Daniel Santos 2012-10-15 15:06:30 UTC
(In reply to comment #12)
Wiliam, thanks for all of this info.  Of course, it may or may not be the cause of this *particular* crash, but it is very helpful! 

> Release of the Mac Client has been delayed because of this. (Crash to desktop
> with a MTBF of about 90 minutes max.)

Note that this crash is happening immediately.

> It is also known that there have been significant changes to the Game Client to
> implement various new technologies for this release. Which is to say, Update 8
> is NOT a simple client patch, but a major one.

So is this being called Update 8?  Trying to manage this in appdb is a real pain, since we have such non-standard versions, like "Volume III, Book 2" then "Update 7", which as I understand, didn't add any new "books".  Then the version info of the client executable, currently containing the following entries:

CompatibiltyVersion 7479
FileVersion         03.08.00.8026
TurbineBuildVersion 03.08.00.8026.RELEASE
ProductVersion      03.08.00.8026 u08
TurbineFriendlyName u08
Comment 20 Daniel Santos 2012-10-15 15:13:30 UTC
Well, amazingly enough, building from git with this patch fixes the problem.  I haven't yet tested latest git without the patch however, so I'll do that and post the result.
Comment 21 Andrzej Kardaś 2012-10-15 15:18:02 UTC
> What is the partition type of Z:/storage/wine/gry/tools/PyLotRO ? If
> fat/ntfs/network try again in a native partition. Possibly that's not the
> problem but helps eliminating this question.

I do not have any Windows, my games are lunched from ext4 partition
Comment 22 Daniel Santos 2012-10-15 15:18:48 UTC
Created attachment 42144 [details]
patch to fix problem

OK, I can confirm that this patch indeed fixes it.  We need to figure out who the credit goes to however. It was originally posted by the user HuSSaR on appdb.
Comment 23 wireloose 2012-10-15 15:24:08 UTC
If I don't have a development environment setup how do I get the patch into my binaries?
Comment 24 Marko Friedemann 2012-10-15 15:50:56 UTC
Created attachment 42145 [details]
winedbg session showing (parts of) the problem

This was my first winedbg session, so take it easy on me, please.
Comment 25 Marko Friedemann 2012-10-15 15:53:32 UTC
As per the attachment, analyzed this a bit with winedbg.
Looking at the patch posted, this looks like the culprit and solution.

What I _think_ might be happening is that the new Rohan client calls this function much earlier than before (if it was called before, at all), when the initialization isn't properly finished.
Comment 26 Wiliam H. Magill 2012-10-15 16:04:14 UTC
(In reply to comment #19)
> (In reply to comment #12)
> Wiliam, thanks for all of this info.  Of course, it may or may not be the cause
> of this *particular* crash, but it is very helpful! 
> 
> > Release of the Mac Client has been delayed because of this. (Crash to desktop
> > with a MTBF of about 90 minutes max.)
> 
> Note that this crash is happening immediately.
> 
> > It is also known that there have been significant changes to the Game Client to
> > implement various new technologies for this release. Which is to say, Update 8
> > is NOT a simple client patch, but a major one.
> 
> So is this being called Update 8?  Trying to manage this in appdb is a real
> pain, since we have such non-standard versions, like "Volume III, Book 2" then
> "Update 7", which as I understand, didn't add any new "books".  Then the
> version info of the client executable, currently containing the following
> entries:
> 
> CompatibiltyVersion 7479
> FileVersion         03.08.00.8026
> TurbineBuildVersion 03.08.00.8026.RELEASE
> ProductVersion      03.08.00.8026 u08
> TurbineFriendlyName u08

Turbine began using "Update x.x.x" terminology following the Free to Play
release... I think because THEY couldn't keep track.

So, this one is "officially" called: "Update 8, Riders of Rohan" in the title
of the release notes.
Comment 27 wireloose 2012-10-15 16:56:12 UTC
asking again:  If I don't have a development environment setup how do I get the patch into my binaries? I forced an update from 1.5.14 to 1.5.15 but that's as far as I got.  Problem still exists.
Comment 28 Daniel Santos 2012-10-15 17:05:43 UTC
(In reply to comment #27)
> asking again:  If I don't have a development environment setup how do I get the
> patch into my binaries? I forced an update from 1.5.14 to 1.5.15 but that's as
> far as I got.  Problem still exists.

First off wireloose, this isn't a support forum, it's a bug tracking database.  You simply cannot use this patch without setting up a development environment.  Why don't you go post on the appdb page and specify which distro (and version) you are running and see if anybody will build one for you.  It would be good to have in the interrum, until this patch is merged & released.  Alternately, I posted a few links at the top of the appdb page on how to build wine.

I don't know if it's possible to build a static libwine, since it pulls in so many other libraries, and they would each have to be built statically as well.
Comment 29 wireloose 2012-10-15 17:07:24 UTC
Thanks the answer.
Comment 30 Marko Friedemann 2012-10-15 17:14:51 UTC
OK, confirming the patch works for me as well. Against wine-1.5.15 from git earlier.
Comment 31 Daniel Santos 2012-10-15 17:34:05 UTC
Sadly, this patch was posted to the "bullroarer beta" forum, I guessing for participants in the beta testing, and that forum has reportedly been wiped, so I'm having trouble finding who to credit this patch to, but it's a very good find!
Comment 32 Alexandre 2012-10-15 17:52:22 UTC
I also confirm patched GIT does work. Didn't test anything in-game. 

For those asking, I compiled from git without trouble, it's not hard. 
It's outside the scope of a bug report though. I'll still post how I did it...

1. I used ubuntu 12.04 32bit. To get the dependency:

# sudo apt-get build-dep wine1.4
# sudo apt-get install wine

2. Dowload source code from git (info here: http://wiki.winehq.org/GitWine)

# git clone git://source.winehq.org/git/wine.git ~/wine-git

3. Apply the patch (did it manually it's only 2lines). See attachment above (patch to fix problem)

4. Compile in the usual way ( "./configure ; make depend ; make" )

# ./configure
# make depend
# make

5. Install with "sudo make install" or simply run from directory (wine executable in git directory)

(optional) # sudo make install

6. Set path to the new executable in PyLOTRO if needed.
Comment 33 Andrzej Kardaś 2012-10-15 19:20:57 UTC
This patch solved the problem for me also. I patched by editing original wine ebuild from portage tree. One line with epatch, reemarge and wine is lunching the game w/o any problem. 
The person who created it deserves a beer or a hug what ever he or she prefers.
Comment 34 Alexandre Rostovtsev 2012-10-16 13:14:39 UTC
(In reply to comment #22)
> Created attachment 42144 [details]
> patch to fix problem

Why are you assuming that MapWindowPoints() returning zero is always an error?
Comment 35 Daniel Santos 2012-10-16 16:33:14 UTC
Created attachment 42168 [details]
revised patch

Yes, you are correct. Mia cupla.

MSDN says that they are idiots and that Gates has a small **nis.  We already knew that part, but they also say to use SetLastError prior to calling MapWindowPoints to distinguish an error from a valid zero offset.  This sounds really stupid to me, since the damn thing should just always set an error or clear the condition IMO.

But I suppose we can play that game.  I'm going by the assumption that can be called while we have an error that hasn't been checked yet, since it is not supposed to alter the last error its self.

Since I'm short on time, please note that this patch has *not* been tested yet.  However, I will test it when I return later this evening.
Comment 36 Daniel Santos 2012-10-16 21:42:49 UTC
Created attachment 42169 [details]
correct patch

Well I guess that's what I get for being in a hurry, I attached the wrong patch, sorry about that.  This is the revised patch, still not tested yet, but I think I need to do some more tests on my laptop (where I can dual-boot windows) and verify the behavior.
Comment 37 joaopa 2012-10-16 21:57:28 UTC
Surely, a test case would help to have this patch accepted by Alexandre.
Comment 38 Koray Özcan 2012-10-17 08:47:03 UTC
(In reply to comment #32)
> I also confirm patched GIT does work. Didn't test anything in-game. 
> 
> For those asking, I compiled from git without trouble, it's not hard. 
> It's outside the scope of a bug report though. I'll still post how I did it...
> 
> 1. I used ubuntu 12.04 32bit. To get the dependency:
> 
> # sudo apt-get build-dep wine1.4
> # sudo apt-get install wine
> 
> 2. Dowload source code from git (info here: http://wiki.winehq.org/GitWine)
> 
> # git clone git://source.winehq.org/git/wine.git ~/wine-git
> 
> 3. Apply the patch (did it manually it's only 2lines). See attachment above
> (patch to fix problem)
> 
> 4. Compile in the usual way ( "./configure ; make depend ; make" )
> 
> # ./configure
> # make depend
> # make
> 
> 5. Install with "sudo make install" or simply run from directory (wine
> executable in git directory)
> 
> (optional) # sudo make install
> 
> 6. Set path to the new executable in PyLOTRO if needed.

local1907@kubuntu:/var/chroot/wine$ ls
aclocal.m4  config.log    COPYING.LIB    fonts    LICENSE.OLD  Makefile.in        Make.vars.in  README  VERSION
ANNOUNCE    configure     dlls           include  libs         Make.rules.in      po            server
AUTHORS     configure.ac  documentation  LICENSE  loader       Maketest.rules.in  programs      tools
local1907@kubuntu:/var/chroot/wine$ make depend
make: *** Hedef `depend' i derlemek için  hiçbir kural yok. Durdu.
local1907@kubuntu:/var/chroot/wine$
Comment 39 Bruno Jesus 2012-10-17 09:32:33 UTC
Read the step 4 again:
> 4. Compile in the usual way ( "./configure ; make depend ; make" )
Comment 40 Daniel Santos 2012-10-17 23:31:41 UTC
Oh, just to validate the *need* for giving a correct return value and checking for things like being passed a null handle, here's the snippet from a +relay log:

  8.385:0009:Call user32.ScreenToClient(00000000,0033fd68) ret=006d4d87

So yes, they really do call it with a null handle.
Comment 41 Daniel Santos 2012-10-17 23:49:36 UTC
Created attachment 42179 [details]
basic tests for ScreenToClient

So here's the test code.  I haven't run it on windows yet because I'm having a heck of a time getting wine correctly configured on my windows machine and each attempt (configure && make depend) takes about an hour :(
Comment 42 Bruno Jesus 2012-10-18 07:22:02 UTC
(In reply to comment #41)
> Created attachment 42179 [details]
> basic tests for ScreenToClient
> 
> So here's the test code.  I haven't run it on windows yet because I'm having a
> heck of a time getting wine correctly configured on my windows machine and each
> attempt (configure && make depend) takes about an hour :(

You should talk to Christian Costa, he's been working on tests too. He sent a patch recently (http://source.winehq.org/patches/data/91034) and there is a discussion about it (http://www.mail-archive.com/wine-devel@winehq.org/msg76697.html).
Comment 43 Koray Özcan 2012-10-26 17:08:25 UTC
Created attachment 42269 [details]
wine 1.5.16
Comment 44 Massimiliano Ballerini 2012-11-13 10:22:17 UTC
Same behaviour here in Dungeon & Dragons Online (based on LOTRO) last patch. See post here http://forums.ddo.com/showthread.php?t=397951
Comment 45 Christian Costa 2012-11-14 13:54:33 UTC
Fixed in latest git.
Comment 46 Bruno Jesus 2012-11-14 14:00:44 UTC
(In reply to comment #45)
> Fixed in latest git.

You mean this patch?
http://source.winehq.org/git/wine.git/commitdiff/5dea6543170fd12928cf2196b55fec9c2fe82c75
Comment 48 Austin English 2012-11-14 16:11:02 UTC
(In reply to comment #47)
> It's rather this one
> http://source.winehq.org/git/wine.git/?a=commit;h=7fc61f6fea27d207706f896dbf47285516ebe760.

Fixed.
Comment 49 Alexandre Julliard 2012-11-23 14:30:48 UTC
Closing bugs fixed in 1 5.18.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers