Bug 340384 - Segmentation fault when creating new album
Summary: Segmentation fault when creating new album
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Albums-Engine (show other bugs)
Version: 4.4.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-27 07:18 UTC by Christopher S.
Modified: 2017-08-15 13:51 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.7.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher S. 2014-10-27 07:18:33 UTC
When creating a new album in digikam, the whole application crashes with a segmentation fault upon closing the "New album" dialog. However, the album actually gets created.

Please tell me if I can provide any further information. I love digikam and hope this can be fixed soon as it makes digikam very annoying to use.

Reproducible: Always

Steps to Reproduce:
1. Start digikam.
2. On the main screen, right-click one of the albums.
3. Choose "New..."
4. In the new album dialog, enter any title and click OK

Actual Results:  
digikam crashes with a segmentation fault. However, the album/folder gets actually created and it shown on next start.

Expected Results:  
The album/folder gets created and the new album dialog closes without a crash.

Application: digikam (4.4.0)
Package name: digikam-4.4.0-1.fc20.x86_64
KDE Platform Version: 4.14.1
Qt Version: 4.8.6
Operating System: Linux 3.16.6-200.fc20.x86_64 x86_64
Distribution: "Fedora release 20 (Heisenbug)"

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f1447368b40 (LWP 2351))]

Thread 5 (Thread 0x7f1440e3e700 (LWP 2352)):
#0  0x00000033462f5afd in recvmsg () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003353208ed9 in udev_monitor_receive_device () from /lib64/libudev.so.1
#2  0x000000337940f44b in linux_udev_event_thread_main () from /lib64/libusb-1.0.so.0
#3  0x0000003346a07ee5 in start_thread (arg=0x7f1440e3e700) at pthread_create.c:309
#4  0x00000033462f4b8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7f143a421700 (LWP 2353)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000000335067cbd6 in wait (time=18446744073709551615, this=0x2f70ee0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x2f70df0, mutex=mutex@entry=0x2f70de8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000000000606cde in Digikam::ScanController::run (this=0x2f6ff00) at /usr/src/debug/digikam-4.4.0/core/app/database/scancontroller.cpp:725
#4  0x000000335067c69f in QThreadPrivate::start (arg=0x2f6ff00) at thread/qthread_unix.cpp:349
#5  0x0000003346a07ee5 in start_thread (arg=0x7f143a421700) at pthread_create.c:309
#6  0x00000033462f4b8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f1439c20700 (LWP 2354)):
#0  0x00000033507b6c52 in QTimerInfoList::repairTimersIfNeeded (this=0x7f142c002660) at kernel/qeventdispatcher_unix.cpp:412
#1  0x00000033507b6ceb in QTimerInfoList::timerWait (this=0x7f142c002660, tm=...) at kernel/qeventdispatcher_unix.cpp:461
#2  0x00000033507b52cc in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f1439c1f874) at kernel/qeventdispatcher_glib.cpp:143
#3  0x00000033507b5395 in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:176
#4  0x0000003348a48bed in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#5  0x0000003348a494bb in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#6  0x0000003348a496dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#7  0x00000033507b543e in QEventDispatcherGlib::processEvents (this=0x7f142c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:452
#8  0x000000335078538f in QEventLoop::processEvents (this=this@entry=0x7f1439c1fa40, flags=...) at kernel/qeventloop.cpp:149
#9  0x00000033507856dd in QEventLoop::exec (this=this@entry=0x7f1439c1fa40, flags=...) at kernel/qeventloop.cpp:204
#10 0x0000003350679e5f in QThread::exec (this=this@entry=0x304ca50) at thread/qthread.cpp:538
#11 0x0000003350765de3 in QInotifyFileSystemWatcherEngine::run (this=0x304ca50) at io/qfilesystemwatcher_inotify.cpp:265
#12 0x000000335067c69f in QThreadPrivate::start (arg=0x304ca50) at thread/qthread_unix.cpp:349
#13 0x0000003346a07ee5 in start_thread (arg=0x7f1439c20700) at pthread_create.c:309
#14 0x00000033462f4b8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f143941f700 (LWP 2357)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000000335067cbd6 in wait (time=18446744073709551615, this=0x31bfb40) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=this@entry=0x31c1dd0, mutex=mutex@entry=0x31c1dc8, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003380d615ca in Digikam::ParkingThread::run (this=0x31c1db0) at /usr/src/debug/digikam-4.4.0/core/libs/threads/threadmanager.cpp:119
#4  0x000000335067c69f in QThreadPrivate::start (arg=0x31c1db0) at thread/qthread_unix.cpp:349
#5  0x0000003346a07ee5 in start_thread (arg=0x7f143941f700) at pthread_create.c:309
#6  0x00000033462f4b8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f1447368b40 (LWP 2351)):
[KCrash Handler]
#6  Digikam::Album::id (this=this@entry=0x41) at /usr/src/debug/digikam-4.4.0/core/app/album/album.cpp:255
#7  0x00000000005eafac in Digikam::AbstractCheckableAlbumTreeView::restoreCheckState (this=this@entry=0x3feb500, index=...) at /usr/src/debug/digikam-4.4.0/core/app/album/albumtreeview.cpp:1422
#8  0x00000000005efb3a in Digikam::AbstractCheckableAlbumTreeView::rowsInserted (this=0x3feb500, parent=..., start=<optimized out>, end=0) at /usr/src/debug/digikam-4.4.0/core/app/album/albumtreeview.cpp:1397
#9  0x000000335079b37a in QMetaObject::activate (sender=sender@entry=0x3ff5ae0, m=m@entry=0x3350aea5e0 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7fff92622220) at kernel/qobject.cpp:3567
#10 0x00000033507e7c24 in QAbstractItemModel::rowsInserted (this=this@entry=0x3ff5ae0, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:196
#11 0x000000335077f4ae in QAbstractItemModel::endInsertRows (this=0x3ff5ae0) at kernel/qabstractitemmodel.cpp:2433
#12 0x000000335416cc59 in QSortFilterProxyModelPrivate::insert_source_items (this=this@entry=0x3ff5bc0, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=emit_signal@entry=true) at itemviews/qsortfilterproxymodel.cpp:695
#13 0x00000033541704ca in QSortFilterProxyModelPrivate::source_items_inserted (this=this@entry=0x3ff5bc0, source_parent=..., start=<optimized out>, end=<optimized out>, orient=orient@entry=Qt::Vertical) at itemviews/qsortfilterproxymodel.cpp:806
#14 0x00000033541706ff in QSortFilterProxyModelPrivate::_q_sourceRowsInserted (this=0x3ff5bc0, source_parent=..., start=<optimized out>, end=<optimized out>) at itemviews/qsortfilterproxymodel.cpp:1297
#15 0x000000335079b37a in QMetaObject::activate (sender=sender@entry=0x3ff49f0, m=m@entry=0x3350aea5e0 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7fff92622580) at kernel/qobject.cpp:3567
#16 0x00000033507e7c24 in QAbstractItemModel::rowsInserted (this=this@entry=0x3ff49f0, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:196
#17 0x000000335077f4ae in QAbstractItemModel::endInsertRows (this=0x3ff49f0) at kernel/qabstractitemmodel.cpp:2433
#18 0x0000000000592df0 in Digikam::AbstractAlbumModel::slotAlbumAdded (this=0x3ff49f0, album=<optimized out>) at /usr/src/debug/digikam-4.4.0/core/libs/models/abstractalbummodel.cpp:458
#19 0x000000335079b37a in QMetaObject::activate (sender=sender@entry=0x2f731a0, m=m@entry=0x8b0140 <Digikam::AlbumManager::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff92622780) at kernel/qobject.cpp:3567
#20 0x00000000005c94a0 in signalAlbumAdded (_t1=0x7af9e90, this=0x2f731a0) at /usr/src/debug/digikam-4.4.0/x86_64-redhat-linux-gnu/core/app/albummanager.moc:233
#21 Digikam::AlbumManager::insertPAlbum (this=this@entry=0x2f731a0, album=album@entry=0x7af9e90, parent=parent@entry=0x5609450) at /usr/src/debug/digikam-4.4.0/core/app/album/albummanager.cpp:2844
#22 0x00000000005c9ba7 in Digikam::AlbumManager::createPAlbum (this=0x2f731a0, parent=parent@entry=0x5609450, name=..., caption=..., date=..., category=..., errMsg=...) at /usr/src/debug/digikam-4.4.0/core/app/album/albummanager.cpp:2145
#23 0x00000000005dbc6a in Digikam::AlbumModificationHelper::slotAlbumNew (this=<optimized out>, parent=0x5609450) at /usr/src/debug/digikam-4.4.0/core/app/album/albummodificationhelper.cpp:164
#24 0x00000000005e4754 in Digikam::AlbumSelectTreeView::slotNewAlbum (this=0x4ab3350) at /usr/src/debug/digikam-4.4.0/core/app/album/albumselectwidget.cpp:108
#25 0x000000335079b37a in QMetaObject::activate (sender=sender@entry=0x4a75cd0, m=m@entry=0x33546cabc0 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fff92622ba0) at kernel/qobject.cpp:3567
#26 0x000000335424d6d2 in QAbstractButton::clicked (this=this@entry=0x4a75cd0, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:219
#27 0x0000003353f90d73 in QAbstractButtonPrivate::emitClicked (this=this@entry=0x4a783b0) at widgets/qabstractbutton.cpp:548
#28 0x0000003353f92127 in QAbstractButtonPrivate::click (this=this@entry=0x4a783b0) at widgets/qabstractbutton.cpp:541
#29 0x0000003353f9222c in QAbstractButton::mouseReleaseEvent (this=0x4a75cd0, e=0x7fff92623100) at widgets/qabstractbutton.cpp:1123
#30 0x0000003353c1dcc8 in QWidget::event (this=0x4a75cd0, event=0x7fff92623100) at kernel/qwidget.cpp:8389
#31 0x0000003353bcae5c in QApplicationPrivate::notify_helper (this=0x2e80cf0, receiver=0x4a75cd0, e=0x7fff92623100) at kernel/qapplication.cpp:4565
#32 0x0000003353bd18f1 in QApplication::notify (this=this@entry=0x7fff92623d90, receiver=receiver@entry=0x4a75cd0, e=e@entry=0x7fff92623100) at kernel/qapplication.cpp:4108
#33 0x000000334544a59a in KApplication::notify (this=0x7fff92623d90, receiver=0x4a75cd0, event=0x7fff92623100) at /usr/src/debug/kdelibs-4.14.1/kdeui/kernel/kapplication.cpp:311
#34 0x00000033507868fd in QCoreApplication::notifyInternal (this=0x7fff92623d90, receiver=0x4a75cd0, event=0x7fff92623100) at kernel/qcoreapplication.cpp:953
#35 0x0000003353bd1067 in QApplicationPrivate::sendMouseEvent (receiver=0x4a75cd0, event=0x7fff92623100, alienWidget=0x4a75cd0, nativeWidget=0x4ab3320, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true) at ../../src/corelib/kernel/qcoreapplication.h:231
#36 0x0000003353c4663b in QETWidget::translateMouseEvent (this=0x4ab3320, event=<optimized out>) at kernel/qapplication_x11.cpp:4540
#37 0x0000003353c450ac in QApplication::x11ProcessEvent (this=0x7fff92623d90, event=event@entry=0x7fff92623470) at kernel/qapplication_x11.cpp:3663
#38 0x0000003353c6cac4 in x11EventSourceDispatch (s=0x2e83830, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#39 0x0000003348a492a6 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#40 0x0000003348a49628 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#41 0x0000003348a496dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#42 0x00000033507b541e in QEventDispatcherGlib::processEvents (this=0x2dc9a10, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#43 0x0000003353c6cc46 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#44 0x000000335078538f in QEventLoop::processEvents (this=this@entry=0x7fff92623860, flags=...) at kernel/qeventloop.cpp:149
#45 0x00000033507856dd in QEventLoop::exec (this=this@entry=0x7fff92623860, flags=...) at kernel/qeventloop.cpp:204
#46 0x000000335078ada9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#47 0x0000003353bc94dc in QApplication::exec () at kernel/qapplication.cpp:3823
#48 0x00000000004974ba in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/digikam-4.4.0/core/app/main/main.cpp:236
Comment 1 caulier.gilles 2014-12-10 17:52:44 UTC
digiKam 4.5.0 have been released.

Crash still reproducible with this release ?

Gilles Caulier
Comment 2 Christopher S. 2015-01-06 22:55:10 UTC
I just tried the same action again with digikam 4.6.0 and I wasn't able to reproduce the crash.