Bug 252070

Summary: kontact crashed when deleting contact tags
Product: [Applications] kaddressbook Reporter: Miguel Tadeu <mtadeunet>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED WORKSFORME    
Severity: crash CC: alvanx, knut.hildebrandt, magnus, thomas, tokoe
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
Backtrace on 4.8.3
New crash information added by DrKonqi

Description Miguel Tadeu 2010-09-22 19:40:02 UTC
Application: kontact (4.4.5)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.32-24-generic i686
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
I just found out I have lots of duplicated tags for contacts. When I began deleting them, 
kontact crashed

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
[Current thread is 1 (Thread 0xb7846730 (LWP 2208))]

Thread 2 (Thread 0xb3055b70 (LWP 2283)):
#0  0x07df8e16 in *__GI_clock_gettime (clock_id=132108276, tp=0xb3054f70) at ../sysdeps/unix/clock_gettime.c:100
#1  0x0371e48b in do_gettime () at tools/qelapsedtimer_unix.cpp:105
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:119
#3  0x037f4965 in QTimerInfoList::updateCurrentTime (this=0xb0b004dc) at kernel/qeventdispatcher_unix.cpp:339
#4  0x037f49aa in QTimerInfoList::timerWait (this=0xb0b004dc, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0x037f2a38 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb305509c) at kernel/qeventdispatcher_glib.cpp:136
#6  0x037f2ac5 in timerSourcePrepare (source=0x0, timeout=0x7dfcff4) at kernel/qeventdispatcher_glib.cpp:169
#7  0x02589aca in g_main_context_prepare () from /lib/libglib-2.0.so.0
#8  0x02589ee9 in ?? () from /lib/libglib-2.0.so.0
#9  0x0258a4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#10 0x037f282f in QEventDispatcherGlib::processEvents (this=0x94131a0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#11 0x037c2a99 in QEventLoop::processEvents (this=0xb3055270, flags=) at kernel/qeventloop.cpp:149
#12 0x037c2f1a in QEventLoop::exec (this=0xb3055270, flags=...) at kernel/qeventloop.cpp:201
#13 0x036bfc5e in QThread::exec (this=0x97614f0) at thread/qthread.cpp:490
#14 0x037a19ab in QInotifyFileSystemWatcherEngine::run (this=0x97614f0) at io/qfilesystemwatcher_inotify.cpp:248
#15 0x036c2f39 in QThreadPrivate::start (arg=0x97614f0) at thread/qthread_unix.cpp:266
#16 0x02e8e96e in start_thread (arg=0xb3055b70) at pthread_create.c:300
#17 0x054dea4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb7846730 (LWP 2208)):
[KCrash Handler]
#7  0x00000010 in ?? ()
#8  0x0653e967 in QListWidgetItem::text (this=0xabca280) at /usr/include/qt4/QtGui/qlistwidget.h:90
#9  KEditTagsDialog::deleteTag (this=0xabca280) at ../../../akonadi/contact/editor/kedittagsdialog.cpp:207
#10 0x0653f2a3 in KEditTagsDialog::qt_metacall (this=0xabca280, _c=QMetaObject::InvokeMetaMethod, _id=77, _a=0xbfd2ba78) at ./kedittagsdialog_p.moc:83
#11 0x037c9d4a in QMetaObject::metacall (object=0xabca280, cl=3218258552, idx=77, argv=0xbfd2ba78) at kernel/qmetaobject.cpp:237
#12 0x037dcab5 in QMetaObject::activate (sender=0xa7c40e0, m=0x1889704, local_signal_index=2, argv=0xbfd2ba78) at kernel/qobject.cpp:3280
#13 0x01667a69 in QAbstractButton::clicked (this=0xa7c40e0, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#14 0x013285f9 in QAbstractButtonPrivate::emitClicked (this=0xa7c68b8) at widgets/qabstractbutton.cpp:546
#15 0x01329d04 in QAbstractButtonPrivate::click (this=0xa7c68b8) at widgets/qabstractbutton.cpp:539
#16 0x01329fbe in QAbstractButton::mouseReleaseEvent (this=0xa7c40e0, e=0xbfd2c1b0) at widgets/qabstractbutton.cpp:1121
#17 0x00f5a308 in QWidget::event (this=0xa7c40e0, event=0xbfd2c1b0) at kernel/qwidget.cpp:8158
#18 0x0132849e in QAbstractButton::event (this=0xa7c40e0, e=0xa8b9e08) at widgets/qabstractbutton.cpp:1080
#19 0x013d6062 in QPushButton::event (this=0xa7c40e0, e=0xbfd2c1b0) at widgets/qpushbutton.cpp:683
#20 0x00efc77c in QApplicationPrivate::notify_helper (this=0x8fe0540, receiver=0xa7c40e0, e=0xbfd2c1b0) at kernel/qapplication.cpp:4396
#21 0x00f03167 in QApplication::notify (this=0xbfd2f074, receiver=0xa7c40e0, e=0xbfd2c1b0) at kernel/qapplication.cpp:3959
#22 0x006c4a9a in KApplication::notify (this=0xbfd2f074, receiver=0xa7c40e0, event=0xbfd2c1b0) at ../../kdeui/kernel/kapplication.cpp:310
#23 0x037c3feb in QCoreApplication::notifyInternal (this=0xbfd2f074, receiver=0xa7c40e0, event=0xbfd2c1b0) at kernel/qcoreapplication.cpp:732
#24 0x00f01812 in QCoreApplication::sendEvent (receiver=0xa7c40e0, event=0xbfd2c1b0, alienWidget=0xa7c40e0, nativeWidget=0xa8bcf88, buttonDown=0x18923c0, lastMouseReceiver=..., spontaneous=true)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#25 QApplicationPrivate::sendMouseEvent (receiver=0xa7c40e0, event=0xbfd2c1b0, alienWidget=0xa7c40e0, nativeWidget=0xa8bcf88, buttonDown=0x18923c0, lastMouseReceiver=..., spontaneous=true)
    at kernel/qapplication.cpp:3058
