Subject: | t/1.t test crashes with ImageMagick 7.0.6.9 |
After upgrading ImageMagick from 6.9.9.3 to 7.0.6.9 I experience this crash in t/1.t test:
$ perl -Iblib/{lib,arch} t/1.t
1..43
ok 1 - use Graphics::TIFF;
ok 2 - version string
ok 3 - version
ok 4 - IsCODECConfigured
ok 5 - FileName
ok 6 - An object of class 'Graphics::TIFF' isa 'Graphics::TIFF'
ok 7 - Graphics::TIFF->can(...)
ok 8 - ReadDirectory
perl: MagickCore/exception.c:1034: ThrowMagickExceptionList: Assertion `exception->signature == MagickCoreSignature' failed.
Aborted (core dumped)
It crashes in ReadEXIFDirectory() method call:
SKIP: {
skip 'Image::Magick not installed', 36 if $@;
my $image = Image::Magick->new;
$image->Read('rose:');
$image->Set( density => '72x72' );
$image->Write('test.tif');
my $tif = Graphics::TIFF->Open( 'test.tif', 'r' );
is( $tif->FileName, 'test.tif', 'FileName' );
isa_ok $tif, 'Graphics::TIFF';
can_ok $tif, qw(Close ReadDirectory GetField);
is( $tif->ReadDirectory, 0, 'ReadDirectory' );
→ is( $tif->ReadEXIFDirectory(0), 0, 'ReadEXIFDirectory' );
[...]
}
The assert comes from ImageMagick's Perl binding, but the ReadEXIFDirectory() method is a binding to LibTFF's TIFFReadEXIFDirectory() function. I have libtiff-4.0.8.
I'm not sure where the problem is.