Re: [Lcms-user] Problems getting 1.08 to run on Redhat 7.2
An ICC-based CMM for color management
Brought to you by:
mm2
From: Jim M. <jm...@ro...> - 2001-12-05 05:46:35
|
Ok... and I found the bug. The solution to the "tifficc" fault I was seeing is a bug in "tifficc.c". On line 568 the program frees the data corresponding to an embedded ICC profile. The data is then freed a second time when the TIFF image is closed. Here's a context diff: ------------------------------------------ *** tifficc.c.orig Wed Dec 5 00:41:09 2001 --- tifficc.c Wed Dec 5 00:38:59 2001 *************** *** 565,571 **** if (!IgnoreEmbedded && TIFFGetField(in, TIFFTAG_ICCPROFILE, &EmbedLen, &EmbedBuffer)) { hIn = cmsOpenProfileFromMem(EmbedBuffer, EmbedLen); ! _TIFFfree(EmbedBuffer); if (Verbose) fprintf(stdout, " (embedded profile found)"); } else --- 565,571 ---- if (!IgnoreEmbedded && TIFFGetField(in, TIFFTAG_ICCPROFILE, &EmbedLen, &EmbedBuffer)) { hIn = cmsOpenProfileFromMem(EmbedBuffer, EmbedLen); ! // _TIFFfree(EmbedBuffer); if (Verbose) fprintf(stdout, " (embedded profile found)"); } else ------------------------------------------- -- Jim On 2001.12.05 00:28 Jim Mayer wrote: > Oops... I lied... the actual fault is in TIFFClose(in). A stack > trace shows the following: > > > (gdb) backtrace > #0 __libc_free (mem=0x805e6d0) at malloc.c:3136 > #1 0x40092372 in _TIFFfree (p=0x805e6d0) at tif_unix.c:178 > #2 0x400786f6 in TIFFFreeDirectory (tif=0x805c5b0) at tif_dir.c:941 > #3 0x40076184 in TIFFClose (tif=0x805c5b0) at tif_close.c:41 > #4 0x0804a84b in main (argc=5, argv=0xbffff4d4) at tifficc.c:833 > #5 0x400de627 in __libc_start_main (main=0x804a6c8 <main>, > argc=5, ubp_av=0xbffff4d4, init=0x8048e08 <_init>, fini=0x80566a0 > <_fini>, rtld_fini=0x4000dcd4 <_dl_fini>, stack_end=0xbffff4cc) > at ../sysdeps/generic/libc-start.c:129 > #1 0x40092372 in _TIFFfree (p=0x805e6d0) at tif_unix.c:178 > #2 0x400786f6 in TIFFFreeDirectory (tif=0x805c5b0) at tif_dir.c:941 > #3 0x40076184 in TIFFClose (tif=0x805c5b0) at tif_close.c:41 > #4 0x0804a84b in main (argc=5, argv=0xbffff4d4) at tifficc.c:833 > > The immediate problem is with the (conditional on ICC_SUPPORT) field > in.tif_dir.td_profileData. The field contains accessible data before > the call to TIFFClose, but the memory is apparently freed during a > call to the routine LZWCleanup. > > -- Jim > > On 2001.12.04 23:21 Jim Mayer wrote: >> Hi, >> >> I just discovered LittleCMS and am having problems getting it to run >> on Redhat 7.2 Linux. I looked through the "lcms-user" archives and >> didn't find anyone reporting similar problems, so I thought I'd >> describe what was going on before I dove into debugging mode. >> >> I had no problems getting lcms-1.08 and lprof-1.08 to build. I do, >> however, see the following problems: >> >> (1) tifficc generally gets a segmentation fault. When I poked >> around with gdb, I discovered that the fault is in the final call to >> "TIFFClose(out)" in "tifficc.c" file. The actual fault is triggered >> int the malloc/free code. The generated TIFF file is fine despite >> the error. >> >> (2) When I run "qtmeasurementtool" and attempt to load a scanned >> target, I get an error message claiming that the TIFF file I'm >> loading a "null image". Specifically, I get: >> >> >> QImage::smoothScale: Image is a null image >> QPixmap::convertFromImage: Cannot convert a null image >> QPixmap::convertFromImage: Cannot convert a null image >> >> The image I'm attempting to load was generated using "xsane". It >> displays fine with both the GIMP and ImageMagick. I've done a "save >> as" from the GIMP with the same result. >> >> At this point I'm rather suspicious that I've got problem or >> incompatibility with my TIFF library, and was wondering if other >> folks have seen similar problems. Here are the versions of things >> I'm running: >> >> lcms-1.08 >> lprof-1.08 >> TIFF: Redhat RPM libtiff-devel-3.5.5-13, libtiff-3.5.5-13 >> Qt: Redhat RPM qt-2.3.1-5 >> GCC: Redhat RPM gcc-2.96-98 >> >> I run the GNOME desktop, and use Sawfish as my window manager, >> though I don't see that that should be terribly relevant to the >> problems I'm seeing. >> >> All the RPMs are off the Redhat 7.2 distribution. The lcms and >> lprof files I downloaded from the http://littlecms.com web site. >> >> Thanks. >> >> -- Jim Mayer >> >> >> _______________________________________________ >> Lcms-user mailing list >> Lcm...@li... >> https://lists.sourceforge.net/lists/listinfo/lcms-user > > _______________________________________________ > Lcms-user mailing list > Lcm...@li... > https://lists.sourceforge.net/lists/listinfo/lcms-user |