https://bugs.winehq.org/show_bug.cgi?id=43553
Bug ID: 43553 Summary: ttfautohint compiled with mxe crashes Product: Wine Version: 2.14 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: wl@gnu.org Distribution: ---
Please bear with me, this is, I think, my first Wine bug report.
[wine 2.14, openSuSE Leap 42.2] [mxe compiling environment: Qt 5.9.1, gcc 5.4.0]
My self-compiled ttfautohintGUI.exe program using the mxe cross compiling environment under GNU/Linux crashes with wine as follows.
wine: Unhandled page fault on read access to 0x00000004 \ at address 0x7ecccfce (thread 0009), starting debugger... winedbg: Internal crash at 0x7e88bfce
Running the program directly with `winedbg' returns
Unhandled exception: page fault on read access to 0x00000004 \ in 32-bit code (0x7ecccfce). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7ecccfce ESP:0142e980 EBP:0142e9d8 EFLAGS:00010216( R- -- I -A-P- ) EAX:7cb2f188 EBX:7ed25000 ECX:00000000 EDX:001b9400 ESI:00000061 EDI:001b93f0 Stack dump: 0x0142e980: 4d430003 00000000 00000000 00000000 0x0142e990: 00000000 00000000 4d430001 001bdb08 0x0142e9a0: 00000040 00000000 00000000 00000000 0x0142e9b0: 0001002e 0000005c 00000000 00000000 0x0142e9c0: fffffffc 00000000 00000000 7ed25000 0x0142e9d0: 00000061 00000000 0142eb38 7ecd27d6 000c: sel=0067 base=00000000 limit=00000000 32-bit --x Backtrace: =>0 0x7ecccfce in gdi32 (+0x6cfce) (0x0142e9d8) 1 0x7ecd27d6 in gdi32 (+0x727d5) (0x0142eb38) 2 0x7ecd4246 in gdi32 (+0x74245) (0x0142eba8) 3 0x7ecbfab8 in gdi32 (+0x5fab7) (0x0142f068) 4 0x7ecc131f GetTextExtentExPointW+0x5e() in gdi32 (0x0142f0c8) 5 0x7ecc1385 GetTextExtentPoint32W+0x54() in gdi32 (0x0142f118) 6 0x7ecc15ed GetTextExtentPointW+0x7c() in gdi32 (0x0142f168) 7 0x7ecc8c6f GdiGetCharDimensions+0x5e() in gdi32 (0x0142f1b8) 8 0x7e87f854 GetDialogBaseUnits+0x63() in user32 (0x0142f218) 9 0x7e87fce7 in user32 (+0x2fce6) (0x0142f528) 10 0x7e882d3d DialogBoxIndirectParamAorW+0x3c() in user32 (0x0142f558) 11 0x7e882e0d DialogBoxIndirectParamW+0x4c() in user32 (0x0142f598) 12 0x7e8bf76d MessageBoxIndirectW+0x9c() in user32 (0x0142f5f8) 13 0x7e8bf917 MessageBoxExW+0x76() in user32 (0x0142f668) 14 0x7e8bf975 MessageBoxW+0x44() in user32 (0x0142f6b8) 15 0x008f202b in ttfautohintgui (+0x4f202a) (0x0142f798) 16 0x008f2085 in ttfautohintgui (+0x4f2084) (0x0142f858) 17 0x008f39c1 in ttfautohintgui (+0x4f39c0) (0x002460a0) 18 0x0142fad0 (0x0120db88) 19 0x005a5e10 in ttfautohintgui (+0x1a5e0f) (0x005a5d40) 20 0x0d3b18ec (0x83cb8953) 0x7ecccfce: movl 0x4(%ecx),%ecx
Please advise what you need, or what I can do to help debug this issue.
https://bugs.winehq.org/show_bug.cgi?id=43553
Werner Lemberg wl@gnu.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wl@gnu.org
https://bugs.winehq.org/show_bug.cgi?id=43553
--- Comment #1 from Werner Lemberg wl@gnu.org --- I forgot to mention that the selected mxe target is `i686-w64-mingw32.static' (to get a stand-alone Windows binary); I'm running OpenSuSE on an x86_64 box.
Since I'm currently abroad I haven't yet been able to verify whether the created binary runs on native Windows at all...
https://bugs.winehq.org/show_bug.cgi?id=43553
--- Comment #2 from Nikolay Sivov bunglehead@gmail.com --- Hi, Werner.
Could you attach compiled binaries of this program?
https://bugs.winehq.org/show_bug.cgi?id=43553
--- Comment #3 from Werner Lemberg wl@gnu.org --- Too large, unfortunately. The file is temporarily available as
https://groff.ffii.org/groff/temp/ttfautohintGUI.exe.xz
https://bugs.winehq.org/show_bug.cgi?id=43553
--- Comment #4 from Nikolay Sivov bunglehead@gmail.com --- It doesn't start on Windows either, with a message box followed by a crash:
--------------------------- This application failed to start because it could not find or load the Qt platform plugin "windows" in "".
Reinstalling the application may fix this problem. ---------------------------
I suppose it needs specific Qt version too, any idea how to proceed?
https://bugs.winehq.org/show_bug.cgi?id=43553
--- Comment #5 from Werner Lemberg wl@gnu.org --- Thanks for testing, this helped a lot. I know now that it is a code issue specific to Qt on Windows, and I have to patch the sources accordingly (mxe got already some reports regarding this issue, so it shouldn't be too hard to find a template that suits my needs).
Would it be possible to make Wine emit a message similar to the Windows one?
https://bugs.winehq.org/show_bug.cgi?id=43553
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Werner Lemberg from comment #5)
Would it be possible to make Wine emit a message similar to the Windows one?
I tried with current Wine (866eec810e), and it displays exactly the same message box as it does on Windows. I don't see it crashing like in your description.
https://bugs.winehq.org/show_bug.cgi?id=43553
--- Comment #7 from Werner Lemberg wl@gnu.org --- Interesting.
Well, I'm using a pre-compiled Wine version that comes with my openSuSE box; no idea whether your better message is caused by recent change in Wine, or whether the openSuSE setup for wine 2.14 makes a difference.
Let's see whether 2.15 (as packaged with openSuSE) yields a better message :-)