Bug 1101811 - ruby stops due to illegal instruction on Athlon MP (i686) but not x86_64
Summary: ruby stops due to illegal instruction on Athlon MP (i686) but not x86_64
Alias: None
Product: Fedora
Classification: Fedora
Component: ruby
Version: rawhide
Hardware: i686
OS: Unspecified
Target Milestone: ---
Assignee: Jeroen van Meeuwen
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2014-05-28 02:25 UTC by Bruno Wolff III
Modified: 2015-01-06 06:04 UTC (History)
14 users (show)

Fixed In Version: ruby-2.1.5-26.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2015-01-06 06:04:07 UTC

Attachments (Terms of Use)

Description Bruno Wolff III 2014-05-28 02:25:00 UTC
Description of problem:
Missing separate debuginfos, use: debuginfo-install xchat-2.8.8-21.fc20.i686
(gdb) run
Starting program: /usr/bin/xchat 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
gobject.pyc: gdb was not built with custom backtrace support, disabling.
[New Thread 0xa4d27b40 (LWP 4051)]

Program received signal SIGILL, Illegal instruction.
0xa38ecb86 in gc_before_sweep () from /lib/libruby.so.2.1

Version-Release number of selected component (if applicable):

How reproducible:
Happens consistantly on an athlon MP and doesn'y happen on an x86_64 xeon. Both machines are running rawhide.

Steps to Reproduce:
1.Run xchat
2.Attempt to connect to freenode

Actual results:
xchat stops due to an illegal instruction

Comment 1 Bruno Wolff III 2014-05-29 04:12:07 UTC
I am still seeing this with xchat-2.8.8-22.fc21.i686.

Comment 2 Bruno Wolff III 2014-05-29 12:36:58 UTC
The instruction appears to be an sse2 instruction, which shouldn't be used without making sure the cpu supports it.

Since this is in a ruby library, I am going to switch the bug to there.

Comment 3 Bruno Wolff III 2014-05-29 12:40:05 UTC
It looks like ruby checks to see if the build host can use sse2 during configure. It shouldn't be using sse2 unless there are run time checks to make sure the sse2 path is only used on cpus that support it.

Comment 4 Vít Ondruch 2014-08-09 09:03:32 UTC
This is the original reason for addition the flag:


and the backport ticket:


Comment 5 Vít Ondruch 2014-08-09 10:03:11 UTC
I reported the issue upstream: https://bugs.ruby-lang.org/issues/10120

May be we should revert the specific backport commits ...

Comment 6 Kevin Kofler 2014-11-23 08:16:10 UTC
Yes, this Ruby change MUST be reverted in Fedora. Why is that still not done 2 months later? -mfpmath=sse is NOT allowed in Fedora i686 (except if you're building a separate version of the library in /usr/lib/sse2, but then you need to weigh the performance and rounding pedanticness vs. the doubled space requirement).

Comment 7 Kevin Kofler 2014-11-23 08:17:23 UTC
Actually, 3½ months later, even.

Comment 8 Orion Poplawski 2014-12-21 22:18:59 UTC
This is breaking puppet on i686 as well.  Perhaps all ruby code?

Comment 9 Fedora Update System 2014-12-28 04:33:06 UTC
ruby-2.1.5-26.fc21 has been submitted as an update for Fedora 21.

Comment 10 Fedora Update System 2014-12-29 10:03:31 UTC
Package ruby-2.1.5-26.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing ruby-2.1.5-26.fc21'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).

Comment 11 Bruno Wolff III 2014-12-29 17:14:20 UTC
I tested xchat now that I have ruby-2.1.5-26.fc22 in rawhide and things seem to be working OK. Thanks.

Comment 12 Fedora Update System 2015-01-06 06:04:07 UTC
ruby-2.1.5-26.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

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