Bug 174707 - Kontact crash when I select Options -> Configure Kontact
Summary: Kontact crash when I select Options -> Configure Kontact
Status: RESOLVED FIXED
Alias: None
Product: knode
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: triaged
: 167386 171640 178676 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-11-09 13:57 UTC by Mirko C.
Modified: 2008-12-24 18:47 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Ensure internally to libkpgp that the Kgpg::Module singleton is not null (5.88 KB, patch)
2008-11-11 19:09 UTC, Olivier Trichet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mirko C. 2008-11-09 13:57:56 UTC
Version:           1.3 (using Devel)
OS:                Linux
Installed from:    Compiled sources

Applicazione: Kontact (kontact), segnale SIGSEGV
(no debugging symbols found)
[cut]
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb4c3f6c0 (LWP 6525)]
[New Thread 0xb0d78b90 (LWP 6546)]
(no debugging symbols found)
[cut]
(no debugging symbols found)
[KCrash handler]
#6  0xb6e48a2c in QWidget::window () from /usr/lib/libQtGui.so.4
#7  0xb048e633 in ?? () from /usr/lib/libknodecommon.so.4
#8  0xb0491cf9 in ?? () from /usr/lib/libknodecommon.so.4
#9  0xb0492293 in ?? () from /usr/lib/libknodecommon.so.4
#10 0xb04937fb in ?? () from /usr/lib/libknodecommon.so.4
#11 0xb048ec50 in ?? () from /usr/lib/libknodecommon.so.4
#12 0xb051c458 in KNGlobals::accountManager ()
   from /usr/lib/libknodecommon.so.4
#13 0xb046da2f in KNode::NntpAccountListWidget::load ()
   from /usr/lib/libknodecommon.so.4
#14 0xb047c4c5 in KNode::NntpAccountListWidget::NntpAccountListWidget ()
   from /usr/lib/libknodecommon.so.4
#15 0xb0573f36 in ?? () from /usr/lib/kde4/kcm_knode.so
#16 0xb05740da in create_knode_config_accounts ()
   from /usr/lib/kde4/kcm_knode.so
#17 0xb62a1bf1 in KCModuleLoader::loadModule () from /usr/lib/libkutils.so.4
#18 0xb62a76ed in ?? () from /usr/lib/libkutils.so.4
#19 0xb62a8813 in KCModuleProxy::realModule () from /usr/lib/libkutils.so.4
#20 0xb62a8848 in KCModuleProxy::minimumSizeHint ()
   from /usr/lib/libkutils.so.4
#21 0xb7c14ac3 in ?? () from /usr/lib/libkdeui.so.5
#22 0xb7c14c7e in KPageView::qt_metacall () from /usr/lib/libkdeui.so.5
#23 0xb7c1898a in KPageWidget::qt_metacall () from /usr/lib/libkdeui.so.5
#24 0xb7726a60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#25 0xb77277e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#26 0xb7760a97 in QAbstractItemModel::layoutChanged ()
   from /usr/lib/libQtCore.so.4
#27 0xb7c1b01f in KPageWidgetModel::insertPage () from /usr/lib/libkdeui.so.5
#28 0xb7c18bc1 in KPageWidget::insertPage () from /usr/lib/libkdeui.so.5
#29 0xb7c120d1 in KPageDialog::insertPage () from /usr/lib/libkdeui.so.5
#30 0xb62a3b5b in KCMultiDialog::addModule () from /usr/lib/libkutils.so.4
#31 0xb62be5a1 in ?? () from /usr/lib/libkutils.so.4
#32 0xb62c0a8c in KSettings::Dialog::showEvent () from /usr/lib/libkutils.so.4
#33 0xb6e597d9 in QWidget::event () from /usr/lib/libQtGui.so.4
#34 0xb6e018ec in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#35 0xb6e0983a in QApplication::notify () from /usr/lib/libQtGui.so.4
#36 0xb7be0b2d in KApplication::notify () from /usr/lib/libkdeui.so.5
#37 0xb7711e61 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#38 0xb6e5c913 in QWidgetPrivate::show_helper () from /usr/lib/libQtGui.so.4
#39 0xb6e5ceb3 in QWidget::setVisible () from /usr/lib/libQtGui.so.4
#40 0xb726f7cd in QDialog::setVisible () from /usr/lib/libQtGui.so.4
#41 0xb7ec92d4 in Kontact::MainWindow::slotPreferences ()
   from /usr/lib/libkontactprivate.so.4
#42 0xb7ed2278 in Kontact::MainWindow::qt_metacall ()
   from /usr/lib/libkontactprivate.so.4