#26 0x00f900d8 in QETWidget::translateMouseEvent (this=0xa8bcf88, event=0xbfd2c6cc) at kernel/qapplication_x11.cpp:4403
#27 0x00f8f569 in QApplication::x11ProcessEvent (this=0xbfd2f074, event=0xbfd2c6cc) at kernel/qapplication_x11.cpp:3414
#28 0x00fbe56a in x11EventSourceDispatch (s=0x8fe1840, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#29 0x025865e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#30 0x0258a2d8 in ?? () from /lib/libglib-2.0.so.0
#31 0x0258a4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#32 0x037f27f5 in QEventDispatcherGlib::processEvents (this=0x8fbf3f8, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#33 0x00fbdde5 in QGuiEventDispatcherGlib::processEvents (this=0x8fbf3f8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x037c2a99 in QEventLoop::processEvents (this=0xbfd2c9c0, flags=) at kernel/qeventloop.cpp:149
#35 0x037c2f1a in QEventLoop::exec (this=0xbfd2c9c0, flags=...) at kernel/qeventloop.cpp:201
#36 0x014648c3 in QDialog::exec (this=0xabca280) at dialogs/qdialog.cpp:552
#37 0x0654a485 in TagWidget::editTags (this=0x9855010) at ../../../akonadi/contact/editor/tagwidget.cpp:69
#38 0x064c8541 in TagWidget::qt_metacall (this=0x9855010, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0xbfd2cb68) at moc_tagwidget.cpp:72
#39 0x037c9d4a in QMetaObject::metacall (object=0x9855010, cl=3218258552, idx=27, argv=0xbfd2cb68) at kernel/qmetaobject.cpp:237
#40 0x037dcab5 in QMetaObject::activate (sender=0x9855578, m=0x1889704, local_signal_index=2, argv=0xbfd2cb68) at kernel/qobject.cpp:3280
#41 0x01667a69 in QAbstractButton::clicked (this=0x9855578, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#42 0x013285f9 in QAbstractButtonPrivate::emitClicked (this=0x9855590) at widgets/qabstractbutton.cpp:546
#43 0x01329d04 in QAbstractButtonPrivate::click (this=0x9855590) at widgets/qabstractbutton.cpp:539
#44 0x01329fbe in QAbstractButton::mouseReleaseEvent (this=0x9855578, e=0xbfd2d2b0) at widgets/qabstractbutton.cpp:1121
#45 0x0141093c in QToolButton::mouseReleaseEvent (this=0x9855578, e=0xbfd2d2b0) at widgets/qtoolbutton.cpp:721
#46 0x00f5a308 in QWidget::event (this=0x9855578, event=0xbfd2d2b0) at kernel/qwidget.cpp:8158
#47 0x0132849e in QAbstractButton::event (this=0x9855578, e=0xa8b9e08) at widgets/qabstractbutton.cpp:1080
#48 0x0141347a in QToolButton::event (this=0x9855578, event=0xbfd2d2b0) at widgets/qtoolbutton.cpp:1163
#49 0x00efc77c in QApplicationPrivate::notify_helper (this=0x8fe0540, receiver=0x9855578, e=0xbfd2d2b0) at kernel/qapplication.cpp:4396
#50 0x00f03167 in QApplication::notify (this=0xbfd2f074, receiver=0x9855578, e=0xbfd2d2b0) at kernel/qapplication.cpp:3959
#51 0x006c4a9a in KApplication::notify (this=0xbfd2f074, receiver=0x9855578, event=0xbfd2d2b0) at ../../kdeui/kernel/kapplication.cpp:310
#52 0x037c3feb in QCoreApplication::notifyInternal (this=0xbfd2f074, receiver=0x9855578, event=0xbfd2d2b0) at kernel/qcoreapplication.cpp:732
#53 0x00f01812 in QCoreApplication::sendEvent (receiver=0x9855578, event=0xbfd2d2b0, alienWidget=0x9855578, nativeWidget=0xbfd2db14, buttonDown=0x18923c0, lastMouseReceiver=..., spontaneous=true)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#54 QApplicationPrivate::sendMouseEvent (receiver=0x9855578, event=0xbfd2d2b0, alienWidget=0x9855578, nativeWidget=0xbfd2db14, buttonDown=0x18923c0, lastMouseReceiver=..., spontaneous=true)
    at kernel/qapplication.cpp:3058
