[Gimp-developer] gimp crashes when it does "export as"



Hi,
I'm desperate, hopefully some kind soul has a helping hand for me.

Many thanks for any hint. I'm having this problem since several weeks.

I have the very strange situation that after some builds Gimp does 'export as' without crash and sometimes it crashes. I might depend on the sequence of builds of BABL, GEGL, GIMP (all GIT versions).

I've got the very strange back trace below.

On level #8 the 'this pointer' is zero (which causes the crash)
On level #9 there is a very strange situation:

    TiffComponent* TiffMnEntry::doAddPath(uint16_t tag,
                                          TiffPath& tiffPath,
                                          TiffComponent* const pRoot,
TiffComponent::AutoPtr object)
    {
        assert(!tiffPath.empty());
        const TiffPathItem tpi1 = tiffPath.top();
        tiffPath.pop();
        if (tiffPath.empty()) {
// If the last element in the path is the makernote tag itself we're done
            return this;
        }
        const TiffPathItem tpi2 = tiffPath.top();
        tiffPath.push(tpi1);
        if (mn_ == 0) {
            mnGroup_ = tpi2.group();
mn_ = TiffMnCreator::create(tpi1.tag(), tpi1.group(), mnGroup_);
            assert(mn_);
        }
// here mn_ is zero - how is this possible ??? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        return mn_->addPath(tag, tiffPath, pRoot, object);
    } // TiffMnEntry::doAddPath


It looks like some recursion is going on (methods calling each other), but the variable mn_ is a "global" variable of the class object.

Attaching to program: /var/tmp/portage/media-gfx/gimp-9999/work/gimp-9999/plug-ins/file-jpeg/.libs/file-jpeg, process 4876
[New LWP 4882]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007f2028aa8e1d in read () from /lib64/libc.so.6
(gdb) where
#0  0x00007f2028aa8e1d in read () from /lib64/libc.so.6
#1  0x00007f2028a40fb7 in _IO_file_underflow () from /lib64/libc.so.6
#2  0x00007f2028a420d2 in _IO_default_uflow () from /lib64/libc.so.6
#3  0x00007f2028a34d71 in _IO_getline_info () from /lib64/libc.so.6
#4  0x00007f2028a33ab1 in fgets () from /lib64/libc.so.6
#5 0x00007f20292294cf in g_on_error_query () from /usr/lib64/libglib-2.0.so.0
#6  0x00007f202b47d5b3 in gimp_plugin_sigfatal_handler (
    sig_num=<optimized out>) at gimp.c:1849
#7  <signal handler called>
#8 0x00007f2026412a35 in Exiv2::Internal::TiffComponent::addPath (this=0x0,
    tag=8195,
    tiffPath=std::stack wrapping: std::deque with 2 elements = {...},
    pRoot=0x555ef4c87f70, object=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffcomposite.cpp:634
#9  0x00007f2026413397 in Exiv2::Internal::TiffMnEntry::doAddPath (
    this=0x555ef4cd95c0, tag=8195,
    tiffPath=std::stack wrapping: std::deque with 2 elements = {...},
    pRoot=0x555ef4c87f70, object=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffcomposite.cpp:751
#10 0x00007f2026412a6e in Exiv2::Internal::TiffComponent::addPath (
    this=0x555ef4cd95c0, tag=8195,
    tiffPath=std::stack wrapping: std::deque with 2 elements = {...},
    pRoot=0x555ef4c87f70, object=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffcomposite.cpp:634
#11 0x00007f2026412e96 in Exiv2::Internal::TiffDirectory::doAddPath (
    this=0x555ef4cd9880, tag=8195,
    tiffPath=std::stack wrapping: std::deque with 2 elements = {...},
    pRoot=0x555ef4c87f70, object=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffcomposite.cpp:694
#12 0x00007f2026412a6e in Exiv2::Internal::TiffComponent::addPath (
    this=0x555ef4cd9880, tag=8195,
    tiffPath=std::stack wrapping: std::deque with 2 elements = {...},
    pRoot=0x555ef4c87f70, object=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffcomposite.cpp:634
