Bug 264412

Summary: crash when opening a directory
Product: [Applications] digikam Reporter: bogdan
Component: Showfoto-DirectoryAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: caulier.gilles
Priority: NOR    
Version: 1.9.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 2.1.0
Sentry Crash Report:

Description bogdan 2011-01-27 04:49:24 UTC
Application: showfoto (1.9.0 (rev.: 1217407))
KDE Platform Version: 4.5.5 (KDE 4.5.5) "release 1"
Qt Version: 4.6.3
Operating System: Linux 2.6.38-rc2-cfq-desktop x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
application loaded fine, but crashed  when opening a directory ( Menu->file->open directory)

The crash can be reproduced every time.

-- Backtrace:
Application: showFoto (showfoto), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f6ed73f07c0 (LWP 18944))]

Thread 3 (Thread 0x7f6ebe38e710 (LWP 18945)):
#0  0x00007f6ed41dd39c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f6ed44672bb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007f6ed6ea4517 in Digikam::ParkingThread::run (this=0x9918f0) at /home/software/installed/multimedia/digiKam/graphics/digikam/libs/threads/threadmanager.cpp:119
#3  0x00007f6ed4466bf5 in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007f6ed41d8a4f in start_thread () from /lib64/libpthread.so.0
#5  0x00007f6ed290382d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f6ebbcd1710 (LWP 18955)):
#0  0x00007f6ed28fa6b3 in poll () from /lib64/libc.so.6
#1  0x00007f6ecede3fd4 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f6ecede4510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f6ed45766d6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007f6ed454d292 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007f6ed454d495 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007f6ed44642cf in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007f6ebd1723a1 in Marble::GpsdThread::run (this=0x11ba250) at /home/software/installed/multimedia/digiKam/marble/src/plugins/positionprovider/gpsd/GpsdThread.cpp:27
#8  0x00007f6ed4466bf5 in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007f6ed41d8a4f in start_thread () from /lib64/libpthread.so.0
#10 0x00007f6ed290382d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f6ed73f07c0 (LWP 18944)):
[KCrash Handler]
#6  ref (this=0x73e4e0) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QVector (this=0x73e4e0) at /usr/include/QtCore/qvector.h:118
#8  QPolygon (this=0x73e4e0) at /usr/include/QtGui/qpolygon.h:66
#9  DRawDecoding (this=0x73e4e0) at /home/software/installed/multimedia/digiKam/graphics/digikam/libs/dimg/drawdecoding.h:50
#10 LoadingDescription (this=0x73e4e0) at /home/software/installed/multimedia/digiKam/graphics/digikam/libs/threadimageio/loadingdescription.h:38
#11 Digikam::DImgInterface::loadCurrent (this=0x73e4e0) at /home/software/installed/multimedia/digiKam/graphics/digikam/utilities/imageeditor/canvas/dimginterface.cpp:307
#12 0x00007f6ed6f4b3c5 in Digikam::DImgInterface::load (this=0x73e4e0, filename=<value optimized out>, iofileSettings=0x7417f0)
    at /home/software/installed/multimedia/digiKam/graphics/digikam/utilities/imageeditor/canvas/dimginterface.cpp:228
#13 0x0000000000431f56 in ShowFoto::ShowFoto::slotOpenFolder (this=0x7f48d0, url=...) at /home/software/installed/multimedia/digiKam/graphics/digikam/showfoto/showfoto.cpp:742
#14 0x0000000000432173 in ShowFoto::ShowFoto::slotOpenFilesInFolder (this=0x7f48d0) at /home/software/installed/multimedia/digiKam/graphics/digikam/showfoto/showfoto.cpp:886
#15 0x00000000004323d4 in ShowFoto::ShowFoto::qt_metacall (this=0x7f48d0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff227c5850)
    at /home/software/installed/multimedia/digiKam/graphics/build/digikam/showfoto/showfoto.moc:111
#16 0x00007f6ed4561a1f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#17 0x00007f6ed371cd12 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#18 0x00007f6ed371cf0a in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#19 0x00007f6ed3b3e8b3 in ?? () from /usr/lib64/libQtGui.so.4
#20 0x00007f6ed3b4497a in ?? () from /usr/lib64/libQtGui.so.4
#21 0x00007f6ed50ba45d in KMenu::mouseReleaseEvent (this=0x122aca0, e=<value optimized out>) at /usr/src/debug/kdelibs-4.5.5/kdeui/widgets/kmenu.cpp:471
#22 0x00007f6ed3772dbc in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#23 0x00007f6ed3b45bcb in QMenu::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#24 0x00007f6ed37224d4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#25 0x00007f6ed372b34a in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#26 0x00007f6ed50e9876 in KApplication::notify (this=0x7fff227c71f0, receiver=0x122aca0, event=0x7fff227c64d0) at /usr/src/debug/kdelibs-4.5.5/kdeui/kernel/kapplication.cpp:310
#27 0x00007f6ed454de4c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#28 0x00007f6ed37241e5 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#29 0x00007f6ed379e914 in ?? () from /usr/lib64/libQtGui.so.4
#30 0x00007f6ed379ce19 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#31 0x00007f6ed37c3492 in ?? () from /usr/lib64/libQtGui.so.4
#32 0x00007f6ecede3a93 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#33 0x00007f6ecede4270 in ?? () from /usr/lib64/libglib-2.0.so.0
#34 0x00007f6ecede4510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#35 0x00007f6ed457667f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#36 0x00007f6ed37c314e in ?? () from /usr/lib64/libQtGui.so.4
#37 0x00007f6ed454d292 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#38 0x00007f6ed454d495 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#39 0x00007f6ed455188b in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#40 0x000000000042aaeb in main (argc=1, argv=0x7fff227c7e68) at /home/software/installed/multimedia/digiKam/graphics/digikam/showfoto/main.cpp:89

Reported using DrKonqi
Comment 1 caulier.gilles 2011-01-27 07:43:06 UTC
Crash is due to binary uncompatibility with libkdcraw. Check if both version of this library is not installed on your system.

Gilles Caulier
Comment 2 caulier.gilles 2011-09-01 08:08:24 UTC
Git commit 9fc8214a3871462bf9b519142175de5d1bccf287 by Gilles Caulier.
Committed on 01/09/2011 at 07:48.
Pushed by cgilles into branch 'master'.

there is a bug here. Array must not be parsed outside array size, else it crash in QPolygon class

M  +1    -1    libs/dimg/filters/curves/imagecurves.cpp

http://commits.kde.org/digikam/9fc8214a3871462bf9b519142175de5d1bccf287