[Digikam-devel] [Bug 259057] New: Crash when reading one particular image (possibly libexiv2 related)

Davide Orlandi davide at davideorlandi.it
Mon Dec 6 21:18:28 GMT 2010


https://bugs.kde.org/show_bug.cgi?id=259057

           Summary: Crash when reading one particular image (possibly
                    libexiv2 related)
           Product: digikam
           Version: 1.6.0
          Platform: Ubuntu Packages
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: libkexiv2
        AssignedTo: digikam-devel at kde.org
        ReportedBy: davide at davideorlandi.it


Created an attachment (id=54224)
 --> (http://bugs.kde.org/attachment.cgi?id=54224)
Image causing the crash

Version:           1.6.0
OS:                Linux

Just adding this image (attached) to a collection causes the crash. Tested with
1.4.0 (official ubuntu 10.10 repositories) and 1.6.0 (from
http://ppa.launchpad.net/ferramroberto/digikam/ubuntu).
Maybe related to bug 242109?

I'm not able to understand a backtrace, but I can see libexiv2 is mentioned.
The backtrace was taken using exiv2 0.19.3, but the crash happens with 0.20
(from http://ppa.launchpad.net/pmjdebruijn/darktable-release-plus/ubuntu) too.

Dumping exif metadata of the image from commandline with exiv2 executable seems
to be unaffected. gthumb is unaffected, too.

Backtrace follows:

Starting program: /usr/bin/digikam 
[Thread debugging using libthread_db enabled]
[New Thread 0xb7d65b70 (LWP 4928)]
[New Thread 0xb5726b70 (LWP 4929)]
[New Thread 0xb4f25b70 (LWP 4930)]
QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in
use, all queries will cease to work.
[Thread 0xb4f25b70 (LWP 4930) exited]
[New Thread 0xb4f25b70 (LWP 4931)]
[New Thread 0xb45fab70 (LWP 4932)]
QLayout: Cannot add null widget to QVBoxLayout/
digikam(4924)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing 
"/usr/share/mime/magic"
digikam(4924)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing 
"/home/davide/.local/share/mime/magic"
kio_trash(4933)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing 
"/usr/share/mime/magic"
kio_trash(4933)/kdecore (services) KMimeTypeFactory::parseMagic: Now parsing 
"/home/davide/.local/share/mime/magic"
[Thread 0xb45fab70 (LWP 4932) exited]
klauncher(3774)/kio (KLauncher): SlavePool: No communication with slave. 


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb5726b70 (LWP 4929)]
0x036b00a1 in ?? () from /usr/lib/libexiv2.so.6
(gdb) thread apply all backtrace

Thread 5 (Thread 0xb4f25b70 (LWP 4931)):
#0  0x0012e416 in __kernel_vsyscall ()
#1  0x02eae4dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x02c6e9c7 in wait (this=0x8950bd0, mutex=0x8950bcc, time=4294967295) at
thread/qwaitcondition_unix.cpp:88
#3  QWaitCondition::wait (this=0x8950bd0, mutex=0x8950bcc, time=4294967295) at
thread/qwaitcondition_unix.cpp:160
#4  0x0107d4ba in Digikam::ParkingThread::run (this=0x8950bc0)
    at /build/buildd/digikam-1.6.0/libs/threads/threadmanager.cpp:112
#5  0x02c6ddf9 in QThreadPrivate::start (arg=0x8950bc0) at
thread/qthread_unix.cpp:266
#6  0x02ea9cc9 in start_thread () from /lib/libpthread.so.0
#7  0x033976be in clone () from /lib/libc.so.6

Thread 3 (Thread 0xb5726b70 (LWP 4929)):
#0  0x036b00a1 in ?? () from /usr/lib/libexiv2.so.6
#1  0x0093e633 in KExiv2Iface::KExiv2::getImageOrientation() const () from
/usr/lib/libkexiv2.so.8
#2  0x01001984 in Digikam::DMetadata::getMetadataField (this=0xb5726038,
field=Digikam::MetadataInfo::Orientation)
    at /build/buildd/digikam-1.6.0/libs/dmetadata/dmetadata.cpp:1194
#3  0x0100390c in Digikam::DMetadata::getMetadataFields (this=0xb5726038,
fields=...)
    at /build/buildd/digikam-1.6.0/libs/dmetadata/dmetadata.cpp:1393
