gwenview aborts with a std::out_of_range exception raised in libexiv2

Bug #1978307 reported by Arrigo Marchiori
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
exiv2 (Ubuntu)
New
Undecided
Unassigned
gwenview (Ubuntu)
New
Undecided
Unassigned

Bug Description

This bug seems to be a regression of KDE bug 441121: https://bugs.kde.org/show_bug.cgi?id=441121

When opening certain JPG files, gwenview aborts with an uncaught C++ exception std::out_of_range

System is Ubuntu 18.04.6 LTS x86 with up-to-date packages.

Terminal output and gdb backtrace follow.

terminate called after throwing an instance of 'std::out_of_range'
  what(): basic_string::at: __n (which is 19) >= this->size() (which is 19)

Thread 1 "gwenview" received signal SIGABRT, Aborted.
0xf7fd5079 in __kernel_vsyscall ()
(gdb) bt
#0 0xf7fd5079 in __kernel_vsyscall ()
#1 0xf5d1ea02 in __libc_signal_restore_set (set=0xffffbe8c) at ../sysdeps/unix/sysv/linux/nptl-signals.h:80
#2 __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:48
#3 0xf5d1fe91 in __GI_abort () at abort.c:79
#4 0xf5f3b97d in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#5 0xf5f43174 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#6 0xf5f431dd in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#7 0xf5f434dc in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#8 0xf5f6defa in std::__throw_out_of_range_fmt(char const*, ...) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#9 0xf5881da3 in ?? () from /usr/lib/i386-linux-gnu/libexiv2.so.14

Packages:
libexiv2-14:i386 0.25-3.1ubuntu0.18.0 i386
gwenview 4:17.12.3-0ubuntu1 i386

Revision history for this message
Arrigo Marchiori (ardovm) wrote :

The problem seems not to appear on x86_64!

On another system gwenview opens the very same file.

Working packages on x86_64:
libexiv2-14:amd64 0.25-3.1ubuntu0.18.04.1 amd64
gwenview 4:17.12.3-0ubuntu1 amd64

Non-working packages on x86:
libexiv2-14:i386 0.25-3.1ubuntu0.18.04.1 i386
gwenview 4:17.12.3-0ubuntu1 i386
(sorry they were truncated in the bug description)

Revision history for this message
simonschmeisser (s-schmeisser) wrote :

Please try to improve the quality of the backtrace by installing the debug packages for libexiv2 (and possibly gwenview) and providing more lines of output

Revision history for this message
Arrigo Marchiori (ardovm) wrote :
Download full text (4.5 KiB)

Here is a more detailed gdb output

terminate called after throwing an instance of 'std::out_of_range'
  what(): basic_string::at: __n (which is 19) >= this->size() (which is 19)

Thread 1 "gwenview" received signal SIGABRT, Aborted.
0xf7fd5079 in __kernel_vsyscall ()
(gdb) bt
#0 0xf7fd5079 in __kernel_vsyscall ()
#1 0xf5d1ea02 in __libc_signal_restore_set (set=0xffffc0cc) at ../sysdeps/unix/sysv/linux/nptl-signals.h:80
#2 __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:48
#3 0xf5d1fe91 in __GI_abort () at abort.c:79
#4 0xf5f3b97d in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#5 0xf5f43174 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#6 0xf5f431dd in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#7 0xf5f434dc in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#8 0xf5f6defa in std::__throw_out_of_range_fmt(char const*, ...) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#9 0xf5881da3 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::at (__n=19, this=0xffffc67c)
    at /usr/include/c++/7/bits/basic_string.h:1098
#10 Exiv2::Internal::printXmpDate (os=..., value=...) at tags.cpp:2774
#11 0xf58c3aff in Exiv2::Xmpdatum::write (this=0xe7016260, os=...) at xmp.cpp:281
#12 0xf7d870af in Exiv2::operator<< (md=..., os=...) at /usr/include/exiv2/metadatum.hpp:305
#13 Gwenview::ImageMetaInfoModelPrivate::fillExivGroup<Exiv2::XmpData, __gnu_cxx::__n...

Read more...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.