Bug 250551 - KMail crashed when filtering contacts
Summary: KMail crashed when filtering contacts
Status: RESOLVED WORKSFORME
Alias: None
Product: kmail2
Classification: Applications
Component: filtering (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-08 13:01 UTC by Alex Merry
Modified: 2010-09-20 02:55 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Merry 2010-09-08 13:01:46 UTC
Application: kmail (2.0.89)
KDE Platform Version: 4.5.67 (4.6 >= 20100901) (Compiled from sources)
Qt Version: 4.6.3
Operating System: Linux 2.6.35-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:

I had just added some new addresses to the contact book, and they didn't show up when I started typing them in the To: field in the composer window, so I chose "Select..." to pick them that way.

I started typing in the filter box of the select contact dialog, and KMail crashed (I'd managed to type about 3-4 characters by the time it crashed, but it hadn't finished updating the list).

-- Backtrace:
Application: KMail (kmail), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f7084f62760 (LWP 12322))]

Thread 2 (Thread 0x7f7067288710 (LWP 12342)):
#0  0x00007f707f11c40c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f70779a5e30 in WTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib/libQtWebKit.so.4
#2  0x00007f70779a5e69 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib/libQtWebKit.so.4
#3  0x00007f707f117cb0 in start_thread () from /lib/libpthread.so.0
#4  0x00007f707e6e17ad in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f7084f62760 (LWP 12322)):
[KCrash Handler]
#6  QMap<QModelIndex, QSortFilterProxyModelPrivate::Mapping*>::concrete (this=0x2ba4950, proxy_index=...) at ../../include/QtCore/../../src/corelib/tools/qmap.h:160
#7  QMap<QModelIndex, QSortFilterProxyModelPrivate::Mapping*>::const_iterator::value (this=0x2ba4950, proxy_index=...) at ../../include/QtCore/../../src/corelib/tools/qmap.h:301
#8  QSortFilterProxyModelPrivate::proxy_to_source (this=0x2ba4950, proxy_index=...) at itemviews/qsortfilterproxymodel.cpp:331
#9  0x00007f70806b614d in QSortFilterProxyModel::mapToSource (this=<value optimized out>, proxyIndex=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:2454
#10 0x00007f70806b752e in QSortFilterProxyModelPrivate::store_persistent_indexes (this=<value optimized out>) at itemviews/qsortfilterproxymodel.cpp:957
#11 0x00007f70806b7733 in QSortFilterProxyModelPrivate::_q_sourceLayoutAboutToBeChanged (this=0x2ba4950) at itemviews/qsortfilterproxymodel.cpp:1205
#12 0x00007f70806bce09 in QSortFilterProxyModel::qt_metacall (this=0x2b80d90, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0x7fffc8debfd0) at .moc/release-shared/moc_qsortfilterproxymodel.cpp:132
#13 0x00007f70829b21a9 in Akonadi::LeafExtensionProxyModel::qt_metacall (this=0x2b80d90, _c=QMetaObject::InvokeMetaMethod, _id=34, _a=0x7fffc8debfd0)
    at /home/kde-devel/build/KDE/kdepimlibs/akonadi/contact/leafextensionproxymodel_p.moc:70
#14 0x00007f7082988ffb in Akonadi::EmailAddressSelectionProxyModel::qt_metacall (this=0x2b80d90, _c=QMetaObject::InvokeMetaMethod, _id=34, _a=0x7fffc8debfd0)
    at /home/kde-devel/build/KDE/kdepimlibs/akonadi/contact/moc_emailaddressselectionproxymodel_p.cpp:66
#15 0x00007f707f49fdef in QMetaObject::activate (sender=0x12f3e90, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3287
#16 0x00007f70829a4768 in Akonadi::ContactsFilterProxyModel::setFilterString (this=0x12f3e90, filter=...) at /home/kde-devel/src/KDE/kdepimlibs/akonadi/contact/contactsfilterproxymodel.cpp:56
#17 0x00007f70829a5a55 in Akonadi::ContactsFilterProxyModel::qt_metacall (this=0x12f3e90, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffc8dec150)
    at /home/kde-devel/build/KDE/kdepimlibs/akonadi/contact/contactsfilterproxymodel.moc:73
