Bug 266211 - media-gfx/digikam-1.8.0 crash on exit
Summary: media-gfx/digikam-1.8.0 crash on exit
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Template (show other bugs)
Version: 1.8.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-13 17:05 UTC by Flu87
Modified: 2017-08-10 19:35 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 2.0.0
Sentry Crash Report:


Attachments
template.xml (850 bytes, application/xml)
2011-02-13 20:43 UTC, Flu87
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Flu87 2011-02-13 17:05:28 UTC
Application: digikam (1.8.0)
KDE Platform Version: 4.5.5 (KDE 4.5.5) (Compiled from sources)
Qt Version: 4.7.1
Operating System: Linux 2.6.36-gentoo-r5 x86_64
Distribution: "Gentoo Base System release 2.0.1"

-- Information about the crash:
- What I was doing when the application crashed:
When I closed digikam  it crashed.

- Additional infos:
I'm using the mysql backend that's running on the same pc

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fd7bc2817c0 (LWP 15319))]

Thread 7 (Thread 0x7fd79a940710 (LWP 15354)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fd7b4b8854c in wait (this=<value optimized out>, mutex=0x28cd618, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x28cd618, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fd7b96b062a in Digikam::ParkingThread::run (this=0x28cd600) at /var/tmp/portage/media-gfx/digikam-1.8.0/work/digikam-1.8.0/libs/threads/threadmanager.cpp:119
#4  0x00007fd7b4b87a01 in QThreadPrivate::start (arg=0x28cd600) at thread/qthread_unix.cpp:285
#5  0x00007fd7b48f1c76 in start_thread (arg=<value optimized out>) at pthread_create.c:301
#6  0x00007fd7b3c23a4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7fd79a13f710 (LWP 15355)):
#0  0x00007fd7b3c1ac3f in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fd7b0f6bad9 in g_main_context_poll (context=0x28f8560, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2904
#2  g_main_context_iterate (context=0x28f8560, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2586
#3  0x00007fd7b0f6bf00 in IA__g_main_context_iteration (context=0x28f8560, may_block=1) at gmain.c:2654
#4  0x00007fd7b4cab7cf in QEventDispatcherGlib::processEvents (this=0x28f8470, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#5  0x00007fd7b4c7d038 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007fd7b4c7d445 in QEventLoop::exec (this=0x7fd79a13eda0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007fd7b4b848d4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007fd7b4b87a01 in QThreadPrivate::start (arg=0x2898e60) at thread/qthread_unix.cpp:285
#9  0x00007fd7b48f1c76 in start_thread (arg=<value optimized out>) at pthread_create.c:301
#10 0x00007fd7b3c23a4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7fd79993e710 (LWP 15356)):
[KCrash Handler]
#6  Digikam::TemplateManager::findByContents (this=0x0, tref=...) at /var/tmp/portage/media-gfx/digikam-1.8.0/work/digikam-1.8.0/libs/template/templatemanager.cpp:558
#7  0x0000000000627910 in Digikam::MetadataHub::load (this=0x7fd79993d2f0, info=...) at /var/tmp/portage/media-gfx/digikam-1.8.0/work/digikam-1.8.0/digikam/metadatahub.cpp:172
#8  0x000000000062c63f in Digikam::MetadataManagerFileWorker::writeMetadataToFiles (this=0x28d2a60, infos=<value optimized out>) at /var/tmp/portage/media-gfx/digikam-1.8.0/work/digikam-1.8.0/digikam/metadatamanager.cpp:542
#9  0x000000000062cbc0 in Digikam::MetadataManagerFileWorker::qt_metacall (this=0x28d2a60, _c=QMetaObject::InvokeMetaMethod, _id=-1718365840, _a=0x7fd7940e5bd0) at /var/tmp/portage/media-gfx/digikam-1.8.0/work/digikam-1.8.0_build/digikam/metadatamanager_p.moc:386
#10 0x00007fd7b4c90b8e in QObject::event (this=0x28d2a60, e=0x7fd79993d0c0) at kernel/qobject.cpp:1211
#11 0x00007fd7b5c70294 in QApplicationPrivate::notify_helper (this=0x20008e0, receiver=0x28d2a60, e=0x7fd794035630) at kernel/qapplication.cpp:4445
#12 0x00007fd7b5c759f6 in QApplication::notify (this=0x7fff4c6871a0, receiver=<value optimized out>, e=0x7fd794035630) at kernel/qapplication.cpp:3845
#13 0x00007fd7b6c4ef4d in KApplication::notify (this=0x7fff4c6871a0, receiver=0x28d2a60, event=0x7fd794035630) at /var/tmp/portage/kde-base/kdelibs-4.5.5/work/kdelibs-4.5.5/kdeui/kernel/kapplication.cpp:310
#14 0x00007fd7b4c7e3ec in QCoreApplication::notifyInternal (this=0x7fff4c6871a0, receiver=0x28d2a60, event=0x7fd794035630) at kernel/qcoreapplication.cpp:732
#15 0x00007fd7b4c81655 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x28d2d10) at kernel/qcoreapplication.h:215
#16 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x28d2d10) at kernel/qcoreapplication.cpp:1373
#17 0x00007fd7b4cabc7b in sendPostedEvents (s=0x28fb200) at kernel/qcoreapplication.h:220
#18 postEventSourceDispatch (s=0x28fb200) at kernel/qeventdispatcher_glib.cpp:277
#19 0x00007fd7b0f67eae in g_main_dispatch (context=<value optimized out>) at gmain.c:1960
#20 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513
#21 0x00007fd7b0f6bd68 in g_main_context_iterate (context=0x28f9ce0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591
#22 0x00007fd7b0f6bf00 in IA__g_main_context_iteration (context=0x28f9ce0, may_block=1) at gmain.c:2654
#23 0x00007fd7b4cab78a in QEventDispatcherGlib::processEvents (this=0x28d28e0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#24 0x00007fd7b4c7d038 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#25 0x00007fd7b4c7d445 in QEventLoop::exec (this=0x7fd79993dda0, flags=) at kernel/qeventloop.cpp:201
#26 0x00007fd7b4b848d4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#27 0x00007fd7b4b87a01 in QThreadPrivate::start (arg=0x28d2b30) at thread/qthread_unix.cpp:285
#28 0x00007fd7b48f1c76 in start_thread (arg=<value optimized out>) at pthread_create.c:301
#29 0x00007fd7b3c23a4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7fd76ca5d710 (LWP 15460)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212
#1  0x00007fd7b4b884d9 in wait (this=<value optimized out>, mutex=0x28c1e90, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x28c1e90, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fd7b4b7cf97 in QThreadPoolThread::run (this=0x16da42d0) at concurrent/qthreadpool.cpp:140
#4  0x00007fd7b4b87a01 in QThreadPrivate::start (arg=0x16da42d0) at thread/qthread_unix.cpp:285
#5  0x00007fd7b48f1c76 in start_thread (arg=<value optimized out>) at pthread_create.c:301
#6  0x00007fd7b3c23a4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7fd78460e710 (LWP 15463)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212
#1  0x00007fd7b4b884d9 in wait (this=<value optimized out>, mutex=0x28c1e90, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x28c1e90, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fd7b4b7cf97 in QThreadPoolThread::run (this=0x16da4d30) at concurrent/qthreadpool.cpp:140
#4  0x00007fd7b4b87a01 in QThreadPrivate::start (arg=0x16da4d30) at thread/qthread_unix.cpp:285
#5  0x00007fd7b48f1c76 in start_thread (arg=<value optimized out>) at pthread_create.c:301
#6  0x00007fd7b3c23a4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7fd786612710 (LWP 15469)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212
#1  0x00007fd7b4b884d9 in wait (this=<value optimized out>, mutex=0x28c1e90, time=30000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x28c1e90, time=30000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fd7b4b7cf97 in QThreadPoolThread::run (this=0x16dab4b0) at concurrent/qthreadpool.cpp:140
#4  0x00007fd7b4b87a01 in QThreadPrivate::start (arg=0x16dab4b0) at thread/qthread_unix.cpp:285
#5  0x00007fd7b48f1c76 in start_thread (arg=<value optimized out>) at pthread_create.c:301
#6  0x00007fd7b3c23a4d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7fd7bc2817c0 (LWP 15319)):
#0  0x00007fd7b3c1ac3f in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fd7aa792bf2 in _xcb_conn_wait (c=0x200c6c0, cond=<value optimized out>, vector=0x7fff4c686d68, count=0x7fff4c686d64) at xcb_conn.c:313
#2  0x00007fd7aa793128 in _xcb_out_send (c=0x200c6c0, vector=0x7fff4c686e20, count=3) at xcb_out.c:338
#3  0x00007fd7aa79340a in xcb_writev (c=0x200c6c0, vector=<value optimized out>, count=<value optimized out>, requests=18446744073709551615) at xcb_out.c:286
#4  0x00007fd7b29653b1 in _XSend (dpy=0x2006180, data=0x0, size=<value optimized out>) at xcb_io.c:428
#5  0x00007fd7b2965499 in _XReply (dpy=0x7fff4c686d10, rep=<value optimized out>, extra=<value optimized out>, discard=-1) at xcb_io.c:512
#6  0x00007fd7b2960da9 in XSync (dpy=0x2006180, discard=0) at Sync.c:44
#7  0x00007fd7b5cf2776 in qt_cleanup () at kernel/qapplication_x11.cpp:2654
#8  0x00007fd7b5c7b5e5 in QApplication::~QApplication (this=0x7fff4c6871a0, __in_chrg=<value optimized out>) at kernel/qapplication.cpp:1163
#9  0x0000000000686c2a in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/media-gfx/digikam-1.8.0/work/digikam-1.8.0/digikam/main.cpp:220

Reported using DrKonqi
Comment 1 caulier.gilles 2011-02-13 19:38:02 UTC
Crash appear in template metadata manager. Do you play with it in digiKam setup dialog ?

Can you attach a copy of your ~/.kde4/share/apps/digikam/template.xml

Gilles Caulier
Comment 2 Flu87 2011-02-13 20:43:18 UTC
Created attachment 57224 [details]
template.xml

just added a template via settings menue
Comment 3 Marcel Wiesweg 2011-04-07 20:59:05 UTC
Gilles, is this bug still applicable after your last changes to the theme engine?
Comment 4 caulier.gilles 2011-04-07 21:49:50 UTC
Marcel, what's the relation bet template manager and theme engine ???

Gilles
Comment 5 Marcel Wiesweg 2011-04-07 22:18:28 UTC
Both begin with "t"...
Just forget my question
Comment 6 Marcel Wiesweg 2011-04-24 16:04:20 UTC
Ok, this is a shutdown bug - template manager is deleted while still accessed from a worker thread.
Comment 7 Marcel Wiesweg 2011-04-24 16:07:54 UTC
Git commit e2f819ea02623b5a9b7ab5d740ed0d06617ce433 by Marcel Wiesweg.
Committed on 24/04/2011 at 16:16.
Pushed by mwiesweg into branch 'master'.

Make TemplateManager a proper singleton, destroyed after application shutdown.

BUG: 266211

M  +0    -1    digikam/main/digikamapp.cpp     
M  +0    -3    digikam/main/digikamapp_p.h     
M  +16   -20   libs/template/templatemanager.cpp     
M  +3    -4    libs/template/templatemanager.h     

http://commits.kde.org/digikam/e2f819ea02623b5a9b7ab5d740ed0d06617ce433