Bug 305537

Summary: KMail2 crashes in Nepomuk::ResourceWatcher::addResource with ASSERT: "d->ref == 1" in file tools/qlist.cpp, line 233
Product: [Unmaintained] nepomuk Reporter: Matěj Laitl <matej>
Component: generalAssignee: Nepomuk Bugs Coordination <nepomuk-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version: 4.9   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Matěj Laitl 2012-08-21 08:39:46 UTC
Application: kmail (4.9)
KDE Platform Version: 4.9.00 (Compiled from sources)
Qt Version: 4.8.2
Operating System: Linux 3.5.0 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:
1. restored KMail from system tray
2. opened 2 messages, then pressed + to get to the next one
3. KMail crashed on assertion failure
4. In ~/.xsession-errors I have: ASSERT: "d->ref == 1" in file tools/qlist.cpp, line 233

Note: I have Qt build with debugging assertions enabled, you may be unable to reproduce this unless you have debugging asserts enabled, too. KMail (or Nepomuk) itself is build *without* assertions enabled.

The crash can be reproduced some of the time.

-- Backtrace:
Application: KMail (kmail), signal: Aborted
[Current thread is 1 (Thread 0x7f3103ecb780 (LWP 28302))]

Thread 5 (Thread 0x7f30fed5a700 (LWP 28306)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007f310e4f1074 in WTF::TCMalloc_PageHeap::scavengerThread (this=0x7f310eecf060) at wtf/FastMalloc.cpp:2495
#2  0x00007f310e4f10a9 in WTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f310eedd134) at wtf/FastMalloc.cpp:1618
#3  0x00007f3118918da6 in start_thread (arg=0x7f30fed5a700) at pthread_create.c:305
#4  0x00007f311ab3310d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7f30fe459700 (LWP 28307)):
#0  0x00007f311ab2a1e3 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f3112c9a6d6 in g_main_context_poll (n_fds=1, fds=0x7f30f80029c0, timeout=-1, context=0x7f30f80009a0, priority=<optimized out>) at gmain.c:3440
#2  g_main_context_iterate (context=0x7f30f80009a0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3141
#3  0x00007f3112c9a7f4 in g_main_context_iteration (context=0x7f30f80009a0, may_block=1) at gmain.c:3207
#4  0x00007f311b4d93e6 in QEventDispatcherGlib::processEvents (this=0x7f30f80008c0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f311b4a5602 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f311b4a5895 in QEventLoop::exec (this=0x7f30fe458e00, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f311b392fe8 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x00007f311b39554d in QThreadPrivate::start (arg=0x2afabe0) at thread/qthread_unix.cpp:307
#9  0x00007f3118918da6 in start_thread (arg=0x7f30fe459700) at pthread_create.c:305
#10 0x00007f311ab3310d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7f30b7fff700 (LWP 28600)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1  0x00007f311b396463 in wait (time=30000, this=0x2c98c60) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2c99338, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f311b389760 in QThreadPoolThread::run (this=0x2ca1120) at concurrent/qthreadpool.cpp:141
#4  0x00007f311b39554d in QThreadPrivate::start (arg=0x2ca1120) at thread/qthread_unix.cpp:307
#5  0x00007f3118918da6 in start_thread (arg=0x7f30b7fff700) at pthread_create.c:305
#6  0x00007f311ab3310d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7f30fcfb9700 (LWP 28601)):
#0  pthread_cond_timedwait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:215
#1  0x00007f311b396463 in wait (time=30000, this=0x34f8650) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x34f5bf8, time=30000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f311b389760 in QThreadPoolThread::run (this=0x388aa20) at concurrent/qthreadpool.cpp:141
#4  0x00007f311b39554d in QThreadPrivate::start (arg=0x388aa20) at thread/qthread_unix.cpp:307
#5  0x00007f3118918da6 in start_thread (arg=0x7f30fcfb9700) at pthread_create.c:305
#6  0x00007f311ab3310d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f3103ecb780 (LWP 28302)):
[KCrash Handler]
#6  0x00007f311aa7da75 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007f311aa7eef6 in *__GI_abort () at abort.c:91
#8  0x00007f311b38b314 in qt_message_output (msgType=<optimized out>, buf=<optimized out>) at global/qglobal.cpp:2260
#9  0x00007f311b38b4ad in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f311b512488 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fff4d89bda0) at global/qglobal.cpp:2306
#10 0x00007f311b38b649 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2489
#11 0x00007f311b3b5ca5 in QListData::append (this=<optimized out>, n=1) at tools/qlist.cpp:233
#12 0x00007f31136d03c0 in QList<QUrl>::append (this=0x2acf398, t=...) at /usr/include/qt4/QtCore/qlist.h:530
#13 0x00007f31136ef2f1 in operator<< (t=..., this=<optimized out>) at /usr/include/qt4/QtCore/qlist.h:334
#14 Nepomuk::ResourceWatcher::addResource (this=0x26799a0, res=...) at /var/tmp/portage/kde-base/kdelibs-4.9.0/work/kdelibs-4.9.0/nepomuk/core/resourcewatcher.cpp:153
#15 0x00007f31136f0d99 in Nepomuk::ResourceWatcher::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.9.0/work/kdelibs-4.9.0_build/nepomuk/resourcewatcher.moc:118
#16 0x00007f311b4b0b1f in QMetaMethod::invoke (this=0x7fff4d89c520, object=0x26799a0, connectionType=Qt::DirectConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1664
#17 0x00007f311b4b1916 in QMetaObject::invokeMethod (obj=0x26799a0, member=<optimized out>, type=Qt::AutoConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1179
#18 0x00007f31136d6940 in invokeMethod (val9=..., val8=..., val7=..., val6=..., val5=..., val4=..., val3=..., val2=..., val1=..., val0=..., type=Qt::AutoConnection, member=0x7f3113730e4e "addResource", obj=<optimized out>) at /usr/include/qt4/QtCore/qobjectdefs.h:418
#19 Nepomuk::ResourceData::load (this=0x4266ec0) at /var/tmp/portage/kde-base/kdelibs-4.9.0/work/kdelibs-4.9.0/nepomuk/core/resourcedata.cpp:418
#20 0x00007f31136d75bc in Nepomuk::ResourceData::property (this=0x4266ec0, uri=...) at /var/tmp/portage/kde-base/kdelibs-4.9.0/work/kdelibs-4.9.0/nepomuk/core/resourcedata.cpp:272
#21 0x00007f31136e9013 in Nepomuk::Resource::property (this=0x4bc4ac0, uri=...) at /var/tmp/portage/kde-base/kdelibs-4.9.0/work/kdelibs-4.9.0/nepomuk/core/resource.cpp:303
#22 0x00007f31136e91b5 in Nepomuk::Resource::symbols (this=<optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.9.0/work/kdelibs-4.9.0/nepomuk/core/resource.cpp:863
#23 0x00007f31165980dc in MessageList::Core::MessageItemPrivate::fillTagList (this=0x41fa090, resource=<optimized out>) at /var/tmp/portage/kde-base/kdepim-common-libs-4.9.0/work/kdepim-common-libs-4.9.0/messagelist/core/messageitem.cpp:194
#24 0x00007f3116598735 in MessageList::Core::MessageItemPrivate::resourceReceived (this=0x41fa090, resource=...) at /var/tmp/portage/kde-base/kdepim-common-libs-4.9.0/work/kdepim-common-libs-4.9.0/messagelist/core/messageitem.cpp:244
#25 0x00007f3116b3f564 in resourceRetrievalDone (res=..., url=..., this=0x34f9c30) at /var/tmp/portage/kde-base/kdepim-common-libs-4.9.0/work/kdepim-common-libs-4.9.0/messagecore/asyncnepomukresourceretriever.cpp:90
#26 MessageCore::AsyncNepomukResourceRetriever::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /var/tmp/portage/kde-base/kdepim-common-libs-4.9.0/work/kdepim-common-libs-4.9.0_build/messagecore/asyncnepomukresourceretriever.moc:60
#27 0x00007f311b4bdc06 in QObject::event (this=0x36cd3e0, e=<optimized out>) at kernel/qobject.cpp:1195
#28 0x00007f311b9eb7c4 in QApplicationPrivate::notify_helper (this=0x261ff50, receiver=0x36cd3e0, e=0x7f30b001f0b0) at kernel/qapplication.cpp:4551
#29 0x00007f311b9f0b93 in QApplication::notify (this=<optimized out>, receiver=0x36cd3e0, e=0x7f30b001f0b0) at kernel/qapplication.cpp:4412
#30 0x00007f311d37d226 in KApplication::notify (this=0x7fff4d89da40, receiver=0x36cd3e0, event=0x7f30b001f0b0) at /var/tmp/portage/kde-base/kdelibs-4.9.0/work/kdelibs-4.9.0/kdeui/kernel/kapplication.cpp:311
#31 0x00007f311b4a716c in QCoreApplication::notifyInternal (this=0x7fff4d89da40, receiver=0x36cd3e0, event=0x7f30b001f0b0) at kernel/qcoreapplication.cpp:915
#32 0x00007f311b4aa82c in sendEvent (event=0x7f30b001f0b0, receiver=0x36cd3e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#33 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x25941f0) at kernel/qcoreapplication.cpp:1539
#34 0x00007f311b4d91f3 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#35 postEventSourceDispatch (s=0x2617c90) at kernel/qeventdispatcher_glib.cpp:279
#36 0x00007f3112c9a3f3 in g_main_dispatch (context=0x2617e10) at gmain.c:2539
#37 g_main_context_dispatch (context=0x2617e10) at gmain.c:3075
#38 0x00007f3112c9a738 in g_main_context_iterate (context=0x2617e10, block=1, dispatch=1, self=<optimized out>) at gmain.c:3146
#39 0x00007f3112c9a7f4 in g_main_context_iteration (context=0x2617e10, may_block=1) at gmain.c:3207
#40 0x00007f311b4d938f in QEventDispatcherGlib::processEvents (this=0x2595ad0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#41 0x00007f311ba9d79e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#42 0x00007f311b4a5602 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#43 0x00007f311b4a5895 in QEventLoop::exec (this=0x7fff4d89d900, flags=...) at kernel/qeventloop.cpp:204
#44 0x00007f311b4aac8b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#45 0x00000000004033ae in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-base/kmail-4.9.0-r1/work/kmail-4.9.0/kmail/main.cpp:145

Reported using DrKonqi
Comment 1 Matěj Laitl 2012-08-21 10:26:37 UTC
Correct platform and version.
Comment 2 Matěj Laitl 2012-08-24 09:30:37 UTC

*** This bug has been marked as a duplicate of bug 295802 ***