Bug 15457 - Baloo crashes: Illegal instruction (4) on !SSE2 CPU in xapian library
Summary: Baloo crashes: Illegal instruction (4) on !SSE2 CPU in xapian library
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: i586 Linux
Priority: Normal major
Target Milestone: ---
Assignee: Luc Menut
QA Contact:
URL: http://trac.xapian.org/wiki/Packaging...
Whiteboard:
Keywords:
: 15578 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-03-09 04:39 CET by Renato Dali
Modified: 2015-05-20 21:53 CEST (History)
0 users

See Also:
Source RPM: xapian
CVE:
Status comment:


Attachments

Description Renato Dali 2015-03-09 04:39:17 CET
This is akin to bug 10157.

The Sempron 2300+ processor is considered an i686, but lacks the SSE2 instruction, required by several modern applications. For instance, I've encountered problems with Qupzilla and Midori (not 100% sure if it was in Mageia).

Upon first login in Mageia 5 RC1, Baloo crashes and the illegal instruction is probably linked to the lack of that instruction.

This is the trace ("dveloper info" tab):

Application: Arquivo Baloo (baloo_file), signal: Illegal instruction
Using host libthread_db library "/lib/i686/libthread_db.so.1".
[KCrash Handler]
#6  0xffffffff in Xapian::Enquire::Internal::Internal(Xapian::Database const&, Xapian::ErrorHandler*) () at /lib/libxapian.so.22
#7  0xffffffff in Xapian::Enquire::Enquire(Xapian::Database const&, Xapian::ErrorHandler*) () at /lib/libxapian.so.22
#8  0x0805fcb3 in Baloo::FileIndexingQueue::fillQueue() ()
#9  0x0805e071 in Baloo::IndexingQueue::resume() ()
#10 0x0805da7b in Baloo::IndexScheduler::IndexScheduler(Database*, Baloo::FileIndexerConfig*, QObject*) ()
#11 0x08056e41 in Baloo::FileIndexer::FileIndexer(Database*, Baloo::FileIndexerConfig*, QObject*) ()
#12 0x0804f0e6 in main ()
 
This is all I can offer for now. Finally, some ramblings:

I believe this situation is not a problem de per se. One has to decide whether to employ that useful instruction -- and thereby exclude all i586 CPUs -- or not.

Other distributions (like Lubuntu) already state in their home page that they require a Pentium 4 or above. That's kind of a "cuting the Gordian knot" way to solve things IMHO.

OTOH the moniker i586 in a package leads one to expect that very old CPUs would work -- which might enable, for instance, the reuse of old machines for non-intensive applications.

Thanks for the attention and for the superb work.
Thierry Vignaud 2015-03-09 06:16:30 CET

Assignee: bugsquad => lmenut
Summary: Baloo crashes: Illegal instruction (4) => Baloo crashes: Illegal instruction (4) on !SSE2 CPU
Source RPM: (none) => baloo

Comment 1 Renato Dali 2015-03-27 02:25:59 CET
There might interesting insights from bug 13991 , talking about (probably) the same instruction and providing a reasoning for why it wouldn't be FIXED.

Of course, that's not my interest but maybe Mageia already has decided for another course of action.
Comment 2 Luc Menut 2015-03-27 09:20:21 CET
The crashes occur in xapian library (used by baloo_file).
Please, could you try to install libxapian22-1.2.12-7.mga5 from core/updates_testing.

It should fix these crashes; libxapian22 (x86) now install non-SSE2 library in /usr/lib and SS2 optimized library in /usr/lib/sse2 as recommended by upstream (like Debian).

http://trac.xapian.org/wiki/PackagingXapian
" Xapian 1.2.1 (and Xapian 1.0.21) default to using SSE2 maths on x86. This improves performance a little, but the main motivation is correctness - the excess precision in the results of 387 FP instructions can lead to the same calculations in different pieces of code giving slightly different results. 

  If you need to build a package which still supports x86 processors without SSE2 (for Intel that means prior to Pentium 4; for AMD prior to Athlon 64) then you can configure with --disable-sse, but if possible it's better to build two versions of the library and install them such that the appropriate version for the processor in use gets loaded."

References:
http://trac.xapian.org/wiki/PackagingXapian
https://bugs.archlinux.org/task/40614
http://anonscm.debian.org/cgit/collab-maint/xapian-core.git/tree/rules

URL: (none) => http://trac.xapian.org/wiki/PackagingXapian
Source RPM: baloo => xapian

Comment 3 Renato Dali 2015-03-28 19:52:18 CET
It worked perfectly.

The error doesn't happen anymore and Dolphin's search function indicates it is performing a "Baloo search". I assume it is working but content search seemed to work at the same (instant) speed in other PC with indexing turned off.

Bug 15578 is analogous and was equally fixed.

Additionally, I'd like to comment this solution is nice and elegant because of older CPUs which now should work with the non-SSE lib (I have an AMD GEODE LX800 based one).

Thanks a lot, Luc! Good luck! (sorry, couldn't help) :-D

Status: NEW => RESOLVED
Resolution: (none) => FIXED

Luc Menut 2015-03-28 21:31:14 CET

Summary: Baloo crashes: Illegal instruction (4) on !SSE2 CPU => Baloo crashes: Illegal instruction (4) on !SSE2 CPU in xapian library

Comment 4 Luc Menut 2015-03-28 21:36:13 CET
*** Bug 15578 has been marked as a duplicate of this bug. ***
Comment 5 Luc Menut 2015-03-31 14:10:43 CEST
I reopen this bug report because the fix is not available in core/release for now, and I don't know if the freeze push will be accepted due to mga5 full freeze.

Status: RESOLVED => REOPENED
Resolution: FIXED => (none)

Comment 6 Renato Dali 2015-04-03 03:51:55 CEST
Hmm, there were some bugs I reported for which I found quite reasonable fixes -- like using OpenGL 1.2 with my Geforce 6200 card and the Nouveau driver -- even though Nvidia claims it can do OpenGL 2.0.

Perhaps I should reopen the bugs I closed trying to "help" Mageia?
Comment 7 Renato Dali 2015-04-04 04:34:23 CEST
I should've written "fixes" because they're actually just workarounds...
Comment 8 Luc Menut 2015-05-20 13:48:09 CEST
Fixed with xapian-1.2.12-8.mga5 pushed in core/release.

Status: REOPENED => RESOLVED
Resolution: (none) => FIXED

Comment 9 Renato Dali 2015-05-20 21:53:02 CEST
Thank you, Luc.

Note You need to log in before you can comment on or make changes to this bug.