RPM: gimp-2.2.7-1.i386 $ gimp Illegal instruction http://people.redhat.com/jlaska/gimp.ltrace http://people.redhat.com/jlaska/gimp.strace $ > gdb /usr/bin/gimp GNU gdb Red Hat Linux (6.3.0.0-1.21rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1". (gdb) r Starting program: /usr/bin/gimp Reading symbols from shared object read from target memory...done. Loaded system supplied DSO at 0x9f6000 [Thread debugging using libthread_db enabled] [New Thread -1208400192 (LWP 4786)] Program received signal SIGILL, Illegal instruction. [Switching to Thread -1208400192 (LWP 4786)] 0x00be4989 in gimp_rgba_get_uchar (rgba=0x971a018, r=0xbfcad3d0 "x\203p\t`\uffff\026", g=0xbfcad3d1 "\203p\t`\uffff\026", b=0xbfcad3d2 "p\t`\uffff\026", a=0xbfcad3d3 "\t`\uffff\026") at gimprgb.c:360 360 if (r) *r = ROUND (CLAMP (rgba->r, 0.0, 1.0) * 255.0); (gdb) Let me know if you have additional debugging tips.
Forgot the backtrace ... (gdb) bt #0 0x00be4989 in gimp_rgba_get_uchar (rgba=0x971a018, r=0xbfcad3d0 "x\203p\t`\uffff\026", g=0xbfcad3d1 "\203p\t`\uffff\026", b=0xbfcad3d2 "p\t`\uffff\026", a=0xbfcad3d3 "\t`\uffff\026") at gimprgb.c:360 #1 0x0821ff08 in gimp_param_rgb_values_cmp (pspec=0x9708378, value1=0x0, value2=0xbfcad420) at gimpconfig-params.c:159 #2 0x00144ad6 in g_param_values_cmp () from /usr/lib/libgobject-2.0.so.0 #3 0x0821dad4 in gimp_config_iface_equal (a=0x971b3c8, b=0x96cb440) at gimpconfig.c:206 #4 0x08221bfc in gimp_config_diff_property (a=Variable "a" is not available. ) at gimpconfig-utils.c:165 #5 0x08221cd6 in gimp_config_diff_same (a=0x971a578, b=0x96cb278, flags=3) at gimpconfig-utils.c:202 #6 0x08222099 in gimp_config_sync (src=0x971a578, dest=0x96cb278, flags=3) at gimpconfig-utils.c:315 #7 0x08227676 in gimp_rc_duplicate (config=0x971a578) at gimprc.c:319 #8 0x0819346c in gimp_load_config (gimp=0x970e748, alternate_system_gimprc=0x0, alternate_gimprc=0x0) at gimp.c:817 #9 0x080630c2 in app_run (full_prog_name=0x0, gimp_argc=0, gimp_argv=0xbfcad7f8, alternate_system_gimprc=0x0, alternate_gimprc=0x0, session_name=0x0, batch_interpreter=0x0, batch_commands=0x0, no_interface=0, no_data=0, no_fonts=0, no_splash=0, be_verbose=0, use_shm=0, use_cpu_accel=158441496, console_messages=0, stack_trace_mode=GIMP_STACK_TRACE_NEVER, pdb_compat_mode=GIMP_PDB_COMPAT_OFF) at app_procs.c:265 #10 0x08063bfc in main (argc=1, argv=0xbfcad7f4) at main.c:473 #11 0x002d0de6 in __libc_start_main () from /lib/libc.so.6 #12 0x08062e81 in _start ()
same here.
+1
I'm working on a fix which still allows GIMP to utilize MMX/SSE/SSE2 optimized code on CPUs that can handle it.
*** Bug 157487 has been marked as a duplicate of this bug. ***
*** Bug 157473 has been marked as a duplicate of this bug. ***
*** Bug 157621 has been marked as a duplicate of this bug. ***
It seems that bug was fixed with latest rawhide (gimp-2.2.7-2)
Confirmed ... gimp-2.2.7-2.i386 no longer causes "Illegal Instruction" failure. * Wed May 11 2005 Nils Philippsen <nphilipp> - use -mmmx/sse/sse2/... only for the relevant source files so that extended instruction sets only get used on suitable CPUs (#157409) Holding off from closing this defect until it is placed in MODIFIED.
works for me too, thanks for fixing!
The real fix is in 2.2.7-4 which allows asm optimizations on CPUs that support it again (2.2.7-2 only used generic C routines, courtesy of libtool :-(). For differences between the two releases, check the output of "gimp --verbose" and look at the line "Processor instruction sets". With 2.2.7-4, it's: Processor instruction sets: +mmx +sse +sse2 -3dnow -altivec -vis on my machine while with 2.2.7-2 it was: Processor instruction sets: -mmx -sse -sse2 -3dnow -altivec -vis meaning no utilization of the MMX/SSE instructions that my CPU would understand.