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 158871 - FAIL: gimp-composite-mmx-test
FAIL: gimp-composite-mmx-test
Status: RESOLVED DUPLICATE of bug 162778
Product: GIMP
Classification: Other
Component: General
2.1.x
Other Linux
: Normal normal
: ---
Assigned To: GIMP Bugs
GIMP Bugs
Depends on:
Blocks:
 
 
Reported: 2004-11-21 02:55 UTC by Tom Williams
Modified: 2005-01-10 19:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Configure script log file (109.00 KB, text/plain)
2004-11-21 22:51 UTC, Tom Williams
Details

Description Tom Williams 2004-11-21 02:55:12 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$
Comment 1 Sven Neumann 2004-11-21 10:58:03 UTC
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.
Comment 2 Tom Williams 2004-11-21 16:58:44 UTC
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.

Comment 3 Manish Singh 2004-11-21 17:56:48 UTC
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.
Comment 4 Tom Williams 2004-11-21 20:37:20 UTC
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...
Comment 5 Manish Singh 2004-11-21 21:31:36 UTC
Can you run the test under gdb and see what line in the source it fails on?
Comment 6 Tom Williams 2004-11-21 21:47:38 UTC
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...
Comment 7 Manish Singh 2004-11-21 21:51:36 UTC
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?
Comment 8 Tom Williams 2004-11-21 22:51:24 UTC
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
  • #0 gimp_composite_addition_va8_va8_va8_mmx
    at gimp-composite-mmx.c line 1308
  • #1 gimp_composite_regression_time_function
    at gimp-composite-regression.c line 458
  • #2 gimp_composite_mmx_test
    at gimp-composite-mmx-test.c line 71
  • #3 main
    at gimp-composite-mmx-test.c line 249
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...
Comment 9 Tom Williams 2004-12-20 05:39:28 UTC
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...
Comment 10 Sven Neumann 2004-12-20 11:01:33 UTC
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.
Comment 11 Manish Singh 2005-01-09 22:46:08 UTC

*** This bug has been marked as a duplicate of 162778 ***
Comment 12 Tom Williams 2005-01-10 03:10:38 UTC
I've been using Gimp 2.2.0 and 2.2.1 *without* problems despite this problem.

Peace...
Comment 13 Sven Neumann 2005-01-10 19:26:35 UTC
Well, you probably never put a grayscale layer into addition mode...