#4  0x01314729 in Digikam::ImageScanner::scanImageInformation (this=0xb5726030)
    at /build/buildd/digikam-1.6.0/libs/database/imagescanner.cpp:275
#5  0x01318788 in Digikam::ImageScanner::scanFile (this=0xb5726030,
mode=Digikam::ImageScanner::NewScan)
    at /build/buildd/digikam-1.6.0/libs/database/imagescanner.cpp:237
#6  0x0131899d in Digikam::ImageScanner::newFile (this=0xb5726030, albumId=1)
    at /build/buildd/digikam-1.6.0/libs/database/imagescanner.cpp:102
#7  0x012bf9c4 in Digikam::CollectionScanner::scanNewFile (this=0xb57262b0,
info=..., albumId=1)
    at /build/buildd/digikam-1.6.0/libs/database/collectionscanner.cpp:830
#8  0x012c07a7 in Digikam::CollectionScanner::scanAlbum (this=0xb57262b0,
location=..., album=...)
    at /build/buildd/digikam-1.6.0/libs/database/collectionscanner.cpp:720
#9  0x012c13d7 in Digikam::CollectionScanner::scanAlbumRoot (this=0xb57262b0,
location=...)
    at /build/buildd/digikam-1.6.0/libs/database/collectionscanner.cpp:519
#10 0x012c1728 in Digikam::CollectionScanner::completeScan (this=0xb57262b0)
    at /build/buildd/digikam-1.6.0/libs/database/collectionscanner.cpp:273
#11 0x08266bce in Digikam::ScanController::run (this=0x86af970)
    at /build/buildd/digikam-1.6.0/digikam/scancontroller.cpp:544
#12 0x02c6ddf9 in QThreadPrivate::start (arg=0x86af970) at
thread/qthread_unix.cpp:266
#13 0x02ea9cc9 in start_thread () from /lib/libpthread.so.0
#14 0x033976be in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb7d65b70 (LWP 4928)):
#0  0x0012e416 in __kernel_vsyscall ()
#1  0x03388df6 in poll () from /lib/libc.so.6
#2  0x039e8a1b in g_poll () from /lib/libglib-2.0.so.0
#3  0x039db43c in ?? () from /lib/libglib-2.0.so.0
#4  0x039dbba7 in g_main_loop_run () from /lib/libglib-2.0.so.0
#5  0x055ec6b4 in ?? () from /usr/lib/libgio-2.0.so.0
#6  0x03a0248f in ?? () from /lib/libglib-2.0.so.0
#7  0x02ea9cc9 in start_thread () from /lib/libpthread.so.0
#8  0x033976be in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb7fca740 (LWP 4924)):
#0  0x0012e416 in __kernel_vsyscall ()
#1  0x03388df6 in poll () from /lib/libc.so.6
#2  0x039e8a1b in g_poll () from /lib/libglib-2.0.so.0
#3  0x039db43c in ?? () from /lib/libglib-2.0.so.0
#4  0x039db848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0x02d9e565 in QEventDispatcherGlib::processEvents (this=0x8516e70,
flags=...)
    at kernel/qeventdispatcher_glib.cpp:415
#6  0x02052be5 in QGuiEventDispatcherGlib::processEvents (this=0x8516e70,
flags=...)
    at kernel/qguieventdispatcher_glib.cpp:204
#7  0x02d6e609 in QEventLoop::processEvents (this=0x86ac050, flags=DWARF-2
expression error: DW_OP_reg operations must be used either alone or in
conjuction with DW_OP_piece or DW_OP_bit_piece.
) at kernel/qeventloop.cpp:149
#8  0x02d6ea8a in QEventLoop::exec (this=0x86ac050, flags=...) at
kernel/qeventloop.cpp:201
#9  0x0826a0ec in Digikam::ScanController::completeCollectionScan
(this=0x86af970, splash=0x0)
    at /build/buildd/digikam-1.6.0/digikam/scancontroller.cpp:381
#10 0x080dbd63 in Digikam::SetupCollectionModel::apply (this=0x87f8710)
    at /build/buildd/digikam-1.6.0/utilities/setup/setupcollectionview.cpp:477