#55 0x00f900d8 in QETWidget::translateMouseEvent (this=0xbfd2db14, event=0xbfd2d7cc) at kernel/qapplication_x11.cpp:4403
#56 0x00f8f569 in QApplication::x11ProcessEvent (this=0xbfd2f074, event=0xbfd2d7cc) at kernel/qapplication_x11.cpp:3414
#57 0x00fbe56a in x11EventSourceDispatch (s=0x8fe1840, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#58 0x025865e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#59 0x0258a2d8 in ?? () from /lib/libglib-2.0.so.0
#60 0x0258a4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#61 0x037f27f5 in QEventDispatcherGlib::processEvents (this=0x8fbf3f8, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#62 0x00fbdde5 in QGuiEventDispatcherGlib::processEvents (this=0x8fbf3f8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#63 0x037c2a99 in QEventLoop::processEvents (this=0xbfd2dac0, flags=) at kernel/qeventloop.cpp:149
#64 0x037c2f1a in QEventLoop::exec (this=0xbfd2dac0, flags=...) at kernel/qeventloop.cpp:201
#65 0x014648c3 in QDialog::exec (this=0xbfd2db14) at dialogs/qdialog.cpp:552
#66 0x0405a188 in MainWidget::editContact (this=0x979b590, contact=...) at ../../kaddressbook/mainwidget.cpp:534
#67 0x0405aee7 in MainWidget::editItem (this=0x979b590, reference=...) at ../../kaddressbook/mainwidget.cpp:448
#68 0x0405b7dd in MainWidget::qt_metacall (this=0x979b590, _c=QMetaObject::InvokeMetaMethod, _id=30, _a=0xbfd2dca8) at ./mainwidget.moc:93
#69 0x037c9d4a in QMetaObject::metacall (object=0x979b590, cl=3218258552, idx=30, argv=0xbfd2dca8) at kernel/qmetaobject.cpp:237
#70 0x037dcab5 in QMetaObject::activate (sender=0x9a79ba0, m=0x419e2c, local_signal_index=3, argv=0xbfd2dca8) at kernel/qobject.cpp:3280
#71 0x00316023 in Akonadi::EntityTreeView::doubleClicked (this=0x9a79ba0, _t1=...) at ./entitytreeview.moc:135
#72 0x00317143 in Akonadi::EntityTreeView::Private::itemDoubleClicked (this=0x99ac580, index=...) at ../../akonadi/entitytreeview.cpp:149
#73 0x00317dc8 in Akonadi::EntityTreeView::qt_metacall (this=0x9a79ba0, _c=QMetaObject::InvokeMetaMethod, _id=95, _a=0xbfd2de48) at ./entitytreeview.moc:100
#74 0x037c9d4a in QMetaObject::metacall (object=0x9a79ba0, cl=3218258552, idx=95, argv=0xbfd2de48) at kernel/qmetaobject.cpp:237
#75 0x037dcab5 in QMetaObject::activate (sender=0x9a79ba0, m=0x1882d64, local_signal_index=2, argv=0xbfd2de48) at kernel/qobject.cpp:3280
#76 0x014c1973 in QAbstractItemView::doubleClicked (this=0x9a79ba0, _t1=...) at .moc/release-shared/moc_qabstractitemview.cpp:338
#77 0x0151957f in QTreeView::mouseDoubleClickEvent (this=0x9a79ba0, event=0xbfd2e7c0) at itemviews/qtreeview.cpp:1861
#78 0x00f5a18e in QWidget::event (this=0x9a79ba0, event=0xbfd2e7c0) at kernel/qwidget.cpp:8162
#79 0x01379fb3 in QFrame::event (this=0x9a79ba0, e=0xbfd2e7c0) at widgets/qframe.cpp:557
#80 0x01416e42 in QAbstractScrollArea::viewportEvent (this=0xbfd2ba78, e=0xa8b9e08) at widgets/qabstractscrollarea.cpp:1043
#81 0x014d2957 in QAbstractItemView::viewportEvent (this=0x9a79ba0, event=0xbfd2e7c0) at itemviews/qabstractitemview.cpp:1619
#82 0x015151d3 in QTreeView::viewportEvent (this=0x9a79ba0, event=0xbfd2e7c0) at itemviews/qtreeview.cpp:1256
#83 0x01419885 in QAbstractScrollAreaPrivate::viewportEvent (this=0xa45fd00, o=0x98d06b8, e=0xbfd2e7c0) at widgets/qabstractscrollarea_p.h:100
#84 QAbstractScrollAreaFilter::eventFilter (this=0xa45fd00, o=0x98d06b8, e=0xbfd2e7c0) at widgets/qabstractscrollarea_p.h:116
#85 0x037c374a in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x8fe0540, receiver=0x98d06b8, event=0xbfd2e7c0) at kernel/qcoreapplication.cpp:847
#86 0x00efc759 in QApplicationPrivate::notify_helper (this=0x8fe0540, receiver=0x98d06b8, e=0xbfd2e7c0) at kernel/qapplication.cpp:4392
#87 0x00f03167 in QApplication::notify (this=0xbfd2f074, receiver=0x98d06b8, e=0xbfd2e7c0) at kernel/qapplication.cpp:3959
#88 0x006c4a9a in KApplication::notify (this=0xbfd2f074, receiver=0x98d06b8, event=0xbfd2e7c0) at ../../kdeui/kernel/kapplication.cpp:310
#89 0x037c3feb in QCoreApplication::notifyInternal (this=0xbfd2f074, receiver=0x98d06b8, event=0xbfd2e7c0) at kernel/qcoreapplication.cpp:732
#90 0x00f01812 in QCoreApplication::sendEvent (receiver=0x98d06b8, event=0xbfd2e7c0, alienWidget=0x98d06b8, nativeWidget=0x8fe0050, buttonDown=0x18923c0, lastMouseReceiver=..., spontaneous=true)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#91 QApplicationPrivate::sendMouseEvent (receiver=0x98d06b8, event=0xbfd2e7c0, alienWidget=0x98d06b8, nativeWidget=0x8fe0050, buttonDown=0x18923c0, lastMouseReceiver=..., spontaneous=true)
    at kernel/qapplication.cpp:3058
