Page 1 of 1

core dump during "make check" in 6.6.8 on SUSE linux

Posted: 2011-03-18T15:52:37-07:00
by wealthychef
I got the following output, and am not sure what to make of it, when running make check on our SUSE linux machines. ImageMagick tells me to report this. It is dumping core during the "make check" phase. Stack trace and listing is below as well.
I'd like this to work properly as I'm installing it globally for many users and this test failure is disturbing of course, but my own tests by hand seem to show things are OK, in that the "convert" command translates between all the image formats I've tested.
Any help or advice would be appreciated.

Code: Select all

gmake[3]: Entering directory `/usr/global/tools/ImageMagick/6.6.8/sles_10_ppc64/ImageMagick-6.6.8-4'
PASS: tests/validate-compare.sh
PASS: tests/validate-composite.sh
PASS: tests/validate-convert.sh
PASS: tests/validate-identify.sh
PASS: tests/validate-import.sh
PASS: tests/validate-montage.sh
PASS: tests/validate-pipe.sh
PASS: tests/validate-stream.sh
FAIL: tests/validate-formats-in-memory.sh
FAIL: tests/validate-formats-on-disk.sh
PASS: Magick++/tests/exceptions.sh
PASS: Magick++/tests/appendImages.sh
FAIL: Magick++/tests/attributes.sh
PASS: Magick++/tests/averageImages.sh
PASS: Magick++/tests/coalesceImages.sh
blah blah blah
=========================================
   ImageMagick 6.6.8: ./test-suite.log   
=========================================

3 of 48 tests failed.  

.. contents:: :depth: 2


FAIL: tests/validate-formats-in-memory.sh (exit: 139)
=====================================================

./tests/validate-formats-in-memory.sh: line 23: 16095 Segmentation fault      (core dumped) ${VALIDATE} -validate formats-in-memory

FAIL: tests/validate-formats-on-disk.sh (exit: 139)
===================================================

./tests/validate-formats-on-disk.sh: line 23: 16300 Segmentation fault      (core dumped) ${VALIDATE} -validate formats-on-disk

FAIL: Magick++/tests/attributes.sh (exit: 1)
============================================

Testing throwing and catching exceptions. A program crash or a message
that the exception was not caught indicates a test failure.  A properly
formatted exception message indicates success:
Caught exception, good!:
  "attributes: no decode delegate for this image format `foo' @ error/constitute.c/ReadImage/532"
Line: 1298, signature (ea9aaf29023c4c1c801e05483423a4a4266918e3a464b6a5155f11a0c581dedb) is incorrect
1 failures
===========================================
3 of 48 tests failed
See ./test-suite.log
Please report to http://www.imagemagick.org
===========================================
gmake[3]: *** [test-suite.log] Error 1
gmake[3]: Leaving directory `/usr/global/tools/ImageMagick/6.6.8/sles_10_ppc64/ImageMagick-6.6.8-4
=========================================================================================
Here is a stack trace of the first core file I found:

Code: Select all

QueueAuthenticNexus,     FP=ffcca050
QueueAuthenticPixels,    FP=ffcca090
     ReadCINImage,            FP=ffcca940
ReadImage,               FP=ffccfa90
     ValidateImageFormatsInMemory, FP=ffcd0b20
main,                    FP=ffcd2bc0
     generic_start_main,      FP=ffcd2bc0
     __libc_start_main,       FP=ffcd2df0

=========================================================================================
And a source listing with the failure point shown:

Code: Select all

     Validate pixel cache geometry.
   */
   assert(image != (const Image *) NULL);
   assert(image->signature == MagickSignature);
   assert(image->cache != (Cache) NULL);
   cache_info=(CacheInfo *) GetImagePixelCache(image,MagickTrue,exception);
   assert(cache_info->signature == MagickSignature); <--------------------------- THIS IS FAILING RIGHT HERE
   if (cache_info == (Cache) NULL)
     return((PixelPacket *) NULL);
   if ((cache_info->columns == 0) && (cache_info->rows == 0))
     {
       (void) ThrowMagickException(exception,GetMagickModule(),CacheError,
         "NoPixelsDefinedInCache","`%s'",image->filename);
       return((PixelPacket *) NULL);
     }
   if ((x < 0) |