FS#31654 - [qt] regression in 4.8.3-2: both plasma-desktop and kwin will segfault inside libQtScript.so.4

Attached to Project: Arch Linux
Opened by Andrew Munkres (amunkres) - Saturday, 22 September 2012, 22:28 GMT
Last edited by Andrea Scarpino (BaSh) - Thursday, 27 September 2012, 19:24 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Andrea Scarpino (BaSh)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
Upon updating qt from version 4.8.2-3 to 4.8.3-2 yesterday, both plasma-desktop and kwin would segfault every time I tried to start a KDE session. (In the case of kwin, it would run correctly with compositing turned off, but would crash upon turning on compositing.) After reverting to version 4.8.2-3, the problem no longer occurs.

It looks like this bug has already been found and fixed in Debian; see this bug report:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=685524

This might be a hardware-dependent bug. The person who reported the bug to Debian was using an Intel Core 2 T5500 CPU and an Intel 945GM GPU, which is exactly the same as what my computer has.

The Debian developer determined that the cause of the bug was in this patch to JavaScriptCore's JIT that they had backported to 4.8.2 from an upstream commit:
http://anonscm.debian.org/gitweb/?p=pkg-kde/qt/qt4-x11.git;a=blob;f=debian/patches/Fix-JIT-crash-on-x86-64-avoid-32-bit-branch-offset-o.patch;h=ac86a846b8d624199b5316256fcf3637b0d3e95f;hb=49f1f13de84a7f284fcf9034181fef79566caf64

So they removed the patch from Debian's Qt package, according to this changelog entry:
qt4-x11 (4:4.8.2+dfsg-2) unstable; urgency=low

* Remove Fix-JIT-crash-on-x86-64-avoid-32-bit-branch-offset-o.patch. It seems
that causes crashes in an hardware-dependant fashion (Closes: #685524).
The corresponding git commit to the Debian package is here:
http://anonscm.debian.org/gitweb/?p=pkg-kde/qt/qt4-x11.git;a=commit;h=b6d181b00a656f961751bf77f68b0a28b9273407

So, I suppose that this upstream commit to Qt was included in a Qt release for the first time in Qt 4.8.3, which is why I'm encountering this problem now.

Additional info:
* package version(s)
qt 4.8.3-2
* config and/or log files etc.
See the attached stack traces.

Steps to reproduce:
Install qt 4.8.3-2, then try to run a KDE session.
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Thursday, 27 September 2012, 19:24 GMT
Reason for closing:  Fixed
Additional comments about closing:  qt 4.8.3-3
Comment by Andrew Munkres (amunkres) - Saturday, 22 September 2012, 22:32 GMT
Also, the segfault reported in this Ubuntu bug report is likely an effect of the same bug:
https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1045755
Comment by Andrew Munkres (amunkres) - Sunday, 23 September 2012, 00:05 GMT
There is also a bug report in the KDE Bugzilla for this issue:
https://bugs.kde.org/show_bug.cgi?id=305718#c9
(Note: although the bug report initially said it occurs in Qt 4.8.2, comment 9 says that this was actually a Fedora Qt package that included the same backported patch as in the Debian package.)

The patch appears to have originated in the upstream WebKit Bugzilla, in July 2010:
https://bugs.webkit.org/show_bug.cgi?id=41641
It was committed to WebKit SVN on 2010-07-08:
http://trac.webkit.org/changeset/62799
It then migrated to the copy of JavaScriptCore used in the QtScript module of Qt, in the Qt project's "qtscript" Git repository on 2012-08-06:
http://qt.gitorious.org/qt/qtscript/commit/79ebd39d0d4846cb911ae122d2059e5add568d7e
From there, it went into the main Qt Git repository two days later:
http://qt.gitorious.org/qt/qt/commit/ada98493bbfbd9af0d0b593017e29d39bcd3495e
And from there, it was included in the 4.8.3 release version.

From this entry in Qt bug tracker, it appears that this patch was supposed to fix an "assertion failed" crash condition in JavaScriptCore:
https://bugreports.qt-project.org/browse/QTBUG-23871
The last few comments there mention this regression, and link to the KDE Bugzilla entry.
Comment by Andrea Scarpino (BaSh) - Sunday, 23 September 2012, 07:57 GMT
I had some crash with KWrite/Kate/Rekonq for the next 2-3 days after the upgrade.
Enabling/disabling the debug output using kdebugdialog solved it. Could you give it a try?
Comment by Toussis Manolis (hayzel) - Sunday, 23 September 2012, 08:02 GMT
I had also problem with Kwrite/Kate, messing around with kdebugdialog did not solve anything. Crash is still here.
Comment by ValdikSS (ValdikSS) - Sunday, 23 September 2012, 08:05 GMT
Amarok won't start, always crashes, but everything forks fine except amarok for me.
Comment by Andrea Scarpino (BaSh) - Sunday, 23 September 2012, 09:06 GMT
qt 4.8.3-3 with that patch applied is in [testing]

Loading...