#92 0x00f900d8 in QETWidget::translateMouseEvent (this=0x8fe0050, event=0xbfd2ecdc) at kernel/qapplication_x11.cpp:4403
#93 0x00f8f569 in QApplication::x11ProcessEvent (this=0xbfd2f074, event=0xbfd2ecdc) at kernel/qapplication_x11.cpp:3414
#94 0x00fbe56a in x11EventSourceDispatch (s=0x8fe1840, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#95 0x025865e5 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#96 0x0258a2d8 in ?? () from /lib/libglib-2.0.so.0
#97 0x0258a4b8 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#98 0x037f27f5 in QEventDispatcherGlib::processEvents (this=0x8fbf3f8, flags=...) at kernel/qeventdispatcher_glib.cpp:415
#99 0x00fbdde5 in QGuiEventDispatcherGlib::processEvents (this=0x8fbf3f8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#100 0x037c2a99 in QEventLoop::processEvents (this=0xbfd2efd4, flags=) at kernel/qeventloop.cpp:149
#101 0x037c2f1a in QEventLoop::exec (this=0xbfd2efd4, flags=...) at kernel/qeventloop.cpp:201
#102 0x037c74cf in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#103 0x00efb5a7 in QApplication::exec () at kernel/qapplication.cpp:3672
#104 0x0804b472 in main (argc=1, argv=0xbfd2f294) at ../../../kontact/src/main.cpp:224

