Page 1 of 1

make check File too large?

Posted: 2010-04-21T00:12:47-07:00
by axelrose
Hello all,

I have problems validating a 6.6.1-4 installation on some machines.
"make check" reports

Code: Select all

validate: unable to extend cache `/var/tmp/magick-XX9Ja4NZ': File too large @ error/cache.c/OpenPixelCache/4171
Other tests succeed.
I verified that I have enough disk space:

Code: Select all

$ dd if=/dev/zero of=/var/tmp/magick-test bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
Is there anything I can do to have a better validation?


Thanks, Axel.

Re: make check File too large?

Posted: 2010-04-21T05:25:45-07:00
by magick
Which check failed? Assume it was validate-formats-on-disk. In that case, take a look at tests/validate-formats-on-disk.log and post the context for the failure here. We need to identify which subtest failed.

Re: make check File too large?

Posted: 2010-04-21T05:56:14-07:00
by axelrose
SunOS server-name 5.10 Generic_118833-24 sun4v sparc SUNW,Sun-Fire-T200

Code: Select all

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: wand/drawtest.sh
PASS: wand/wandtest.sh
The complete content of "validate-formats-on-disk.log" is:

Code: Select all

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

validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': File too large @ error/cin.c/ReadCINImage/740.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': File too large @ error/cin.c/ReadCINImage/740.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': File too large @ error/cin.c/ReadCINImage/740.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': File too large @ error/cin.c/ReadCINImage/740.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': File too large @ error/cin.c/ReadCINImage/740.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': File too large @ error/cin.c/ReadCINImage/740.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': File too large @ error/cin.c/ReadCINImage/740.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': File too large @ error/cin.c/ReadCINImage/740.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': File too large @ error/cin.c/ReadCINImage/740.
validate: unexpected end-of-file `/var/tmp/magick-XXBSaqJd': No such file or directory @ error/cin.c/ReadCINImage/740.
validate: image size differs `/var/tmp/magick-XXBSaqJd' @ error/compare.c/CompareImageChannels/155.
On another Solaris machine

SunOS server-name 5.10 Generic_127112-05 i86pc i386 i86pc Solaris

I have these results:

Code: Select all

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
PASS: tests/validate-formats-in-memory.sh
FAIL: tests/validate-formats-on-disk.sh
PASS: wand/drawtest.sh
PASS: wand/wandtest.sh
using IM-6.6.1-4 too.

Shall I use this post for those problems too. Checking the log file I found that
those errors are format related, e.g. from "validate-formats-on-disk.log":

Code: Select all

  test 145: GIF87/Undefined/Grayscale/8-bits... pass.
  test 146validate: unable to open image `/var/tmp/magick-XXi8aaim': No such file or directory @ error/blob.c/OpenBlob/2489.
Thanks for the great help,
Axel

Re: make check File too large?

Posted: 2010-04-21T06:44:37-07:00
by magick
Perhaps you are running out of space on /var/tmp. Try setting the temporary file folder for ImageMagick to another location. Try
  • export MAGICK_TMPDIR=./
    make check
That should create temporary files in your current directory. Does that resolve the 'file too large' exception?

Re: make check File too large?

Posted: 2010-04-21T06:55:02-07:00
by axelrose
Redefining MAGICK_TMPDIR doesn't help.

I checked for sufficient disk space thusly:

Code: Select all

 dd if=/dev/zero of=/var/tmp/magick-test bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
Where could I see the actual test code in the sources?

Re: make check File too large?

Posted: 2010-04-21T08:00:32-07:00
by magick
Solaris is returning the error suggesting not enough disk space or ImageMagick is asking for too much. To debug,
  • validate: unable to extend cache `/var/tmp/magick-XXBSaqJd': File too large @ error/cache.c/OpenPixelCache/4171.
means go to ImageMagick-6.6.1-4/magick/cache.c and look at line 4171. Add debug statements and see if the request to extend the cache is reasonable. If the cache_info->offset+cache_info->length is a huge number, that would suggest some sort of problem in the ImageMagick build.

Re: make check File too large?

Posted: 2010-04-21T22:53:14-07:00
by axelrose
After inserting some debugging code into "magick/cache.c"

Code: Select all

  if (status == MagickFalse)
    {
      printf("DEBUG:");
      printf("%d\n", cache_info->offset+cache_info->length);
      ThrowFileException(exception,CacheError,"UnableToExtendCache",
        image->filename);
      return(MagickFalse);
    }
and running "make check" I see this result in "tests/validate-formats-in-memory.log":

Code: Select all

  test 38: BMP/Undefined/TrueColor/16-bits... pass.
  test 39: CIN/Undefined/TrueColor/8-bitsDEBUG:1688207360
... fail @ tests/validate.c/ValidateImageFormatsInMemory/598.
I'd say that allocating 1.688.207.360 bytes is indeed too much memory being allocated.

I really don't need the DPX/CIN/Cineon format. Is there any "--without-cineon" option for configuration?

Cheers, Axel.

Re: make check File too large?

Posted: 2010-04-22T04:36:18-07:00
by magick
Perhaps there is byte order problem for DPX under Solaris. We will investigate.

In the mean-time, if you are building ImageMagick as modules you can simply remove the dpx.la and dpx.so files from the distribution. There is no configure script option to remove DPX support.