#13 0x00007f20264131ea in Exiv2::Internal::TiffSubIfd::doAddPath (
    this=0x555ef4cd98d0, tag=8195,
    tiffPath=std::stack wrapping: std::deque with 2 elements = {...},
    pRoot=0x555ef4c87f70, object=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffcomposite.cpp:729
#14 0x00007f2026412a6e in Exiv2::Internal::TiffComponent::addPath (
    this=0x555ef4cd98d0, tag=8195,
    tiffPath=std::stack wrapping: std::deque with 2 elements = {...},
    pRoot=0x555ef4c87f70, object=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffcomposite.cpp:634
#15 0x00007f2026412e96 in Exiv2::Internal::TiffDirectory::doAddPath (
    this=0x555ef4c87f70, tag=8195,
    tiffPath=std::stack wrapping: std::deque with 2 elements = {...},
    pRoot=0x555ef4c87f70, object=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffcomposite.cpp:694
#16 0x00007f2026412a6e in Exiv2::Internal::TiffComponent::addPath (
    this=0x555ef4c87f70, tag=8195,
    tiffPath=std::stack wrapping: std::deque with 2 elements = {...},
    pRoot=0x555ef4c87f70, object=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffcomposite.cpp:634
#17 0x00007f20264320b3 in Exiv2::Internal::TiffEncoder::add (
this=0x7fff34ef3db0, pRootDir=0x555ef4c87f70, pSourceDir=0x0, root=131072) at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffvisitor.cpp:1094 #18 0x00007f2026420e36 in Exiv2::Internal::TiffParserWorker::encode (io=..., pData=0x0, size=0, exifData=..., iptcData=..., xmpData=..., root=131072, findEncoderFct=0x7f20264206b8 <Exiv2::Internal::TiffMapping::findEncoder(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, Exiv2::Internal::IfdId)>, pHeader=0x555ef4c87eb0,
    pOffsetWriter=0x0)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/tiffimage.cpp:2164
#19 0x00007f202639931c in Exiv2::ExifParser::encode (
    blob=std::vector of length 0, capacity 0, pData=0x0, size=0,
    byteOrder=Exiv2::littleEndian, exifData=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/exif.cpp:719
#20 0x00007f20263ba6c4 in Exiv2::JpegBase::doWriteMetadata (
    this=0x555ef4b33110, outIo=...)
at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/jpgimage.cpp:837 #21 0x00007f20263b95e3 in Exiv2::JpegBase::writeMetadata (this=0x555ef4b33110) at /var/tmp/portage/media-gfx/exiv2-0.25-r2/work/exiv2-0.25/src/jpgimage.cpp:662
#22 0x00007f2026781c2a in gexiv2_metadata_save_internal ()
   from /usr/lib64/libgexiv2.so.2
#23 0x00007f2026782bc2 in gexiv2_metadata_save_file ()
   from /usr/lib64/libgexiv2.so.2
#24 0x00007f202ab90a01 in gimp_metadata_save_to_file (
    metadata=metadata@entry=0x555ef4b694e0, file=<optimized out>,
    error=error@entry=0x0) at gimpmetadata.c:647
#25 0x00007f202b6ca9a4 in gimp_image_metadata_save_finish (
    image_ID=<optimized out>, mime_type=<optimized out>,
    metadata=<optimized out>, flags=4294967287, file=<optimized out>,
    error=0x0) at gimpimagemetadata.c:562
#26 0x0000555ef2fc51e1 in run (name=<optimized out>, nparams=<optimized out>,
    param=<optimized out>, nreturn_vals=0x7fff34ef5194,
    return_vals=<optimized out>) at jpeg.c:570
#27 0x00007f202b47de9c in gimp_proc_run (proc_run=0x555ef4928720)
    at gimp.c:2166
#28 gimp_loop () at gimp.c:1995
#29 gimp_main (info=<optimized out>, argc=<optimized out>,
    argv=<optimized out>) at gimp.c:618
#30 0x00007f20289ec4b1 in __libc_start_main () from /lib64/libc.so.6
#31 0x0000555ef2fc4baa in _start ()


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]