After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 760292 - gegl operations give "Illegal instruction" errors
gegl operations give "Illegal instruction" errors
Status: RESOLVED FIXED
Product: GEGL
Classification: Other
Component: babl
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Default Gegl Component Owner
Default Gegl Component Owner
Depends on:
Blocks:
 
 
Reported: 2016-01-07 20:21 UTC by Akkana Peck
Modified: 2016-01-08 15:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Akkana Peck 2016-01-07 20:21:35 UTC
When building gegl, my build dies with:

30926 Illegal instruction     GEGL_SWAP=RAM GEGL_PATH=../operations ../tools/introspect > class-hierarchy.html

I can get past the gegl build error with --disable-docs, but the operations still generate Illegal operation and gimp can't build.

Reverting BABL_0_1_14 fixes the problem.

OS: Debian sid, 32 bit.
Hardware: Lenovo X201, Intel i5 CPU.

Longer log or gdb info on request.
Comment 1 Øyvind Kolås (pippin) 2016-01-07 21:42:51 UTC
Possibly not related to running 32bit it also happens on x86_64 with a:

model name	: Intel(R) Celeron(R) CPU  N3050  @ 1.60GHz

CPU

gdb on gimp on startup gives:

Program received signal SIGILL, Illegal instruction.
0x00007fffeb63d909 in conv_y8_yF (samples=512, dst=0xd6aee0, 
    src=0xd6ba50 "\030\354\300\305\366\255h\032\203\\\033\364\266; @\367c\257\263\220\374\220{\226\062̢\276#9\327\020\370\235\a\246\006!*a<\037\030w?Yo\242\b\"3\005\262\256\233\344z>\244\235w|\255p\031\264\030\037\325B\200\022a\231\211\240\361\370C\372\034u") at sse4-int8.c:46
46	  while (n >= 4)


the first time it crashes is during the build of babl docs, with:

UTF8: BablFishPath.txt/bin/bash: line 1: 10738 Illegal instruction     ../tests/babl_fish_path_fitness > BablFishPath.txt
 Fail
Comment 2 Øyvind Kolås (pippin) 2016-01-07 22:02:49 UTC
Adding possibly relevant parts of /proc/cpuinfo for where I am seeing it running 64bit linux kernel and user space

cpuid level	: 11
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
Comment 3 Akkana Peck 2016-01-07 22:05:04 UTC
Mine:

cpuid level     : 11
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid
Comment 4 Daniel Sabo 2016-01-08 02:27:17 UTC
This should hopefully be fixed now.

commit d8f9a0d48cea1857550aa2b9f030bc1b7d768790
Author: Daniel Sabo <DanielSabo@gmail.com>
Date:   Thu Jan 7 18:05:44 2016 -0800

    Fix AVX instructions being generated in SSE4.1 code (bug #760292)
    
    The half-float flag got accidentally added to the SSE4.1 flags,
    causing GCC to auto-enable AVX.

 configure.ac | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Comment 5 BugsBunny 2016-01-08 08:49:21 UTC
Fix confirmed in Gentoo using i7, GCC-5.3.0.
Comment 6 Akkana Peck 2016-01-08 15:53:28 UTC
Confirmed on sid too. Thanks!