Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#22314 - [erlang] R14B triggers "Illegal instruction" on pre-P4 x86

Attached to Project: Arch Linux
Opened by Famo Qua (famoqua) - Tuesday, 04 January 2011, 18:34 GMT
Last edited by Vesa Kaihlavirta (vegai) - Monday, 14 March 2011, 10:01 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Vesa Kaihlavirta (vegai)
Architecture i686
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Default erlang build won't execute correctly on older processors than Pentium 4 and may raise "Illegal instruction" signals. Tested on Athlon XP 2500+ (without SSE2). Basically, configure script keeps unsupported instructions enabled by default.

Additional info:
extra/erlang R14B-1
Likely to affect earlier builds too.


Steps to reproduce:

Sadly I'm not into erlang programming language, but rabbitmq dies at startup with an "Illegal instruction" message.




Proposed solution:

Explicitly add:

"--enable-ethread-pre-pentium4-compatibility enable_ethread_pre_pentium4_compatibilit=yes"

to "./configure" before compiling "otp_src_R41B".

Seems to be a known issue: http://erlang.2086793.n4.nabble.com/R14B-Illegal-instruction-td2544273.html

A patched PKGBUILD definitely worked for my Athlon XP.
This task depends upon

Closed by  Vesa Kaihlavirta (vegai)
Monday, 14 March 2011, 10:01 GMT
Reason for closing:  Fixed
Comment by Vesa Kaihlavirta (vegai) - Tuesday, 22 February 2011, 18:31 GMT
Is the parameter really

"--enable-ethread-pre-pentium4-compatibility enable_ethread_pre_pentium4_compatibilit=yes"

without the last 'y' in "compatibility" and without the double dash?

I did build this and will upload -2, it just seems odd.
Comment by Famo Qua (famoqua) - Tuesday, 22 February 2011, 19:05 GMT
Yes, odd as it seems. You can check the headers in the external link because configure translates the flag in the form of a C #define.

The configure script should enable/disable the option accordingly but for some reason it doesn't (I'm not an autoconf expert). My comment is about "downgrading" optimizations to make the package work on a wider range of CPUs by default.
Comment by Vesa Kaihlavirta (vegai) - Sunday, 13 March 2011, 11:20 GMT
Can you confirm whether R14B-2 fixed the issue?

Loading...