https://bugs.winehq.org/show_bug.cgi?id=49621
Bug ID: 49621 Summary: Tableau Desktop crashes (apparently inside gdi32.GetFontFileInfo) Product: Wine Version: 5.13 Hardware: x86 URL: https://downloads.tableau.com/tssoftware/TableauDeskto p-64bit-2020-2-2.exe OS: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: xerox.xerox2000x@gmail.com Distribution: ---
sha1sum TableauDesktop-64bit-2020-2-2.exe 33445211ab66cb07990e11468521ca848a23ed7a TableauDesktop-64bit-2020-2-2.exe
Someone reported this crashing on reddit, he copied it over from windows disk, i guess because of failing installer (bug 49620)
For me it crashes too; Looks like for me it chokes in GetFontFileInfo 00d4:Call gdi32.GetFontFileInfo(00370009,00000000,00217fa0,00000018,00000000) ret=7fd5ee6937e3 00d4:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00007FD5F0EB189A ip=f0eb189a tid=00d4
Hack below makes it start for me into login window. Maybe some font-guru could have a look at this.
Note: I tried install various fonts with winetricks but that didn't help either
Hack: diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c index f82a8c1641..1b60f05354 100644 --- a/dlls/gdi32/freetype.c +++ b/dlls/gdi32/freetype.c @@ -8885,6 +8885,8 @@ BOOL WINAPI GetFontFileInfo( DWORD instance_id, DWORD unknown, struct font_filei needed = &required_size;
font = entry->obj; + + if(info) *needed = sizeof(*info) + strlenW(font->fileinfo->path) * sizeof(WCHAR); if (*needed > size) {
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- Please attach +dwrite,+font log, it probably comes from there.
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #2 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 67806 --> https://bugs.winehq.org/attachment.cgi?id=67806 +dwrite,+font
(In reply to Nikolay Sivov from comment #1)
Please attach +dwrite,+font log, it probably comes from there.
Here it is. Thanks for looking into this
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #3 from Louis Lenders xerox.xerox2000x@gmail.com --- Some additional info: As tableau uses Qt, a little google search showed there are actually options to turn off dwrite in Qt: https://doc.qt.io/qt-5/qguiapplication.html
I tested a bit and the following options make Tableau start fine into loginscreen:
wine tableau.exe -platform windows:nodirectwrite
wine tableau.exe -platform windows:fontengine=freetype
Knowing these options might also be handy for other apps that use Qt.
Starting just "wine tableau.exe" makes it still crash in wine-5.14;
Regards
https://bugs.winehq.org/show_bug.cgi?id=49621
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |dwrite
--- Comment #4 from Nikolay Sivov bunglehead@gmail.com --- Yes, I think it's good to have this under dwrite component, even if crash is somewhere in those private gdi32 exports. I'll take a look.
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- I think the issue is the lifetime of font objects referenced by instance_id. Currently it's invalidated after CreateFont() -> SelectObject() -> SelectObject(old) -> DeleteObject(). Now dwrite resource loader does not duplicate memory and expects instance_id to stay valid, and we have tests showing that this id is used as the key. I think this might be fixable by keeping objects around for as long as memory resource is available.
Best way would be to separate that from freetype integration. Realization data like index and simulations is only required for CreateFontFaceFromHdc() to work, data access only needs instance id to reference same physical font.
https://bugs.winehq.org/show_bug.cgi?id=49621
Thomas Kear thomas@kear.co.nz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thomas@kear.co.nz
--- Comment #6 from Thomas Kear thomas@kear.co.nz --- This (or at least something very close) appears to affect PreForm, the software for Formlabs' 3D printers. Having trouble reproducing the exact message, but I got a stacktrace with "GetFontFileInfo" in it, which lead me to this bug.
Thought I'd make an account and comment, in the hope someone else might have the issue and stumble across this bug.
Downloads are here: https://support.formlabs.com/s/article/PreForm-Release-Notes
The perhaps interesting thing is it only appears to manifest if I have the DPI set to a value other than 96. At the near-unreadably-small font sizes of 96dpi with a 4k 13" display it's stable, but setting to a more manageable 192dpi it crashes.
Preform is also a Qt app, and the same "-platform windows:fontengine=freetype" command line option appears to do the trick.
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #7 from Nikolay Sivov bunglehead@gmail.com --- Please attach current +dwrite,+font log with wine 5.21. It has significantly reworked font handling in gdi32, I'd like to see what happens with it now.
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #8 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 68592 --> https://bugs.winehq.org/attachment.cgi?id=68592 requested log
Hi, here is requested log. regards
https://bugs.winehq.org/show_bug.cgi?id=49621
Patrick patrick+winehq.org@laimbock.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |patrick+winehq.org@laimbock | |.com
--- Comment #9 from Patrick patrick+winehq.org@laimbock.com --- *** Bug 51525 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #10 from Nikolay Sivov bunglehead@gmail.com --- Created attachment 70404 --> https://bugs.winehq.org/attachment.cgi?id=70404 patch
Hi,
Louis, please try this one with current wine. I hope it will improve the situation.
https://bugs.winehq.org/show_bug.cgi?id=49621
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #11 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to Nikolay Sivov from comment #10)
Created attachment 70404 [details] patch
Hi,
Louis, please try this one with current wine. I hope it will improve the situation.
Hi Nicolay, sorry for late replay, have been quite busy last months
Good news: the patch works. With the patch the application starts without crashing into the login/registration screen. Reverting the patch to current git make the application crash again
tested sha1sum TableauDesktop-64bit-2020-2-2.exe 33445211ab66cb07990e11468521ca848a23ed7a TableauDesktop-64bit-2020-2-2.exe lying on my disk
Regards
https://bugs.winehq.org/show_bug.cgi?id=49621
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|dwrite |gdi32
--- Comment #12 from Nikolay Sivov bunglehead@gmail.com --- Thanks, I'll look into getting it merged, after ongoing gdi32 rework is complete.
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #13 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to Nikolay Sivov from comment #12)
Thanks, I'll look into getting it merged, after ongoing gdi32 rework is complete.
Revisit old bug of my; Nikolay, the bug seems to have mysteriously dissapeared for me. I tried two times, and it now starts fine into login screen.
Before I resolve as fixed: did you already sent it in, so that now the bug is fixed?
Or did "something else" fix it
sha1sum TableauDesktop-64bit-2020-2-2.exe 33445211ab66cb07990e11468521ca848a23ed7a TableauDesktop-64bit-2020-2-2.exe
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #14 from Nikolay Sivov bunglehead@gmail.com --- No, this should stay open for now.
https://bugs.winehq.org/show_bug.cgi?id=49621
--- Comment #15 from Louis Lenders xerox.xerox2000x@gmail.com --- (In reply to Nikolay Sivov from comment #14)
No, this should stay open for now.
Ok, I`ll leave it open then.
PS The downloadlink is not working anymore, but I have the old installer still lying on my disk
Could I just upload it to webarchive, or does anyone have exact instructions how to do that?