[PerlMagick] Segment Fault: TIFF->PNG

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
Post Reply
xiconfjs

[PerlMagick] Segment Fault: TIFF->PNG

Post by xiconfjs »

Hi Guys,

I am using the Perl-Modul "Image::Magick" with ImageMagick as backend. But I have a problem with converting a picture. I know, that this file is corrupted, but ImageMagick should not get a buffer-overflow. If the script trys to "Read()" the picture, it gets a "Segment Fault".

The corrupted file is a TIFF-file that should be converted to PNG.

Code: Select all

#!/usr/bin/perl -w

use strict;
use warnings;
use Image::Magick;
 
$|=1;

my $pic_name = "05.tif";
my $image = Image::Magick->new;

print "[start] reading\n";
my $x = $image->Read($pic_name);            # hier I get the "Segment Fault"
print "[stop] reading\n";                   # this text will not be displayed

my ($width,$height) = $image->Get('width','height');
$x = $image->Resize(geometry=>'400x400');
$x = $image->Write("05_big.png");
$x = $image->Resize(geometry=>'100x100');
$x = $image->Write("05_small.png");

Code: Select all

This is the test-picture:
http://db.nixzuholen.de/test/05.tif

Code: Select all

Version: ImageMagick 6.4.4 2008-10-22 Q16 http://www.imagemagick.org
perl -MImage::Magick -e 'print "$Image::Magick::VERSION"' -> 6.4.4
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: [PerlMagick] Segment Fault: TIFF->PNG

Post by magick »

We agree, ImageMagick should not fault on a corrupt image. We downloaded and converted your image with the latest ImageMagick release, 6.4.5-8, and it converted / displayed without complaint.
xiconfjs

Re: [PerlMagick] Segment Fault: TIFF->PNG

Post by xiconfjs »

thanks for fast reply. Is there a posibility for you, to convert the image with the 6.4.4 version, so I can be sure, that this is a problem of this version?

Thanks xiconfjs
xiconfjs

Re: [PerlMagick] Segment Fault: TIFF->PNG

Post by xiconfjs »

Hi,

I installed the latest stable version of ImageMagick 6.4.5, but the problem still exists. I think it's a problem with the tiff-library, so I will try to install the latest BETA version of libtiff, to solve this problem. Here is the debug-log of "convert":

Code: Select all

2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: utility.c/ExpandFilenames/808/Configure
  Command line: /usr/local/bin/convert {-debug} {All} {05.tif} {05.png}
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/usr/local/share/ImageMagick-6.4.5/config/coder.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/usr/local/lib/ImageMagick-6.4.5/config/coder.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/usr/local/share/doc/ImageMagick-6.4.5/coder.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/usr/local/share/ImageMagick-6.4.5/coder.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/private/var/root/.magick/coder.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "coder.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: coder.c/LoadCoderList/638/Configure
  Loading coder configuration file "/usr/local/share/ImageMagick-6.4.5/config/coder.xml" ...
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Module convert[23756]: module.c/OpenModule/1120/Module
  Searching for module "TIFF" using filename "tiff.la"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Module convert[23756]: module.c/GetMagickModulePath/528/Module
  Searching for coder module file "tiff.la" ...
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Module convert[23756]: module.c/OpenModule/1129/Module
  Opening module at path "/usr/local/lib/ImageMagick-6.4.5/modules-Q16/coders/tiff.la"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Module convert[23756]: module.c/OpenModule/1156/Module
  Method "RegisterTIFFImage" in module "TIFF" at address 0xe3050
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Module convert[23756]: module.c/OpenModule/1170/Module
  Method "UnregisterTIFFImage" in module "TIFF" at address 0xe32b0
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Blob convert[23756]: blob.c/OpenBlob/2330/Blob
    read 3 magic header bytes
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Cache convert[23756]: cache.c/DestroyCacheInfo/1931/Cache
  destroy 
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/usr/local/share/ImageMagick-6.4.5/config/magic.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/usr/local/lib/ImageMagick-6.4.5/config/magic.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/usr/local/share/doc/ImageMagick-6.4.5/magic.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/usr/local/share/ImageMagick-6.4.5/magic.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "/private/var/root/.magick/magic.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: configure.c/GetConfigureOptions/528/Configure
  Searching for configure file: "magic.xml"
