http://bugs.winehq.org/show_bug.cgi?id=35323
Bug ID: 35323 Summary: Final Fantasy XI crashes with page fault before main menu Product: Wine Version: 1.7.8 Hardware: x86 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: bpoint42@gmail.com Classification: Unclassified
Created attachment 47110 --> http://bugs.winehq.org/attachment.cgi?id=47110 WINEDEBUG=warn+all log for polboot.exe with 1.7.8
Following a clean install of Final Fantasy XI (JP version) into a new WINEPREFIX, POL starts FFXI, displays the license agreement, then crashes with a page fault just after the screen fades out, before the main menu shows.
This looks to have started from 1.5.14, and seems to be reproducible all the way up to at least 1.7.8. (Wineskin doesn't have any newer engines at this time.) 1.5.13 does not crash, and shows the main menu properly, see: http://bugs.winehq.org/show_bug.cgi?id=28861
I'm attaching a warn+all log and backtrace, but I realize this needs debug symbols to really be useful. Once I am able to build wine from the git sources, I'll update this bug with more information.
http://bugs.winehq.org/show_bug.cgi?id=35323
--- Comment #1 from Mike Tedder bpoint42@gmail.com --- Created attachment 47111 --> http://bugs.winehq.org/attachment.cgi?id=47111 backtrace for polboot.exe page fault
http://bugs.winehq.org/show_bug.cgi?id=35323
Ken Thomases ken@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ken@codeweavers.com Version|1.7.8 |1.5.14
--- Comment #2 from Ken Thomases ken@codeweavers.com --- The version field should indicate the first version of Wine where the problem is known to happen, so I'm setting it to 1.5.14.
Also, can you perform a regression bisect? http://wiki.winehq.org/RegressionTesting
http://bugs.winehq.org/show_bug.cgi?id=35323
Ken Thomases ken@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|ken@codeweavers.com |
http://bugs.winehq.org/show_bug.cgi?id=35323
--- Comment #3 from Mike Tedder bpoint42@gmail.com --- Yep, I'll try to do a bisect here in a few days.
http://bugs.winehq.org/show_bug.cgi?id=35323
Frédéric Delanoy frederic.delanoy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |28861
https://bugs.winehq.org/show_bug.cgi?id=35323
Chiitoo escomk3@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |escomk3@hotmail.com
--- Comment #4 from Chiitoo escomk3@hotmail.com --- Teegrins!
Due to what is described in bug 28861 (screen stays black after selecting a character (or when going back to PlayOnline viewer by not accepting the License Agreement or leaving from the title-screen)), I have had Windows 7 selected for 'pol.exe', and had not been hit by this one.
Indeed, by using Vista, or 7, the game works here.
As I was looking if I could notice any difference(s) in-between the license and title-screen, there was something indeed. I can't tell if this is even close to the issue, but here's what I found:
Windows XP
003f:Call imm32.ImmLockIMC(0b09a920) ret=7e110b41 003f:Ret imm32.ImmLockIMC() retval=0b09a924 ret=7e110b41
Windows 7
0009:Call imm32.ImmLockIMC(0b556698) ret=7dff7b41 0009:Ret imm32.ImmLockIMC() retval=00000000 ret=7dff7b41
The 'winex11.drv' around that differ as well, or so it seems, as for example, 'winex11.drv.NotifyIME' is never called upon while in XP-mode. Another difference that caught my eye, is that on XP, 'GetPropW' returns '00000000' for every instance, whereas on 7, it gives out 'ffffffff'. Possibly to be expected?
Anyblue, if I force 'ImmLockIMC' in 'imm.c' to return NULL, I get past that part, but due to the issue mentioned above (and in bug 28861), I can't get into the actual game afterwards.
I should note that I did not (yet) test with a clean prefix, but with what I daily use for the game, and that I actually didn't get a page fault [1] nor a backtrace. Instead, as far as I can tell, it exits rather cleanly, with 'WM_CLOSE' from 'window proc', 'PostQuitMessage', 'ExitProcess', and so on and forth.
[1] I actually got a page fault (with a backtrace), when I ran the game with my regular installation of Wine (and forgot to change the Windows version). That is, wine-1.7.10, which isn't built for debugging unlike the one from git that I used for testing:
=>0 0x7e126f13 in winex11 (+0x46f13) (0x033ee878) 1 0x7e13301e in winex11 (+0x5301d) (0x033ee8a8) 2 0x7e108067 NotifyIME+0x246() in winex11 (0x033ee8f8) 3 0x7e90f2fa ImmNotifyIME+0x79() in imm32 (0x033ee958) 0x7e126f13: movl %edi,0x14(%eax)
Moreover, I'm using the European client instead of the Japanese one, on Gentoo Linux (~amd64 "unstable") with
wine-1.7.9-197-gf76f34c
wine-1.7.10
wine-1.7.10-191-g8953c74
without virtual desktop.
While I had already typed out the above, I was still digging into it, trying to find out where the non-NULL and friends were coming from. I noticed that if I remove
else if (rc == NULL) rc = IMM_GetThreadData()->defaultContext;
from 'ImmGetContext', I get to the title-screen as well (with 'imm.c' in its unmodified state).
What is more, I can actually get into the game itself, through the darkness!
Obviously this is no fix, and I see this particular spot was shaped into what it is already back in 2008 (commit b72dcd114d1c622b3046506563cc91fc38d40835). Then again, for as long as I can remember, I've had to use Windows 7 mode myself (earliest I could have tried would have been in 2010).
I do hope this may at least /hint/ towards a solution, instead of only being 'noise'...
Kind Regards, Chiitoo/Dragoy
https://bugs.winehq.org/show_bug.cgi?id=35323
--- Comment #5 from Chiitoo escomk3@hotmail.com --- Created attachment 47173 --> https://bugs.winehq.org/attachment.cgi?id=47173 Page fault from wine-1.7.10
https://bugs.winehq.org/show_bug.cgi?id=35323
Jari Vetoniemi mailRoxas@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mailRoxas@gmail.com
--- Comment #6 from Jari Vetoniemi mailRoxas@gmail.com --- Created attachment 49401 --> https://bugs.winehq.org/attachment.cgi?id=49401 Workarounds page fault before main menu
I can confirm that this regression/bug still exists in wine. This might be side-effect of XI's way of avoiding "multi-boxing", eg you can't alt-tab the game in windows or it will shutdown/crash.
The workaround provided by Chiitoo works (Playing around with windows versions does nothing).
I've included patch of Chiito's workaround.
https://bugs.winehq.org/show_bug.cgi?id=35323
Mike Tedder bpoint42@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #7 from Mike Tedder bpoint42@gmail.com --- My apologies for leaving this open and unanswered as long as it did.
I cloned wine-1.7.28-107-g0eec97e from git last night, built it on OSX 10.9.5, installed FFXI (JP version) with all of the expansion packs into a fresh, clean WINEPREFIX, waited two fun hours for the updates to download, and I no longer see this crash anymore.
So it looks like whatever this bug was, it was fixed somewhere between 1.7.10 (based on Chiitoo's report) and 1.7.28. I'm going to resolve this as fixed.
I sadly still have the black screen issue (#28861), but I'll be reporting my findings in that ticket.
https://bugs.winehq.org/show_bug.cgi?id=35323
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.29.