#11 0x080e74a0 in Digikam::Setup::slotOkClicked (this=0x86573a8)
    at /build/buildd/digikam-1.6.0/utilities/setup/setup.cpp:387
#12 0x080e7803 in Digikam::Setup::qt_metacall (this=0x86573a8,
_c=QMetaObject::InvokeMetaMethod, _id=75, _a=0xbfffd5cc)
    at /build/buildd/digikam-1.6.0/obj-i686-linux-gnu/digikam/setup.moc:72
#13 0x02d758ca in QMetaObject::metacall (object=0x86573a8, cl=14, idx=75,
argv=0xbfffd5cc)
    at kernel/qmetaobject.cpp:237
#14 0x02d886ad in QMetaObject::activate (sender=0x86573a8, m=0x84df1ac,
local_signal_index=9, argv=0xfffffdfc)
    at kernel/qobject.cpp:3280
#15 0x01bcf4b7 in KDialog::okClicked (this=0x86573a8) at ./kdialog.moc:258
#16 0x01bd1a60 in KDialog::slotButtonClicked (this=0x86573a8, button=4) at
../../kdeui/dialogs/kdialog.cpp:871
#17 0x01bd3b79 in KDialog::qt_metacall (this=0x86573a8,
_c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbfffd7e8)
    at ./kdialog.moc:190
#18 0x01cc785a in KPageDialog::qt_metacall (this=0x86573a8,
_c=QMetaObject::InvokeMetaMethod, _id=69, _a=0xbfffd7e8)
    at ./kpagedialog.moc:70
#19 0x080e77ec in Digikam::Setup::qt_metacall (this=0x86573a8,
_c=QMetaObject::InvokeMetaMethod, _id=69, _a=0xbfffd7e8)
    at /build/buildd/digikam-1.6.0/obj-i686-linux-gnu/digikam/setup.moc:67
#20 0x02d758ca in QMetaObject::metacall (object=0x86573a8, cl=14, idx=69,
argv=0xbfffd7e8)
    at kernel/qmetaobject.cpp:237
#21 0x02d886ad in QMetaObject::activate (sender=0x877f518, m=0x2ea10f8,
local_signal_index=0, argv=0xfffffdfc)
    at kernel/qobject.cpp:3280
#22 0x02d8b5a3 in QSignalMapper::mapped (this=0x877f518, _t1=4) at
.moc/release-shared/moc_qsignalmapper.cpp:101
#23 0x02d8c7ed in QSignalMapper::map (this=0x877f518, sender=0x8746b48) at
kernel/qsignalmapper.cpp:266
#24 0x02d8c9ce in QSignalMapper::map (this=0x877f518) at
kernel/qsignalmapper.cpp:257
#25 0x02d8ca9b in QSignalMapper::qt_metacall (this=0x877f518,
_c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfffd988)
    at .moc/release-shared/moc_qsignalmapper.cpp:87
#26 0x02d758ca in QMetaObject::metacall (object=0x877f518, cl=14, idx=8,
argv=0xbfffd988) at kernel/qmetaobject.cpp:237
#27 0x02d886ad in QMetaObject::activate (sender=0x8746b48, m=0x2922704,
local_signal_index=2, argv=0xfffffdfc)
    at kernel/qobject.cpp:3280
#28 0x026ff019 in QAbstractButton::clicked (this=0x8746b48, _t1=false)
    at .moc/release-shared/moc_qabstractbutton.cpp:206
#29 0x023beff9 in QAbstractButtonPrivate::emitClicked (this=0x874e5f0) at
widgets/qabstractbutton.cpp:546
#30 0x023c06f4 in QAbstractButtonPrivate::click (this=0x874e5f0) at
widgets/qabstractbutton.cpp:539
#31 0x023c09ae in QAbstractButton::mouseReleaseEvent (this=0x8746b48,
e=0xbfffe0d0) at widgets/qabstractbutton.cpp:1121
#32 0x01feee08 in QWidget::event (this=0x8746b48, event=0xbfffe0d0) at
kernel/qwidget.cpp:8187
#33 0x023bee9e in QAbstractButton::event (this=0x8746b48, e=0x114) at
widgets/qabstractbutton.cpp:1080
#34 0x0246cc22 in QPushButton::event (this=0x8746b48, e=0xbfffe0d0) at
widgets/qpushbutton.cpp:683
#35 0x01f90fdc in QApplicationPrivate::notify_helper (this=0x8517190,
receiver=0x8746b48, e=0xbfffe0d0)
    at kernel/qapplication.cpp:4396