2008-11-20T09:47:16+01:00 0:01 0.000u 6.4.5 Configure convert[23756]: magic.c/LoadMagicList/681/Configure
  Loading magic configure file "/usr/local/share/ImageMagick-6.4.5/config/magic.xml" ...
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Blob convert[23756]: blob.c/OpenBlob/2330/Blob
    read 3 magic header bytes
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Cache convert[23756]: cache.c/DestroyCacheInfo/1931/Cache
  destroy 
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Blob convert[23756]: blob.c/OpenBlob/2330/Blob
    read 3 magic header bytes
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/usr/local/share/ImageMagick-6.4.5/config/locale.xml"
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/usr/local/lib/ImageMagick-6.4.5/config/locale.xml"
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/usr/local/share/doc/ImageMagick-6.4.5/locale.xml"
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/usr/local/share/ImageMagick-6.4.5/locale.xml"
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/private/var/root/.magick/locale.xml"
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "locale.xml"
2008-11-20T09:47:16+01:00 0:01 0.010u 6.4.5 Configure convert[23756]: locale.c/LoadLocaleList/779/Configure
  Loading locale configure file "/usr/local/lib/ImageMagick-6.4.5/config/locale.xml" ...
2008-11-20T09:47:16+01:00 0:01 0.020u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/usr/local/share/ImageMagick-6.4.5/config/english.xml"
2008-11-20T09:47:16+01:00 0:01 0.020u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/usr/local/lib/ImageMagick-6.4.5/config/english.xml"
2008-11-20T09:47:16+01:00 0:01 0.020u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/usr/local/share/doc/ImageMagick-6.4.5/english.xml"
2008-11-20T09:47:16+01:00 0:01 0.020u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/usr/local/share/ImageMagick-6.4.5/english.xml"
2008-11-20T09:47:16+01:00 0:01 0.020u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "/private/var/root/.magick/english.xml"
2008-11-20T09:47:16+01:00 0:01 0.020u 6.4.5 Locale convert[23756]: locale.c/GetLocaleOptions/498/Locale
  Searching for locale file: "english.xml"
2008-11-20T09:47:16+01:00 0:01 0.020u 6.4.5 Configure convert[23756]: locale.c/LoadLocaleList/779/Configure
  Loading locale configure file "/usr/local/lib/ImageMagick-6.4.5/config/english.xml" ...
2008-11-20T09:47:16+01:00 0:01 0.040u 6.4.5 Exception convert[23756]: tiff.c/TIFFWarnings/522/Exception
  05.tif: unknown field with tag 37724 (0x935c) encountered. `TIFFReadDirectory'
2008-11-20T09:47:16+01:00 0:01 0.040u 6.4.5 Coder convert[23756]: tiff.c/ReadTIFFImage/696/Coder
  Geometry: 292x413
2008-11-20T09:47:16+01:00 0:01 0.040u 6.4.5 Coder convert[23756]: tiff.c/ReadTIFFImage/698/Coder
  Interlace: 1
2008-11-20T09:47:16+01:00 0:01 0.040u 6.4.5 Coder convert[23756]: tiff.c/ReadTIFFImage/700/Coder
  Bits per sample: 8
2008-11-20T09:47:16+01:00 0:01 0.040u 6.4.5 Coder convert[23756]: tiff.c/ReadTIFFImage/702/Coder
  Min sample value: 0
2008-11-20T09:47:16+01:00 0:01 0.040u 6.4.5 Coder convert[23756]: tiff.c/ReadTIFFImage/704/Coder
  Max sample value: 255
2008-11-20T09:47:16+01:00 0:01 0.040u 6.4.5 Coder convert[23756]: tiff.c/ReadTIFFImage/740/Coder
  Photometric: SEPARATED
Segmentation fault
xiconfjs

Re: [PerlMagick] Segment Fault: TIFF->PNG

Post by xiconfjs »

Ok, the problem is solved.

I installed the latest version of libtiff (3.9.0 BETA), and now the segment fault is gone. So the bug was in libtiff not in ImageMagick.


greetz xiconfjs
Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests