Я использую imagemagick 7
для чтения и записи некоторых TIFF
файлов. У меня есть C++
код, чтобы сделать то же самое, и он отлично работает с Windows. Я сталкиваюсь с этой проблемой при написании файла TIFF в Linux. Я, магемагик, дает сбой при создании ImageMagick Image и записи Image в файл.
Я собрал следы аварии, но, кажется, сложно проанализировать следы.
Я получаю сообщение об ошибке ниже:
*** Error in `TestReadWriteImage': corrupted size vs. prev_size: 0x0000000001ef0430 ***
<br/>
======= Backtrace: ========= <br/>
/lib64/libc.so.6(+0x7f5d4)[0x7f81724b75d4]<br/>
/lib64/libc.so.6(+0x82de4)[0x7f81724bade4]<br/>
/lib64/libc.so.6(+0x8382c)[0x7f81724bb82c]<br/>
/lib64/libc.so.6(realloc+0x1d2)[0x7f81724bd832]<br/>
/lib64/libtiff.so.5(+0xd863)[0x7f816543e863]<br/>
/lib64/libtiff.so.5(TIFFSetField+0x94)[0x7f816543f124]<br/>
/home/data/linux_a64/code/bin/tiff.so(+0x7457)[0x7f81656ac457]<br/>
/home/data/linux_a64/code/bin/libMagickCore-7.Q8HDRI.so.0(WriteImage+0x260)[0x7f8168fc9490]<br/>
/home/data/linux_a64/code/bin/libMagick++-7.Q8HDRI.so.0(_ZN6Magick5Image5writeERKSs+0x43)[0x7f8168d1d853]<br/>
**Sample C++ Code:**<br/>
*uchar* *pixels; // This variable contains some pixel data* <br/>
*Magick::Image* *imImage = new Magick::Image(3, 3, "RGB",Magick::CharPixel, pixels);* <br/>
*imImage->write("/home/tmp/Output.tiff");*
Я получаю сбой за последние 2 инструкции.
Я не уверен, где искать проблему.
Это сбой ImageMagick, libc или libtiff?
Если кто-то сталкивался с такой же проблемой, пожалуйста, помогите мне.