GNOME Bugzilla – Bug 158871
FAIL: gimp-composite-mmx-test
Last modified: 2005-01-10 19:26:35 UTC
Run a "make check" to test Gimp-2.2.pre-2 build. Configure command: ./configure --prefix=/usr/local/gimp22 --enable-python make check output: Running gimp_composite_3dnow tests... gimp_composite_3dnow: Instruction set is not available. PASS: gimp-composite-3dnow-test PASS: gimp-composite-altivec-test Running gimp_composite_mmx tests... FAIL: gimp-composite-mmx-test Running gimp_composite_sse tests... gimp_composite_sse: Instruction set is not available. PASS: gimp-composite-sse-test Running gimp_composite_sse2 tests... gimp_composite_sse2: Instruction set is not available. PASS: gimp-composite-sse2-test PASS: gimp-composite-vis-test ===================================================================== 1 of 6 tests failed Please report to http://bugzilla.gnome.org/enter_bug.cgi?product=GIMP ===================================================================== make[3]: *** [check-TESTS] Error 1 make[3]: Leaving directory `/build/gimp-2.2-pre2/app/composite' make[2]: *** [check-am] Error 2 make[2]: Leaving directory `/build/gimp-2.2-pre2/app/composite' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/build/gimp-2.2-pre2/app' make: *** [check-recursive] Error 1 tom@linux:~/build/gimp-2.2-pre2$ gcc --version gcc (GCC) 3.4.3 Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. tom@linux:~/build/gimp-2.2-pre2$ pkg-config --modversion glib-2.0 2.4.7 tom@linux:~/build/gimp-2.2-pre2$ pkg-config --modversion gtk+-2.0 2.4.13 tom@linux:~/build/gimp-2.2-pre2$ ldd --version ldd (GNU libc) 2.3.2 Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper. tom@linux:~/build/gimp-2.2-pre2$
The test passes here (of course, otherwise I wouldn't have released this). Mind to give some information about your system? We would need to know your CPU and your compiler. And please run gimp with the --verbose command-line option and tell us what it says about CPU acceleration.
I don't have Gimp 2.2-pre2 around anymore but I'll rebuild it and post what it reports. Here is info from Gimp 2.0.6: tom@linux:~/build$ gimp --verbose INIT: gimp_load_config Parsing '/usr/etc/gimp/2.0/gimprc' Parsing '/home/tom/.gimp-2.0/gimprc' gimp_composite: use=yes, verbose=no Processor instruction sets: +mmx -sse -sse2 -3dnow -altivec -vis Adding theme 'Default' (/usr/share/gimp/2.0/themes/Default) Adding theme 'Small' (/usr/share/gimp/2.0/themes/Small) Writing '/home/tom/.gimp-2.0/themerc' INIT: gimp_initialize INIT: gimp_real_initialize INIT: gui_initialize_after_callback INIT: gimp_restore INIT: gui_restore_callback INIT: gimp_real_restore Querying plug-in: '/usr/lib/gimp/2.0/plug-ins/colorhtml.py' Querying plug-in: '/usr/lib/gimp/2.0/plug-ins/image_tile' removing duplicate PDB procedure "file_colorhtml_save" registered by '/usr/lib/gimp/2.0/plug-ins/colorhtml.py' Writing '/home/tom/.gimp-2.0/pluginrc' Starting extension: 'extension_script_fu' INIT: gui_restore_after_callback EXIT: gimp_exit EXIT: gui_exit_callback EXIT: gimp_real_exit EXIT: gui_exit_after_callback EXIT: app_exit_after_callback tom@linux:~/build$ uname -a Linux linux 2.6.8.1 #1 Wed Sep 22 20:23:47 PDT 2004 i686 unknown tom@linux:~/build$ I'm using a Pentium II 350MHz based machine with 512MB of RAM. Here is some "dmesg" output with info on the CPU: After generic identify, caps: 0183f9ff 00000000 00000000 00000000 CPU: After vendor identify, caps: 0183f9ff 00000000 00000000 00000000 CPU: L1 I cache: 16K, L1 D cache: 16K CPU: L2 cache: 512K CPU: After all inits, caps: 0183f9ff 00000000 00000000 00000040 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. CPU: Intel Pentium II (Deschutes) stepping 02 Enabling fast FPU save and restore... done. Checking 'hlt' instruction... OK. NET: Registered protocol family 16 PCI: PCI BIOS revision 2.10 entry at 0xfb310, last bus=1 PCI: Using configuration type 1 mtrr: v2.0 (20020519) ACPI: Subsystem revision 20040326 ACPI: Interpreter disabled. As I indicated above, I'm running gcc-3.4.3 with only the C and C++ frontends built. I'll rebuild Gimp-2.2-pre2 and re-run the tests and post what Gimp 2.2-pre2 reports about the CPU.
The test program should print some output. A better thing to do is run app/composite/gimp-composite-mmx-test by itself and see what's going wrong. Also, it really is good practice to keep the versions of the things you report bugs on around.
Ok, I've got Gimp 2.2-pre2 rebuilt and the "make check" fails the same way. Additionally, I ran gimp-composite-mmx-test by itself and it produced an "Illegal instruction" message only: Running gimp_composite_3dnow tests... gimp_composite_3dnow: Instruction set is not available. PASS: gimp-composite-3dnow-test PASS: gimp-composite-altivec-test Running gimp_composite_mmx tests... FAIL: gimp-composite-mmx-test Running gimp_composite_sse tests... gimp_composite_sse: Instruction set is not available. PASS: gimp-composite-sse-test Running gimp_composite_sse2 tests... gimp_composite_sse2: Instruction set is not available. PASS: gimp-composite-sse2-test PASS: gimp-composite-vis-test ===================================================================== 1 of 6 tests failed Please report to http://bugzilla.gnome.org/enter_bug.cgi?product=GIMP ===================================================================== make[3]: *** [check-TESTS] Error 1 make[3]: Leaving directory `/build/gimp-2.2-pre2/app/composite' make[2]: *** [check-am] Error 2 make[2]: Leaving directory `/build/gimp-2.2-pre2/app/composite' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/build/gimp-2.2-pre2/app' make: *** [check-recursive] Error 1 tom@linux:~/build/gimp-2.2-pre2$ app/composite/gimp-composite-mmx-test Running gimp_composite_mmx tests... Illegal instruction tom@linux:~/build/gimp-2.2-pre2$ I will keep this Gimp 2.2-pre2 build around in case you need further info/output from me. Peace...
Can you run the test under gdb and see what line in the source it fails on?
I tried to run it under gdb but gdb doesn't recognize it as a valid executable: tom@linux:~/build/gimp-2.2-pre2$ gdb app/composite/gimp-composite-mmx-test GNU gdb 6.2.1 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 "i686-pc-linux-gnu"..."/build/gimp-2.2-pre2/app/composite/gimp-composite-mmx-test": not in executable format: File format not recognized (gdb) run Starting program: No executable file specified. Use the "file" or "exec-file" command. (gdb) quit tom@linux:~/build/gimp-2.2-pre2$ time app/composite/gimp-composite-mmx-test Running gimp_composite_mmx tests... Illegal instruction real 3m20.204s user 0m27.012s sys 0m1.287s tom@linux:~/build/gimp-2.2-pre2$ I see gdb 6.3 is now out. I'll upgrade to that to see if that makes any difference in the ability to debug gimp-composite-mmx-test. Should I re-run my Gimp 2.2-pre2 build with debugging options specified? Peace...
Run gdb on .libs/lt-gimp-composite-mmx-test. The file in the app/composite directory is the libtool wrapper. And, yes, you should build with -g. What CFLAGS are you using?
Created attachment 34003 [details] Configure script log file Here is the debugger output: tom@linux:~/build/gimp-2.2-pre2$ gdb app/composite/.libs/lt-gimp-composite-mmx-test GNU gdb 6.2.1 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 "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /build/gimp-2.2-pre2/app/composite/.libs/lt-gimp-composite-mmx-test Running gimp_composite_mmx tests... Program received signal SIGILL, Illegal instruction. 0x0804d0e1 in gimp_composite_addition_va8_va8_va8_mmx (_op=0xbffff810) at gimp-composite-mmx.c:1308 1308 asm volatile (" movq %1, %%mm2\n" (gdb) bt
+ Trace 52389
The program is running. Exit anyway? (y or n) y tom@linux:~/build/gimp-2.2-pre2$ Here is CFLAGS from the top-level Makefile: CFLAGS = -g -O2 -Wall CPPFLAGS = -DGIMP_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_MULTIHEAD_SAFE -D GTK_MULTIHEAD_SAFE I have binutils 2.15 installed as well. Peace...
This also happened to me when building Gimp 2.2.0. Is it safe to go ahead and install Gimp 2.2.0 even though this one test fails? Thanks! Peace...
The only way to find out is to try it. Either you will see GIMP crashing with illegal instructions or the problem will turn out to be harmless. Please keep us informed.
*** This bug has been marked as a duplicate of 162778 ***
I've been using Gimp 2.2.0 and 2.2.1 *without* problems despite this problem. Peace...
Well, you probably never put a grayscale layer into addition mode...