https://bugs.winehq.org/show_bug.cgi?id=36139
Bug ID: 36139 Summary: msi/db test crash on wine compiled with gcc-4.9.0 Product: Wine Version: 1.7.17 Hardware: x86 URL: https://test.winehq.org/data/e2bf5163ecf2f56f58993bac7 f8ca1abc0db0324/linux_ae-f20-gcc49/msi:db.html OS: Linux Status: NEW Keywords: download, source Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: austinenglish@gmail.com
Created attachment 48299 --> https://bugs.winehq.org/attachment.cgi?id=48299 terminal output/backtrace
db.c:773: Test marked todo: query failed: 1615 db.c:1498: Test failed: MsiDatabaseOpenView failed db.c:1501: Test failed: MsiViewExecute failed db.c:1504: Test failed: MsiViewFetch failed db.c:1510: Test failed: MsiViewFetch failed db.c:1511: Test failed: string length wrong db.c:1761: Test marked todo: Expected 'test2.txt\n', got test1.txt db.c:1831: Test failed: SELECT query failed: 1615 db.c:1835: Test failed: Failed to get string: 6 db.c:1836: Test failed: Expected 'filename1', got Binary.filename1.1 db.c:1841: Test failed: Failed to get stream: 6 db.c:1842: Test failed: Expected 'test.txt\n', got Unhandled exception: page fault on read access to 0x00000018 in 32-bit code (0x7ebdab61).
Backtrace: =>0 0x7ebdab61 msi_update_table_columns+0x21(db=0x127920, name="MOO") [/home/austin/wine-git/dlls/msi/table.c:955] in msi (0x0032f768) 1 0x7ebdce8c msi_table_load_transform+0x106b(db=0x127920, stg=0x1317b8, st=0x139e20, transform=0x13a1c8, bytes_per_strref=0x2) [/home/austin/wine-git/dlls/msi/table.c:2686] in msi (0x0032f888) 2 0x7ebddac8 msi_table_apply_transform+0x377(db=0x127920, stg=0x1317b8) [/home/austin/wine-git/dlls/msi/table.c:2789] in msi (0x0032f9b8) 3 0x7ebba3f7 MSI_DatabaseApplyTransformW+0x136(db=0x127920, szTransformFile="winetst-db.mst", iErrorCond=0) [/home/austin/wine-git/dlls/msi/msiquery.c:744] in msi (0x0032fa28) 4 0x7ebba479 MsiDatabaseApplyTransformW+0x48() in msi (0x0032fa68) 5 0x7ebba594 MsiDatabaseApplyTransformA+0xa3(hdb=<couldn't compute location>, szTransformFile=<couldn't compute location>, iErrorCond=<couldn't compute location>) [/home/austin/wine-git/dlls/msi/msiquery.c:790] in msi (0x0032fab8) 6 0x7ecccbc7 test_try_transform+0x5f6() [/home/austin/wine-git/dlls/msi/tests/db.c:3136] in msi_test (0x0032fc68) 7 0x7ecd0f0e func_db+0x11fd() [/home/austin/wine-git/dlls/msi/tests/db.c:9663] in msi_test (0x0032fd58) 8 0x7ec8b9f8 main+0x327(argc=<is not available>, argv=<is not available>) [/home/austin/wine-git/dlls/msi/tests/../../../include/wine/test.h:584] in msi_test (0x0032fe08)
I'll attach the full backtrace.
https://bugs.winehq.org/show_bug.cgi?id=36139
--- Comment #1 from Austin English austinenglish@gmail.com --- I tried to bisect gcc, but quickly hit a roadblock: austin@aw25 ~/gcc-git $ git bisect bad The merge base daf81a9011692e3ed26192fe397ea5673686a1f0 is bad. This means the bug has been fixed between daf81a9011692e3ed26192fe397ea5673686a1f0 and [e9c762ec4671d77e301492e4f9e92e1d3d667188].
https://bugs.winehq.org/show_bug.cgi?id=36139
re_nelson bnelson@nelsonbe.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bnelson@nelsonbe.com
--- Comment #2 from re_nelson bnelson@nelsonbe.com --- I can confirm that GCC-4.9.0 likewise fails on my system. Although I didn't perform the test cited by Austin English, the error at runtime when launching firefox with pipelight/wine shows these errors
err:msidb:get_tablecolumns column 1 out of range err:msidb:get_tablecolumns column 2 out of range [...]
I rolled back through to wine-1.17.14 (including omitting the xattr patch from the pipelight project [http://fds-team.de/cms/projects.html]). In all cases, using GCC-4.9.0 led to the "get_tablecolumns column X out of range". Since I always keep one previous compiler version available, building with GCC-4.8.2 solved the problem both with the patched wine sources and the plain vanilla code.
By the way, I tried again compiling again with GCC-4.9.0 with CFLAGS set to "-O0 -march=i686" to no avail. My normal CFLAGS are "-O2 -march=native".
The system is the latest SVN Linux from Scratch (LFS and BLFS) on this platform with 32 GB of RAM:
ASUSTeK COMPUTER INC. P8Z77-V LX (Quad-Core Hyper-Threaded Intel(R) Core(TM) i7-3770K @ 3.50GHz)
http://www.linuxquestions.org/questions/linux-from-scratch-13/pipelight-wine...
http://bugs.winehq.org/show_bug.cgi?id=36139
Sven-Hendrik Haase sh@lutzhaase.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sh@lutzhaase.com
https://bugs.winehq.org/show_bug.cgi?id=36139
--- Comment #3 from Hans Leidekker hans@meelstraat.net --- Looks like something in dlls/msi/table.c causes corruption in the test installer database when compiled with gcc-4.9 and -O2. If I compile with -O0 the crash goes away.
http://bugs.winehq.org/show_bug.cgi?id=36139
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xantares09@hotmail.com
--- Comment #4 from Austin English austinenglish@gmail.com --- *** Bug 36464 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=36139
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |donquixote93@gmail.com
--- Comment #5 from Austin English austinenglish@gmail.com --- *** Bug 36453 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=36139
Pekka Helenius fincer89@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fincer89@hotmail.com
https://bugs.winehq.org/show_bug.cgi?id=36139
Adam Hirst adam@aphirst.karoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adam@aphirst.karoo.co.uk
--- Comment #6 from Adam Hirst adam@aphirst.karoo.co.uk --- Just thought it would be worth mentioning that this problem is still present in version 1.7.19 (as I have tested just now on Arch x86_64).
https://bugs.winehq.org/show_bug.cgi?id=36139
Daniel Beitler dan@dablabs.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dan@dablabs.com
--- Comment #7 from Daniel Beitler dan@dablabs.com --- Created attachment 48545 --> https://bugs.winehq.org/attachment.cgi?id=48545 Fix for msi get_tablecolumns
Attached a patch that fixes this error for me on gcc-4.9.
https://bugs.winehq.org/show_bug.cgi?id=36139
--- Comment #8 from Austin English austinenglish@gmail.com --- (In reply to Daniel Beitler from comment #7)
Created attachment 48545 [details] Fix for msi get_tablecolumns
Attached a patch that fixes this error for me on gcc-4.9.
Works for me as well, thanks.
https://bugs.winehq.org/show_bug.cgi?id=36139
--- Comment #9 from Adam Hirst adam@aphirst.karoo.co.uk --- Over at Arch, the wine package maintainer incorporated the patch from this bug report into a new package to test (https://bugs.archlinux.org/task/40310), but as mentioned over there I still get the same problem as before.
Specifically, I'm trying to install the MS Visual C++ 2010 runtime using winetricks - console output & backtrace attached.
https://bugs.winehq.org/show_bug.cgi?id=36139
--- Comment #10 from Adam Hirst adam@aphirst.karoo.co.uk --- Created attachment 48556 --> https://bugs.winehq.org/attachment.cgi?id=48556 Console output & Backtrace when running winetricks vcrun2010
https://bugs.winehq.org/show_bug.cgi?id=36139
--- Comment #11 from Daniel Beitler dan@dablabs.com --- (In reply to Adam Hirst from comment #9)
Over at Arch, the wine package maintainer incorporated the patch from this bug report into a new package to test (https://bugs.archlinux.org/task/40310), but as mentioned over there I still get the same problem as before.
Specifically, I'm trying to install the MS Visual C++ 2010 runtime using winetricks - console output & backtrace attached.
I just tried "winetricks vcrun2010" using the arch package wine-1.7.19-2-x86_64 and it worked fine for me. Can you please try again in a clean prefix?
https://bugs.winehq.org/show_bug.cgi?id=36139
Adam Hirst adam@aphirst.karoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #48556|0 |1 is obsolete| |
--- Comment #12 from Adam Hirst adam@aphirst.karoo.co.uk --- Created attachment 48563 --> https://bugs.winehq.org/attachment.cgi?id=48563 Console output & Backtrace for vcrun2010 using 1.7.19-3
I had run it using a clean wineprefix beforehand, but to be sure I reinstalled the package (which had another update relating to some other bug), rebooted my machine, and made another clean wineprefix. Same problem (attached).
https://bugs.winehq.org/show_bug.cgi?id=36139
--- Comment #13 from Adam Hirst adam@aphirst.karoo.co.uk --- Ah(!), false alarm.
It seems that a part of the solution was adding an optional dependency to wine on x86_64, namely lib32-libxslt. After installing that (which pulled lib32-libxml2 as another dep), vcrun2010 installs just fine.
Sorry about that. This particular issue now seems to be fixed for me.
https://bugs.winehq.org/show_bug.cgi?id=36139
--- Comment #14 from re_nelson bnelson@nelsonbe.com --- (In reply to Daniel Beitler from comment #7)
Created attachment 48545 [details] Fix for msi get_tablecolumns
Attached a patch that fixes this error for me on gcc-4.9.
I can also confirm the efficacy of the patch. And the correction properly deals with the change made in GCC-4.9.0, ``Null pointer checks may be optimized away more aggressively'' shown here:
https://gcc.gnu.org/gcc-4.9/porting_to.html
https://bugs.winehq.org/show_bug.cgi?id=36139
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |deb274226783ab886bdb4487694 | |4e156757efe2b Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #15 from Hans Leidekker hans@meelstraat.net --- Fixed by deb274226783ab886bdb44876944e156757efe2b.
https://bugs.winehq.org/show_bug.cgi?id=36139
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #16 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.20.
https://bugs.winehq.org/show_bug.cgi?id=36139
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |msi
https://bugs.winehq.org/show_bug.cgi?id=36139
--- Comment #17 from Anastasius Focht focht@gmx.net --- Hello folks,
this is issue is still present with Wine 1.6.x versions provided by some distros which use gcc 4.9 by default.
I see this specific problem reported every few months in #winehq. The recommendation is to tell the user upgrade to Wine 1.7.x which fixes a lot of other things (the choice is not that bad in the end).
Anyway, since there won't be Wine 1.6.3 it might to useful to inform Wine package maintainers of this issue (who didn't get the message/are aware of this) and force them to provide an updated "stable" Wine 1.6.2 package with the patch backported.
Today's "winner":
Lubuntu 14.10 (Utopic Unicorn) Wine 1.6.2
Regards
https://bugs.winehq.org/show_bug.cgi?id=36139
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=36139
jre.winesim@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jre.winesim@gmail.com
--- Comment #18 from jre.winesim@gmail.com --- (In reply to Anastasius Focht from comment #17)
Anyway, since there won't be Wine 1.6.3 it might to useful to inform Wine package maintainers of this issue (who didn't get the message/are aware of this) and force them to provide an updated "stable" Wine 1.6.2 package with the patch backported.
Debian (bugs.debian.org/765645 in 1.6.2-12) and ARCH (bugs.archlinux.org/task/40310 in 1.6.2 rel -2) already fixed it.
Ubuntu has https://bugs.launchpad.net/ubuntu/+source/wine1.6/+bug/1383214 I just updated that report.
https://bugs.winehq.org/show_bug.cgi?id=36139
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mstefani@redhat.com Target Milestone|--- |1.6.x
https://bugs.winehq.org/show_bug.cgi?id=36139
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |guido-42kaf@unknownsite.de
--- Comment #19 from Anastasius Focht focht@gmx.net --- *** Bug 39664 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=36139
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|msi/db test crash on wine |MSI installers report |compiled with gcc-4.9.0 |'err:msidb:get_tablecolumns | |column 1 out of range' when | |Wine was built with gcc | |4.9.0 and -O2 | |(misoptimization: Null | |pointer checks may be | |optimized away more | |aggressively)
--- Comment #20 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary to collect more dupes here. I removed the wine-test part to avoid overly long summary since it's rarely run by the end user.
What matters is the error message from running real world app/game installers to be found in Wine Bugzilla (live)search.
Regards
https://bugs.winehq.org/show_bug.cgi?id=36139
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pierre.equoy@gmail.com
--- Comment #21 from Anastasius Focht focht@gmx.net --- *** Bug 37787 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=36139
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sillypeople139@gmail.com
--- Comment #22 from Anastasius Focht focht@gmx.net --- *** Bug 37554 has been marked as a duplicate of this bug. ***