#43 0xb7726a60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#44 0xb7726e60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#45 0xb6dfb5f1 in QAction::triggered () from /usr/lib/libQtGui.so.4
#46 0xb6dfbf5f in QAction::activate () from /usr/lib/libQtGui.so.4
#47 0xb71d94e4 in ?? () from /usr/lib/libQtGui.so.4
#48 0xb71d9f72 in QMenu::mouseReleaseEvent () from /usr/lib/libQtGui.so.4
#49 0xb7cb5b95 in KMenu::mouseReleaseEvent () from /usr/lib/libkdeui.so.5
#50 0xb6e599a2 in QWidget::event () from /usr/lib/libQtGui.so.4
#51 0xb71dc269 in QMenu::event () from /usr/lib/libQtGui.so.4
#52 0xb6e018ec in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#53 0xb6e0a121 in QApplication::notify () from /usr/lib/libQtGui.so.4
#54 0xb7be0b2d in KApplication::notify () from /usr/lib/libkdeui.so.5
#55 0xb7711e61 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#56 0xb6e093ae in QApplicationPrivate::sendMouseEvent ()
   from /usr/lib/libQtGui.so.4
#57 0xb6e7391e in ?? () from /usr/lib/libQtGui.so.4
#58 0xb6e72a25 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#59 0xb6e9c7ea in ?? () from /usr/lib/libQtGui.so.4
#60 0xb552d6f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#61 0xb5530da3 in ?? () from /usr/lib/libglib-2.0.so.0
#62 0xb5530f61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#63 0xb773c478 in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#64 0xb6e9bee5 in ?? () from /usr/lib/libQtGui.so.4
#65 0xb771052a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#66 0xb77106ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#67 0xb7712da5 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#68 0xb6e01767 in QApplication::exec () from /usr/lib/libQtGui.so.4
#69 0x0804bf52 in _start ()
#0  0xb7f11430 in __kernel_vsyscall ()
Comment 1 Mirko C. 2008-11-09 13:59:32 UTC
> Version:           1.3 (using Devel)
> OS:                Linux
> Installed from:    Ubuntu repository
Comment 2 FiNeX 2008-11-10 14:46:21 UTC
I've reproduced the crash using r882292