#18 0x00007f707f49fdef in QMetaObject::activate (sender=0x12ba6a0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffc8dec150) at kernel/qobject.cpp:3287
#19 0x00007f7080533a22 in QLineEdit::textChanged (this=<value optimized out>, _t1=<value optimized out>) at .moc/release-shared/moc_qlineedit.cpp:238
#20 0x00007f7080533ebc in QLineEdit::qt_metacall (this=0x12ba6a0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffc8dec340) at .moc/release-shared/moc_qlineedit.cpp:156
#21 0x00007f70849db8b3 in KLineEdit::qt_metacall (this=0x12ba6a0, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0x7fffc8dec340) at /home/kde-devel/build/KDE/kdelibs/kdeui/klineedit.moc:133
#22 0x00007f707f49fdef in QMetaObject::activate (sender=0x2b9bbc0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffc8dec340) at kernel/qobject.cpp:3287
#23 0x00007f7080792c45 in QLineControl::textChanged (this=<value optimized out>, _t1=<value optimized out>) at .moc/release-shared/moc_qlinecontrol_p.cpp:131
#24 0x00007f708053889b in QLineControl::finishChange (this=0x2b9bbc0, validateFromState=0, update=<value optimized out>, edited=true) at widgets/qlinecontrol.cpp:605
#25 0x00007f708053a71b in QLineControl::processKeyEvent (this=0x2b9bbc0, event=0x7fffc8ded340) at widgets/qlinecontrol.cpp:1780
#26 0x00007f708052f941 in QLineEdit::keyPressEvent (this=<value optimized out>, event=0x7fffc8ded340) at widgets/qlineedit.cpp:1667
#27 0x00007f70849d72de in KLineEdit::keyPressEvent (this=0x12ba6a0, e=0x7fffc8ded340) at /home/kde-devel/src/KDE/kdelibs/kdeui/widgets/klineedit.cpp:940
#28 0x00007f70829b06ae in SearchLineEdit::keyPressEvent (this=0x12ba6a0, event=0x7fffc8ded340) at /home/kde-devel/src/KDE/kdepimlibs/akonadi/contact/emailaddressselectionwidget.cpp:67
#29 0x00007f708018b5a6 in QWidget::event (this=0x12ba6a0, event=0x7fffc8ded340) at kernel/qwidget.cpp:8079
#30 0x00007f7080531f11 in QLineEdit::event (this=0x12ba6a0, e=0x7fffc8ded340) at widgets/qlineedit.cpp:1480
#31 0x00007f70849d9680 in KLineEdit::event (this=0x12ba6a0, ev=0x7fffc8ded340) at /home/kde-devel/src/KDE/kdelibs/kdeui/widgets/klineedit.cpp:1394
#32 0x00007f708013bae4 in QApplicationPrivate::notify_helper (this=0x13ff870, receiver=0x12ba6a0, e=0x7fffc8ded340) at kernel/qapplication.cpp:4302
#33 0x00007f70801402f2 in QApplication::notify (this=<value optimized out>, receiver=<value optimized out>, e=0x7fffc8ded340) at kernel/qapplication.cpp:3765
#34 0x00007f70848f3c8d in KApplication::notify (this=0x7fffc8dee350, receiver=0x12ba6a0, event=0x7fffc8ded340) at /home/kde-devel/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:310
#35 0x00007f707f48bd8c in QCoreApplication::notifyInternal (this=0x7fffc8dee350, receiver=0x12ba6a0, event=0x7fffc8ded340) at kernel/qcoreapplication.cpp:726
#36 0x00007f70801d832a in QKeyMapper::sendKeyEvent (keyWidget=0x12ba6a0, grab=<value optimized out>, type=QEvent::KeyPress, code=67, modifiers=<value optimized out>, text=..., autorepeat=false, 
    count=1, nativeScanCode=54, nativeVirtualKey=99, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1875
#37 0x00007f70801d8781 in QKeyMapperPrivate::translateKeyEvent (this=<value optimized out>, keyWidget=0x12ba6a0, event=<value optimized out>, grab=false) at kernel/qkeymapper_x11.cpp:1845
#38 0x00007f70801b5b9c in QApplication::x11ProcessEvent (this=0x7fffc8dee350, event=0x7fffc8dedef0) at kernel/qapplication_x11.cpp:3406
#39 0x00007f70801db942 in x11EventSourceDispatch (s=0x1403330, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#40 0x00007f7074e4db33 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0x00007f7074e4e310 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#42 0x00007f7074e4e5ad in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#43 0x00007f707f4b487f in QEventDispatcherGlib::processEvents (this=0x101c510, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#44 0x00007f70801db60e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#45 0x00007f707f48b172 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#46 0x00007f707f48b3ac in QEventLoop::exec (this=0x7fffc8dee1f0, flags=...) at kernel/qeventloop.cpp:201
#47 0x00007f707f48f7bb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#48 0x0000000000403594 in main (argc=1, argv=0x7fffc8dee4e8) at /home/kde-devel/src/KDE/kdepim/kmail/main.cpp:145

This bug may be a duplicate of or related to bug 250331.

Possible duplicates by query: bug 250331.

Reported using DrKonqi
Comment 1 Alex Merry 2010-09-08 13:05:10 UTC
It does this every time - typing a single character is enough to crash it.

Note that filtering directly from within KAddressBook works fine.
Comment 2 Alex Merry 2010-09-09 15:38:29 UTC
I can't reproduce this under valgrind.  Maybe some sort of race condition?

However, when running kmail under valgrind, the contacts list in the contact selection dialog always appears unopened, and when not running it under valgrind, it appears expanded.  Not sure if that's relevant.
Comment 3 Alex Merry 2010-09-20 02:55:15 UTC
Seems to work now, with latest trunk.