#36 0x01f97c2e in QApplication::notify (this=0xbfffeec4, receiver=0x8746b48,
e=0xbfffe0d0)
    at kernel/qapplication.cpp:3959
#37 0x01c8668a in KApplication::notify (this=0xbfffeec4, receiver=0x8746b48,
event=0xbfffe0d0)
    at ../../kdeui/kernel/kapplication.cpp:310
#38 0x02d6fb3b in QCoreApplication::notifyInternal (this=0xbfffeec4,
receiver=0x8746b48, event=0xbfffe0d0)
    at kernel/qcoreapplication.cpp:732
#39 0x01f96094 in sendEvent (receiver=0x8746b48, event=0xbfffe0d0,
alienWidget=0x8746b48, nativeWidget=0x8744e50, 
    buttonDown=0x292b3c0, lastMouseReceiver=..., spontaneous=true)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#40 QApplicationPrivate::sendMouseEvent (receiver=0x8746b48, event=0xbfffe0d0,
alienWidget=0x8746b48, 
    nativeWidget=0x8744e50, buttonDown=0x292b3c0, lastMouseReceiver=...,
spontaneous=true)
    at kernel/qapplication.cpp:3058
#41 0x02024d10 in QETWidget::translateMouseEvent (this=0x8744e50,
event=0xbfffe5ec) at kernel/qapplication_x11.cpp:4403
#42 0x02024151 in QApplication::x11ProcessEvent (this=0xbfffeec4,
event=0xbfffe5ec) at kernel/qapplication_x11.cpp:3414
#43 0x0205336a in x11EventSourceDispatch (s=0x851a400, callback=0,
user_data=0x0)
    at kernel/qguieventdispatcher_glib.cpp:146
#44 0x039d7855 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#45 0x039db668 in ?? () from /lib/libglib-2.0.so.0
#46 0x039db848 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#47 0x02d9e565 in QEventDispatcherGlib::processEvents (this=0x8516e70,
flags=...)
    at kernel/qeventdispatcher_glib.cpp:415
#48 0x02052be5 in QGuiEventDispatcherGlib::processEvents (this=0x8516e70,
flags=...)
    at kernel/qguieventdispatcher_glib.cpp:204
#49 0x02d6e609 in QEventLoop::processEvents (this=0xbfffe8e0, flags=DWARF-2
expression error: DW_OP_reg operations must be used either alone or in
conjuction with DW_OP_piece or DW_OP_bit_piece.
) at kernel/qeventloop.cpp:149
#50 0x02d6ea8a in QEventLoop::exec (this=0xbfffe8e0, flags=...) at
kernel/qeventloop.cpp:201
#51 0x024fb873 in QDialog::exec (this=0x86573a8) at dialogs/qdialog.cpp:552
#52 0x080e9f43 in Digikam::Setup::execSinglePage (parent=0x0,
page=Digikam::Setup::CollectionsPage)
    at /build/buildd/digikam-1.6.0/utilities/setup/setup.cpp:366
#53 0x080e9fa9 in Digikam::Setup::execSinglePage
(page=Digikam::Setup::CollectionsPage)
    at /build/buildd/digikam-1.6.0/utilities/setup/setup.cpp:358
#54 0x081beb09 in Digikam::AlbumManager::setDatabase (this=0x8665d30,
params=..., priority=false, 
    suggestedAlbumRoot=...) at
/build/buildd/digikam-1.6.0/digikam/albummanager.cpp:906
#55 0x082ba63f in main (argc=1, argv=0xbffff334) at
/build/buildd/digikam-1.6.0/digikam/main.cpp:171


Reproducible: Always

Steps to Reproduce:
Just add the attached image to a collection.

Actual Results:  
Digikam crashes

Expected Results:  
It should either read the image or display an error.

Tested without a full KDE, just gnome and the minimal dependencies pulled by
apt-get.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Digikam-devel mailing list