Reported using DrKonqi
Comment 1 Christophe Marin 2011-01-21 01:35:03 UTC
*** Bug 263793 has been marked as a duplicate of this bug. ***
Comment 2 Benjamin M 2011-08-12 13:33:56 UTC
I can confirm that on KDE 4.7, Qt 4.7.3, openSUSE 11.4. I was removing empty categories that had at some point popped up. This happens every time with the 2nd - 5th empty tag that I remove. 

I compared backtraces, and they look pretty alike. Idk if mine will still be needed?
Comment 3 Thomas Tanghus 2011-12-23 06:41:22 UTC
Created attachment 67038 [details]
New crash information added by DrKonqi

kontact (4.7.4) on KDE Platform 4.7.4 (4.7.4) using Qt 4.7.4

- What I was doing when the application crashed:
I was attempting to delete empty tags from the Contact editor.

- Unusual behavior I noticed:
Empty tags keeps being created both in KMail and the Contact part (KABC?). ToDos (and Calendar?) seems to behave alright.

- Custom settings of the application:
I use Cal-/CardDAV resources with ownCloud as backend. Before that I used Memotoo.com with traditional resources and had the same problem.

-- Backtrace (Reduced):
#7  0x00007fc5c6921611 in text (this=<optimized out>) at /usr/include/qt4/QtGui/qlistwidget.h:90
#8  KEditTagsDialog::deleteTag (this=<optimized out>) at ../../../akonadi/contact/editor/kedittagsdialog.cpp:207
#9  0x00007fc5c6921edc in KEditTagsDialog::qt_metacall (this=0x10764670, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff969d72e0) at ./kedittagsdialog_p.moc:83
[...]
#11 0x00007fc5caca4582 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#12 0x00007fc5ca9ea13e in QAbstractButtonPrivate::emitClicked (this=<optimized out>) at widgets/qabstractbutton.cpp:546
Comment 4 Christophe Marin 2012-05-17 21:45:34 UTC
Is that still reproducible with recent kaddressbook versions ?
Comment 5 Thomas Tanghus 2012-05-17 21:59:46 UTC
It seems to work like a charm with Kontact 4.8.2. Very nice to be able to use the tags :-)
Comment 6 Christophe Marin 2012-05-18 08:07:14 UTC
Thanks. Closing
Comment 7 Benjamin M 2012-05-18 10:43:22 UTC
Created attachment 71183 [details]
Backtrace on 4.8.3

I still have a bit of a problem. The empty phantom tags are gone, and I can delete a tag that I had just created. But I cannot delete a tag that is actually in use. I tried deleting the "Watched" tag, and only got an error sound. At the second attempt, a crash gave me the attached backtrace.

I'm happy some work has gone into it (thank you!). Hope this will be resolved soon (or that maybe my problem is a different one).
Comment 8 Thomas Tanghus 2012-05-18 12:09:31 UTC
I just tried the same under KDE 4.8.3, KDEPIM 4.8.2 and Qt 4.8.1 with no problems and I could see in my ownCloud that it actually removed the category ;-)

Looking at your bt it looks like a Qt crash, so maybe this issue should be filed upstream?
Comment 9 Knut Hildebrandt 2012-12-25 03:31:42 UTC
Created attachment 76007 [details]
New crash information added by DrKonqi

kontact (4.9.3) on KDE Platform 4.9.3 using Qt 4.8.3

- What I was doing when the application crashed:

I was deleting duplicat categories en kaddressbook.

-- Backtrace (Reduced):
#7  0xb4175fc7 in text (this=<optimized out>) at /usr/include/qt4/QtGui/qlistwidget.h:90
#8  KEditTagsDialog::deleteTag (this=0xf2b9770) at ../../../akonadi/contact/editor/kedittagsdialog.cpp:207
[...]
#10 0xb705e01d in QAbstractButton::clicked (this=0xdb06e18, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:220
#11 0xb6d646dd in QAbstractButtonPrivate::emitClicked (this=this@entry=0xf9f7990) at widgets/qabstractbutton.cpp:548
#12 0xb6d64f2b in QAbstractButtonPrivate::click (this=this@entry=0xf9f7990) at widgets/qabstractbutton.cpp:541