Application: Kontact (kontact), signal SIGSEGV
 [?1034h[Thread debugging using libthread_db enabled]
0x00007fb720388261 in nanosleep () from /lib64/libc.so.6
[Current thread is 0 (LWP 8649)]

Thread 2 (Thread 0x420b0950 (LWP 8652)):
#0  0x00007fb7203b2662 in select () from /lib64/libc.so.6
#1  0x00007fb72b2438d6 in ?? () from /usr/lib64/libQtCore.so.4
#2  0x00007fb72b18d764 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007fb72af1e040 in start_thread () from /lib64/libpthread.so.0
#4  0x00007fb7203b90cd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fb72b6fb700 (LWP 8649)):
[KCrash Handler]
#5  Kpgp::Module::storePassPhrase (this=0x0) at /home/test/KDE4/src/kdepim/libkpgp/kpgp.cpp:186
#6  0x00007fb71511cdfd in Kpgp::Config::setValues (this=0xe3d890) at /home/test/KDE4/src/kdepim/libkpgp/kpgpui.cpp:227
#7  0x00007fb7151250dd in Config (this=0xe3d890, parent=<value optimized out>, encrypt=false) at /home/test/KDE4/src/kdepim/libkpgp/kpgpui.cpp:215
#8  0x00007fb7155fd0ba in PrivacyWidget (this=0xe39d60, inst=<value optimized out>, parent=<value optimized out>) at /home/test/KDE4/src/kdepim/knode/knconfigwidgets.cpp:1688
#9  0x00007fb7158f9541 in create_knode_config_privacy (parent=0xe357a0) at /home/test/KDE4/src/kdepim/knode/knconfigpages.cpp:178
#10 0x00007fb72199eef7 in KCModuleLoader::loadModule (mod=@0xe1c650, report=KCModuleLoader::Inline, parent=0xe357a0, args=@0xe1c620) at /home/test/KDE4/src/kdelibs/kutils/kcmoduleloader.cpp:112
#11 0x00007fb7219a437a in KCModuleProxyPrivate::loadModule (this=0xe1c620) at /home/test/KDE4/src/kdelibs/kutils/kcmoduleproxy.cpp:107
#12 0x00007fb7219a5365 in KCModuleProxy::realModule (this=<value optimized out>) at /home/test/KDE4/src/kdelibs/kutils/kcmoduleproxy.cpp:83
#13 0x00007fb7219a5379 in KCModuleProxy::minimumSizeHint (this=0x0) at /home/test/KDE4/src/kdelibs/kutils/kcmoduleproxy.cpp:346
#14 0x00007fb72a6cb8f3 in KPageViewPrivate::_k_modelChanged (this=0xb3d7b0) at /home/test/KDE4/src/kdelibs/kdeui/paged/kpageview.cpp:204
#15 0x00007fb72a6cbac9 in KPageView::qt_metacall (this=0x9284d0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff3373f480)
    at /home/test/KDE4/src/build/kdelibs/kdeui/kpageview.moc:92
#16 0x00007fb72a6ced26 in KPageWidget::qt_metacall (this=0x0, _c=863233632, _id=35, _a=0xe3e1c0) at /home/test/KDE4/src/build/kdelibs/kdeui/kpagewidget.moc:69
#17 0x00007fb72b2704e0 in QMetaObject::activate () from /usr/lib64/libQtCore.so.4
#18 0x00007fb7219a0757 in KCMultiDialog::addModule (this=0xb437f0, moduleInfo=@0xca23e0, parentItem=0xb3afb0, args=<value optimized out>)
    at /home/test/KDE4/src/kdelibs/kutils/kcmultidialog.cpp:305
#19 0x00007fb7219b91a6 in KSettings::DialogPrivate::createDialogFromServices (this=0x832950) at /home/test/KDE4/src/kdelibs/kutils/ksettings/dialog.cpp:323
#20 0x00007fb7219bb277 in KSettings::Dialog::showEvent (this=0xb437f0) at /home/test/KDE4/src/kdelibs/kutils/ksettings/dialog.cpp:120
#21 0x00007fb7225d52bc in QWidget::event () from /usr/lib64/libQtGui.so.4
#22 0x00007fb72258892d in QApplicationPrivate::notify_helper () from /usr/lib64/libQtGui.so.4
#23 0x00007fb72258ecfa in QApplication::notify () from /usr/lib64/libQtGui.so.4
#24 0x00007fb72a69dd8b in KApplication::notify (this=0x7fff33741eb0, receiver=0xb437f0, event=0x7fff33740370) at /home/test/KDE4/src/kdelibs/kdeui/kernel/kapplication.cpp:307
#25 0x00007fb72b25ee9c in QCoreApplication::notifyInternal () from /usr/lib64/libQtCore.so.4
#26 0x00007fb7225d5bc1 in QWidgetPrivate::show_helper () from /usr/lib64/libQtGui.so.4
#27 0x00007fb7225d60ea in QWidget::setVisible () from /usr/lib64/libQtGui.so.4
Comment 3 Volker Krause 2008-11-11 10:09:43 UTC
Hm, seen this before, there are likely duplicates of this out there. IIRC the important thing to reproduce this is to have KMail running standalone while launching Kontact.
Comment 4 FiNeX 2008-11-11 11:34:16 UTC
I've not had a standalone kmail running when I've reproduced the crash :-(
Comment 5 Olivier Trichet 2008-11-11 12:39:54 UTC
The problem is that in libkpgp, the singleton Kpgp::Module::kpgpObject is not initialize/retrieved safely, hence this null pointer access.
I'm working on it.
Comment 6 Olivier Trichet 2008-11-11 19:09:48 UTC
Created attachment 28497 [details]
Ensure internally to libkpgp that the Kgpg::Module singleton is not null

Is the removal of attributes in KNMainWidget and KNGlobals ok ?
Could the Module() constructor be made private ?
Comment 7 Olivier Trichet 2008-11-14 20:53:31 UTC
SVN commit 884374 by otrichet:

Ensure the singleton Kpgp::Module::kpgpObject is correctly instanciated
 - Remove an unecessary call to Module() in kmail (used to initialize the singleton)
 - Adapt knode

CCBUG: 174707


 M  +0 -2      kmail/kmkernel.cpp  
 M  +0 -1      kmail/messagecomposer.cpp  
 M  +0 -1      kmail/messagecomposer.h  
 M  +1 -1      knode/articlewidget.cpp  
 M  +0 -1      knode/kncomposer.cpp  
 M  +0 -1      knode/knconfigwidgets.cpp  
 M  +0 -4      knode/knglobals.h  
 M  +0 -7      knode/knmainwidget.cpp  
 M  +0 -1      knode/knmainwidget.h  
 M  +1 -5      libkpgp/kpgp.cpp  
 M  +6 -2      libkpgp/kpgp.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=884374
Comment 8 Christophe Marin 2008-11-15 16:26:00 UTC
*** Bug 167386 has been marked as a duplicate of this bug. ***
Comment 9 Thomas McGuire 2008-11-30 16:14:46 UTC
SVN commit 890871 by tmcguire:

Backport r884374 by otrichet from trunk to the 4.1 branch:

Ensure the singleton Kpgp::Module::kpgpObject is correctly instanciated
 - Remove an unecessary call to Module() in kmail (used to initialize the singleton)
 - Adapt knode

CCBUG: 174707



 M  +0 -2      kmail/kmkernel.cpp  
 M  +0 -1      kmail/messagecomposer.cpp  
 M  +0 -1      kmail/messagecomposer.h  
 M  +1 -1      knode/articlewidget.cpp  
 M  +0 -1      knode/kncomposer.cpp  
 M  +0 -1      knode/knconfigwidgets.cpp  
 M  +0 -4      knode/knglobals.h  
 M  +0 -7      knode/knmainwidget.cpp  
 M  +0 -1      knode/knmainwidget.h  
 M  +1 -5      libkpgp/kpgp.cpp  
 M  +6 -2      libkpgp/kpgp.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=890871
Comment 10 Allen Winter 2008-12-05 02:47:26 UTC
*** Bug 171640 has been marked as a duplicate of this bug. ***
Comment 11 FiNeX 2008-12-24 18:47:48 UTC
*** Bug 178676 has been marked as a duplicate of this bug. ***