Page 1 of 1

2 of 48 Failed tests

Posted: 2011-08-28T13:54:28-07:00
by jwdevel
I am trying to install ImageMagick 6.7.0 on my FreeBSD box (7.2-RELEASE, amd64)
I am installing from ports, which is up-to-date.

My issue seems very similar to the below, but I did not see any resolution of them, which is why I'm posting:

viewtopic.php?f=2&t=18566
http://lists.freebsd.org/pipermail/free ... 27367.html

I get two failed tests:

FAIL: tests/validate-formats-in-memory.sh
FAIL: tests/validate-formats-on-disk.sh

The test-suite.log shows:

<skip a bunch>
test 219: JBG/Undefined/TrueColor/12-bits..Segmentation fault (core dumped)
FAIL: tests/validate-formats-on-disk.sh (exit: 139)

<skip a bunch>
test 219: JBG/Undefined/TrueColor/12-bits... paSegmentation fault (core dumped)

I tried to run a backtrace on the core dump, but didn't get useful information - is there an easy way to enable debugging info?
I tried adding '-g' to CPPFLAGS and CFLAGS in the port's Makefile, but that didn't improve the situation much - I just get addresses in the trace, no names.

Has anyone else seen this issue and have a workaround? It is preventing me from updating the rest of my system ):

Thanks
-John

Re: 2 of 48 Failed tests

Posted: 2011-08-28T14:04:19-07:00
by magick
Try these commands (assumes you have the ImageMagick source distribution:
  • cd ImageMagick-6.7.2-0/tests
    gdb ./libs/validate
    run -validate formats-in-memory
    bt
The backtrace should give the exact line in the source distribution where the fault occurs.

Re: 2 of 48 Failed tests

Posted: 2011-08-28T14:22:24-07:00
by jwdevel
Hi, thanks for the info

Running gdb on .libs/validate (which is I think what you meant by './libs/validate'), I got this error:

/libexec/ld-elf.so.1: Shared object "libMagickCore.so.4" not found, required by "validate"

However, I do have a 'validate.core' file from my previous failure, so I used this line, from the ImageMagick-6.7.0-10/tests directory:

# gdb ./libs/validate validate.core

That gave me a believable backtrace:

#0 0x00000008015d05ab in jpeg_alloc (cinfo=0x7fffffff4f50, size=168,
info=0x8018f0e78 "JPEG small internal data allocation") at ./base/sjpegc.c:199
#1 0x0000000802634058 in jinit_memory_mgr () from /usr/local/lib/libjpeg.so.11
#2 0x000000080260ae13 in jpeg_CreateCompress () from /usr/local/lib/libjpeg.so.11
#3 0x000000080098fb9c in WriteJPEGImage (image_info=0x806ba2000, image=0x806b9e000)
at coders/jpeg.c:1776
#4 0x00000008006f8a19 in WriteImage (image_info=0x806bd7000, image=0x806b9e000)
at magick/constitute.c:1139
#5 0x00000008006bd2f7 in ImageToBlob (image_info=0x806b99000, image=0x806b9e000,
length=0x7fffffff8558, exception=0x806b81278) at magick/blob.c:1507
#6 0x00000008009b2e82 in WriteOneJNGImage (mng_info=0x806b8b000, image_info=0x806ba9000,
image=0x806b7e000) at coders/png.c:11926
#7 0x00000008009b3392 in WriteJNGImage (image_info=0x806ba9000, image=0x806b7e000)
at coders/png.c:12035
#8 0x00000008006f8a19 in WriteImage (image_info=0x806b12000, image=0x806b7e000)
at magick/constitute.c:1139
#9 0x00000000004041f2 in ValidateImageFormatsOnDisk (image_info=0x806b12000,
reference_filename=0x7fffffffb8c0 "/var/tmp/magick-QDYMbbhz",
output_filename=0x7fffffffc8c0 "/var/tmp/magick-GtNAtoEp", fail=0x7fffffffb8b8,
exception=0x806b0e040) at tests/validate.c:765
#10 0x0000000000406205 in main (argc=3, argv=0x7fffffffd978) at tests/validate.c:1470

I do recall that libjpeg has been updated semi-recently (caused me to rebuild a lot of stuff), so I don't know if that is related.

Maybe this looks more like a bug in libjpeg than in ImageMagick?

Re: 2 of 48 Failed tests

Posted: 2011-08-28T14:33:16-07:00
by jwdevel
FWIW, this is the backtrace of the formats-in-memory failure (it's very similar)

#0 0x00000008015d05ab in jpeg_alloc (cinfo=0x7fffffff4d50, size=168,
info=0x8018f0e78 "JPEG small internal data allocation") at ./base/sjpegc.c:199
#1 0x0000000802634058 in jinit_memory_mgr () from /usr/local/lib/libjpeg.so.11
#2 0x000000080260ae13 in jpeg_CreateCompress () from /usr/local/lib/libjpeg.so.11
#3 0x000000080098fb9c in WriteJPEGImage (image_info=0x806ba2000, image=0x806b9e000)
at coders/jpeg.c:1776
#4 0x00000008006f8a19 in WriteImage (image_info=0x806bd2000, image=0x806b9e000)
at magick/constitute.c:1139
#5 0x00000008006bd2f7 in ImageToBlob (image_info=0x806b99000, image=0x806b9e000,
length=0x7fffffff8358, exception=0x806b78278) at magick/blob.c:1507
#6 0x00000008009b2e82 in WriteOneJNGImage (mng_info=0x806b7e000, image_info=0x806b8b000,
image=0x806b75000) at coders/png.c:11926
#7 0x00000008009b3392 in WriteJNGImage (image_info=0x806b8b000, image=0x806b75000)
at coders/png.c:12035
#8 0x00000008006f8a19 in WriteImage (image_info=0x806b12000, image=0x806b75000)
at magick/constitute.c:1139
#9 0x0000000000403632 in ValidateImageFormatsInMemory (image_info=0x806b12000,
reference_filename=0x7fffffffb6c0 "/var/tmp/magick-u3k69Gfk",
output_filename=0x7fffffffc6c0 "/var/tmp/magick-sFwpc5vO", fail=0x7fffffffb6b8,
exception=0x806b0e040) at tests/validate.c:546
#10 0x00000000004061d2 in main (argc=3, argv=0x7fffffffd778) at tests/validate.c:1467

Re: 2 of 48 Failed tests

Posted: 2011-08-31T20:56:44-07:00
by jwdevel
Small update:

I previously was using ImageMagick 6.7.0-10, and updated to 6.7.1-10, but same error occurs.
libjpeg is 8b (or 8_3 as it's referenced in ports)

Re: 2 of 48 Failed tests

Posted: 2011-08-31T21:45:55-07:00
by jwdevel
For now I have disabled JPEG support in ImageMagick to work around this issue (super frownie face)

If anyone knows some other tests I can perform to help figure this out, let me know and I'd be happy to try.