FS#33418 - [qtwebkit] crashes, due to Illegal Instruction

Attached to Project: Arch Linux
Opened by oblivion (oblivion) - Wednesday, 16 January 2013, 13:27 GMT
Last edited by Andrea Scarpino (BaSh) - Saturday, 26 January 2013, 15:09 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Andrea Scarpino (BaSh)
Architecture i686
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:

As of 01/16/2013 the latest qtwebkit (2.3git20130115-1) fails to load on any qt/KDE based browsers on my machine, Athlon XP+ 2100, 1GB ram, Radeon X1600 pro GPU, (Linux 3.6.11-1-ARCH #1 SMP PREEMPT Tue Dec 18 12:58:46 CET 2012 i686 GNU/Linux).

Possible cause: That the package is compiled with some newer CPU (or maybe GPU??) instruction sets, since some old Athlon XP series CPUs, including 2100+, does not support SSE2 or newer instructions sets?

p.s. I am willing to help further, and provide you with more info, but I don't know which debug packages to install.


Downgrading qtwebkit to 2.2.x solves the problem.

Additional info:
* package version(s)
* config and/or log files etc.

qtwebkit 2.3git20130115-1

Steps to reproduce:

Run konqueror -> crashes with illegal instructon: 4.
Run rekonq -> crashes with illegal instruction: 4
Run Qupzilla -> crashes with illegal instruction: 4.
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Saturday, 26 January 2013, 15:09 GMT
Reason for closing:  Fixed
Additional comments about closing:  qtwebkit 2.3.beta1-1.1
Comment by Filip Brcic (brcha) - Wednesday, 16 January 2013, 13:49 GMT
I can confirm this doesn't work on my computer either - Intel Core i5 with nVidia card. Thus, it is safe to assume the problem is not with the newer CPU optimisation (most probably not, at least).

Downgrading helps, though.
Comment by Andrea Scarpino (BaSh) - Wednesday, 16 January 2013, 15:12 GMT
  • Field changed: Category (Packages: Extra → Upstream Bugs)
This seems either a JavaScriptCore bug or an assembler optimization. Please file this upstream and paste the link here.
Provide a backtrace to the qtwebkit devs (they told me you don't need debug symbols).

I'm also available if you need help.
Comment by Filip Brcic (brcha) - Wednesday, 16 January 2013, 18:06 GMT
I reported the bug on webkit's bugzilla, here's the URL: https://bugs.webkit.org/show_bug.cgi?id=107029

Until the bug is fixed, I'd suggest you remove qtwebkit 2.3git20130115-1 from the repo and leave the 2.2.2-1 version, as this bug basically stops rekonq, arora & so on from working.
Comment by B.Vasilyev (bob_art) - Wednesday, 16 January 2013, 18:55 GMT
I confirm the Qupzilla's crash after upgrade qtwebkit to 2.3git20130115-1 & downgrading to 2.2.x solves the problem.
Installing Qupzilla-git from AUR solves the crash's problem, but i get incorrect work of this browser on google, etc ... (e.g > http://www.google.com/imghp?hl=ru&tab=Ti)

But Qupzilla-git + qtwebkit 2.2.2-1 works correctly.

Comment by Andrea Scarpino (BaSh) - Wednesday, 16 January 2013, 22:43 GMT
@Filip
I'm sorry, but you guys have to downgrade and put qtwebkit in IgnorePkg

You could also try the previous version in [testing] to see if this bug has been introduced recently: http://arm.konnichi.com/2013/01/14/testing/os/i686/qtwebkit-2.3git20130108-1-i686.pkg.tar.xz
Comment by Filip Brcic (brcha) - Wednesday, 16 January 2013, 23:10 GMT
@BaSh, I did that, of course. I don't want to manually deselect qtwebkit on every update, that'd be lame. I just thought an update disabling roughly half users of arch isn't necessarily a good one.

On my system arora crashes with this qtwebkit 20130108 as well, although without the neat backtrace in the output. Didn't test it with rekonq since it is still open and using the old preloaded qtwebkit. If I find some time tomorrow, I'll try to compile several versions of qtwebkit-23 branch to see which one introduced the bug, and then isolate it, fix it and push the patch upstream.
Comment by Andrea Scarpino (BaSh) - Wednesday, 16 January 2013, 23:14 GMT
If you want I can provide you qtwebkit with debug symbols.

It seems to me that this bug only apply to some i686 users, not everybody.
We cannot downgrade to qtwebkit 2.2.2 since it doesn't build anymore since June/July.
Comment by Filip Brcic (brcha) - Wednesday, 16 January 2013, 23:27 GMT
I'm using x86_64 packages, so I changed your url accordingly. I'll keep you informed if I do find where the bug is and publish the patch here, as well as on bugs.webkit.org.
Comment by Andrea Scarpino (BaSh) - Monday, 21 January 2013, 16:30 GMT
Is this fixed with the beta1?
Comment by oblivion (oblivion) - Monday, 21 January 2013, 16:55 GMT
Hello guys,

AFAIK, it seems that my initial bug report may have some truth in it. In the latest blog post, it is explicitly stated that the packages should build with --no-sse2 option, which is why I probably get illegal instruction error on my Athlon XP 2100+, which has no SSE2 support:

"Finally for packagers: If you are making packages for i386 you might want to build with --no-sse2, otherwise we currently default to using SSE instead of i387 math, and that means a minimum of Pentium-M, Pentium4 or Athlon64."

http://blogs.kde.org/2013/01/21/qtwebkit-23-beta-1-tagged
Comment by Andrea Scarpino (BaSh) - Monday, 21 January 2013, 17:09 GMT
That's is why I asked. Is this fixed with the beta1 or do I need to rebuild the i686 package?
Comment by Filip Brcic (brcha) - Monday, 21 January 2013, 17:24 GMT
As for x86_64, this beta1 package works like a charm.
Comment by oblivion (oblivion) - Monday, 21 January 2013, 17:29 GMT
@BaSh: No, unfortunately, beta1 package is also giving illegal instruction errors. A rebuild for i686 may be required?
Comment by Andrea Scarpino (BaSh) - Monday, 21 January 2013, 21:26 GMT Comment by oblivion (oblivion) - Tuesday, 22 January 2013, 08:01 GMT
@Bash: Nope. Beta 1.1 did not work either, it still crashes with illegal instruction 4.
I have to revert to qtwebkit2.2
Comment by Andrea Scarpino (BaSh) - Tuesday, 22 January 2013, 10:08 GMT
I'm sorry, previously I did a typo in the PKGBUILD. Can you try again?
Comment by oblivion (oblivion) - Tuesday, 22 January 2013, 13:16 GMT
@BaSh: It now loads succesfully and works IF javascript is disabled. (it wasn't even loading before, It's a progress at least.) When JS is enabled, it crashes while loading web pages, with the same illegal instruction error. Maybe JS has to be built with some other flags, or is buggy, I don't know. By the way, Thank you for your efforts.
Comment by Dmitry Shintyakov (Dmishin) - Saturday, 26 January 2013, 14:52 GMT
I am having the "Illegal instruction" problem with Mnemosyne (PyQt application).
Weird enough, I built this package from sources, and still having the same problem.
Comment by Dmitry Shintyakov (Dmishin) - Saturday, 26 January 2013, 14:55 GMT
By the way, with package from http://pkgbuild.com/~andrea... it works.

Loading...