Bug 337876

Summary: kontact immediately crashes (SIGSEGV) on startup
Product: [Applications] kontact Reporter: Thorsten Glaser <t.glaser>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: montel, pali.rohar, snowhg, tlnd
Priority: NOR Keywords: drkonqi
Version: 4.12.4   
Target Milestone: ---   
Platform: Debian unstable   
OS: Linux   
URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756376
Latest Commit: Version Fixed In:

Description Thorsten Glaser 2014-07-29 08:06:46 UTC
Application: kontact (4.12.4)
KDE Platform Version: 4.13.3
Qt Version: 4.8.6
Operating System: Linux 3.14-2-amd64 i686
Distribution: Debian GNU/Linux unstable (sid)

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

I was trying to start Kontact. The crash repeats every time I do so.
Looking at the bugreport drkonqui suggested, I can confirm that starting kmail does not at least immediately crash. (But I need Kontact for the PIM and integration functionality. I do have pine as MUA.)

The situation arose after a dist-upgrade within Debian sid, the most noteworthy of changes was PostgreSQL 9.3 → 9.4.

- Custom settings of the application:

Akonadi uses the system PostgreSQL database.

The crash can be reproduced every time.

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
[Current thread is 1 (Thread 0xf2012800 (LWP 3091))]

Thread 3 (Thread 0xef4efb40 (LWP 3092)):
#0  0xf7700425 in __kernel_vsyscall ()
#1  0xf3927c4b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:187
#2  0xf5ee5c7c in __pthread_cond_wait (cond=0xf554fe30, mutex=0xf554fe18) at forward.c:149
#3  0xf4df8fe9 in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#4  0xf4df907f in ?? () from /usr/lib/i386-linux-gnu/libQtWebKit.so.4
#5  0xf3923efb in start_thread (arg=0xef4efb40) at pthread_create.c:309
#6  0xf5ed90ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 2 (Thread 0xeebceb40 (LWP 3093)):
#0  0xf7700425 in __kernel_vsyscall ()
#1  0xf5ece8ab in poll () at ../sysdeps/unix/syscall-template.S:81
#2  0xf384d38b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xf383e518 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xf383e658 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xf6235bf4 in QEventDispatcherGlib::processEvents (this=0xee200468, flags=...) at kernel/qeventdispatcher_glib.cpp:427
#6  0xf6204233 in QEventLoop::processEvents (this=0xeebce1c8, flags=...) at kernel/qeventloop.cpp:149
#7  0xf620456e in QEventLoop::exec (this=0xeebce1c8, flags=...) at kernel/qeventloop.cpp:204
#8  0xf60f1ad0 in QThread::exec (this=0x92f1128) at thread/qthread.cpp:538
#9  0xf60f1ca8 in QThread::run (this=0x92f1128) at thread/qthread.cpp:605
#10 0xf60f45c3 in QThreadPrivate::start (arg=0x92f1128) at thread/qthread_unix.cpp:349
#11 0xf3923efb in start_thread (arg=0xeebceb40) at pthread_create.c:309
#12 0xf5ed90ee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129

Thread 1 (Thread 0xf2012800 (LWP 3091)):
[KCrash Handler]
#7  0x0424448b in ?? ()
#8  0xf621bf5c in QObject::connect (sender=0xed5e6b6c, signal=0xf76d6326 "2destroyed()", receiver=0x944f730, method=0xf76d6315 "1partDestroyed()", type=Qt::AutoConnection) at kernel/qobject.cpp:2574
#9  0xf76d38b3 in connect (atype=Qt::AutoConnection, amember=0xf76d6315 "1partDestroyed()", asignal=0xf76d6326 "2destroyed()", asender=<optimized out>, this=0x944f730) at /usr/include/qt4/QtCore/qobject.h:339
#10 KontactInterface::Plugin::part (this=0x944f730) at ../../kontactinterface/plugin.cpp:195
#11 0xf769a9b9 in Kontact::MainWindow::selectPlugin(KontactInterface::Plugin*) () from /usr/lib/libkontactprivate.so.4
#12 0xf76982dc in Kontact::MainWindow::loadSettings() () from /usr/lib/libkontactprivate.so.4
#13 0xf769e184 in Kontact::MainWindow::initObject() () from /usr/lib/libkontactprivate.so.4
#14 0xf769e8e1 in Kontact::MainWindow::MainWindow() () from /usr/lib/libkontactprivate.so.4
#15 0x0804b51f in _start ()

The reporter indicates this bug may be a duplicate of or related to bug 332345.

Possible duplicates by query: bug 333689, bug 332359, bug 332345.

Reported using DrKonqi
Comment 1 tlnd 2014-07-29 11:01:38 UTC
I have a similar setup (Debian unstable, amd64) and faced the same problem after my last update. I noted that libkontactinterface4 was updated from 4:4.12.4-1 to 4:4.13.3-1. Downgrading it back to 4:4.12.4-1 (using the package from debian testing) helped.

It seems to be a debian packaging problem mixing up kde 4.12 and kde 4.13 stuff...
Comment 2 Thorsten Glaser 2014-07-29 11:12:06 UTC
Thanks, that helped (I’m on i386, but it’s apparently an mi bug).

I filed this as: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756376
Crossreferencing on both sides.
Comment 3 Thorsten Glaser 2014-07-29 11:12:33 UTC
Thanks, that helped (I’m on i386, but it’s apparently an mi bug).

I filed this as: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756376
Crossreferencing on both sides.

Haha… submitting this, I get:

An unexpected error occurred. This could be a temporary problem, or some code is behaving incorrectly. If this problem persists, please email this page to sysadmin@kde.org with details of what you were doing at the time this message appeared. 
 
URL: https://bugs.kde.org/process_bug.cgi
 
undef error - This shouldn't happen at /usr/share/perl/5.18/Text/Wrap.pm line 84. 
  Traceback:
Comment 4 didi.debian 2014-07-30 07:26:02 UTC
It looks like I got this issue too, but it looks like I got a better backtrace:

Application: Kontact (kontact), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5ff18b2900 (LWP 1882))]

Thread 3 (Thread 0x7f5fd5131700 (LWP 1883)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5fec6767d2 in WTF::TCMalloc_PageHeap::scavengerThread (this=<optimized out>) at wtf/FastMalloc.cpp:2499
#2  0x00007f5fec676809 in WTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at wtf/FastMalloc.cpp:1622
#3  0x00007f5fe952c0a4 in start_thread (arg=0x7f5fd5131700) at pthread_create.c:309
#4  0x00007f5feedc704d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f5fd4820700 (LWP 1884)):
#0  0x00007f5fe908d62a in g_mutex_get_impl (mutex=0x7f5fd00009a0) at /tmp/buildd/glib2.0-2.40.0/./glib/gthread-posix.c:120
#1  0x00007f5fe908d9b9 in g_mutex_unlock (mutex=mutex@entry=0x7f5fd00009a0) at /tmp/buildd/glib2.0-2.40.0/./glib/gthread-posix.c:228
#2  0x00007f5fe904b680 in g_main_context_prepare (context=context@entry=0x7f5fd00009a0, priority=priority@entry=0x7f5fd481fba8) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3350
#3  0x00007f5fe904bf03 in g_main_context_iterate (context=context@entry=0x7f5fd00009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3714
#4  0x00007f5fe904c0ec in g_main_context_iteration (context=0x7f5fd00009a0, may_block=1) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#5  0x00007f5fef53e017 in QEventDispatcherGlib::processEvents (this=0x7f5fd00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f5fef50f4f1 in QEventLoop::processEvents (this=this@entry=0x7f5fd481fce0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f5fef50f805 in QEventLoop::exec (this=this@entry=0x7f5fd481fce0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f5fef40dc39 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:538
#9  0x00007f5fef41039f in QThreadPrivate::start (arg=0x1353520) at thread/qthread_unix.cpp:349
#10 0x00007f5fe952c0a4 in start_thread (arg=0x7f5fd4820700) at pthread_create.c:309
#11 0x00007f5feedc704d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f5ff18b2900 (LWP 1882)):
[KCrash Handler]
#6  0x00007f5fef525b6b in QObject::connect (sender=0x7f5f8d3506f8 <vtable for KMailPlugin+24>, signal=signal@entry=0x7f5ff14e0a6e "2destroyed()", receiver=receiver@entry=0x16b2d50, method=method@entry=0x7f5ff14e0a5d "1partDestroyed()", type=type@entry=Qt::AutoConnection) at kernel/qobject.cpp:2574
#7  0x00007f5ff14de3f9 in connect (atype=Qt::AutoConnection, amember=0x7f5ff14e0a5d "1partDestroyed()", asignal=0x7f5ff14e0a6e "2destroyed()", asender=<optimized out>, this=0x16b2d50) at /usr/include/qt4/QtCore/qobject.h:339
#8  KontactInterface::Plugin::part (this=0x16b2d50) at ../../kontactinterface/plugin.cpp:195
#9  0x00007f5ff10a5a81 in Kontact::MainWindow::selectPlugin (this=0x148a900, plugin=0x16b2d50) at ../../../kontact/src/mainwindow.cpp:815
#10 0x00007f5ff10a36ec in Kontact::MainWindow::loadSettings (this=this@entry=0x148a900) at ../../../kontact/src/mainwindow.cpp:984
#11 0x00007f5ff10a8d52 in Kontact::MainWindow::initObject (this=this@entry=0x148a900) at ../../../kontact/src/mainwindow.cpp:247
#12 0x00007f5ff10a9458 in Kontact::MainWindow::MainWindow (this=0x148a900, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ../../../kontact/src/mainwindow.cpp:154
#13 0x0000000000404084 in KontactApp::newInstance (this=0x7fff797985e0) at ../../../kontact/src/main.cpp:135
#14 0x00007f5ff0c5887a in KUniqueApplicationAdaptor::newInstance (this=0x14e62b0, asn_id=..., args=...) at ../../kdeui/kernel/kuniqueapplication.cpp:442
#15 0x00007f5ff0c58915 in KUniqueApplicationAdaptor::qt_static_metacall (_o=_o@entry=0x14e62b0, _id=_id@entry=0, _a=_a@entry=0x7fff79797c90, _c=QMetaObject::InvokeMetaMethod) at ./kuniqueapplication_p.moc:57
#16 0x00007f5ff0c58b23 in qt_static_metacall (_a=0x7fff79797c90, _id=0, _c=QMetaObject::InvokeMetaMethod, _o=0x14e62b0) at ./kuniqueapplication_p.moc:100
#17 KUniqueApplicationAdaptor::qt_metacall (this=0x14e62b0, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff79797c90) at ./kuniqueapplication_p.moc:101
#18 0x00007f5fee11ebf6 in QDBusConnectionPrivate::deliverCall (this=this@entry=0x1331180, object=object@entry=0x14e62b0, msg=..., metaTypes=..., slotIdx=4) at qdbusintegrator.cpp:951
#19 0x00007f5fee11fd29 in QDBusConnectionPrivate::activateCall (this=this@entry=0x1331180, object=0x14e62b0, flags=flags@entry=337, msg=...) at qdbusintegrator.cpp:856
#20 0x00007f5fee120798 in QDBusConnectionPrivate::activateObject (this=0x1331180, node=..., msg=..., pathStartPos=<optimized out>) at qdbusintegrator.cpp:1427
#21 0x00007f5fee12091b in QDBusActivateObjectEvent::placeMetaCall (this=0x14f3580) at qdbusintegrator.cpp:1541
#22 0x00007f5fef528f41 in QObject::event (this=this@entry=0x7fff797985e0, e=e@entry=0x14f3580) at kernel/qobject.cpp:1222
#23 0x00007f5fef514ebc in QCoreApplication::event (this=this@entry=0x7fff797985e0, e=e@entry=0x14f3580) at kernel/qcoreapplication.cpp:1765
#24 0x00007f5feff21cf3 in QApplication::event (this=0x7fff797985e0, e=0x14f3580) at kernel/qapplication.cpp:2549
#25 0x00007f5feff1cc0c in QApplicationPrivate::notify_helper (this=this@entry=0x13503e0, receiver=receiver@entry=0x7fff797985e0, e=e@entry=0x14f3580) at kernel/qapplication.cpp:4570
#26 0x00007f5feff23360 in QApplication::notify (this=this@entry=0x7fff797985e0, receiver=receiver@entry=0x7fff797985e0, e=e@entry=0x14f3580) at kernel/qapplication.cpp:4356
#27 0x00007f5ff0c5179a in KApplication::notify (this=0x7fff797985e0, receiver=0x7fff797985e0, event=0x14f3580) at ../../kdeui/kernel/kapplication.cpp:311
#28 0x00007f5fef51086d in QCoreApplication::notifyInternal (this=0x7fff797985e0, receiver=receiver@entry=0x7fff797985e0, event=event@entry=0x14f3580) at kernel/qcoreapplication.cpp:953
#29 0x00007f5fef513f41 in sendEvent (event=0x14f3580, receiver=0x7fff797985e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#30 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x130f1d0) at kernel/qcoreapplication.cpp:1577
#31 0x00007f5fef5143d3 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1470
#32 0x00007f5fef53deb3 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#33 postEventSourceDispatch (s=0x1340a60) at kernel/qeventdispatcher_glib.cpp:280
#34 0x00007f5fe904be04 in g_main_dispatch (context=0x1350780) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3064
#35 g_main_context_dispatch (context=context@entry=0x1350780) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3663
#36 0x00007f5fe904c048 in g_main_context_iterate (context=context@entry=0x1350780, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3734
#37 0x00007f5fe904c0ec in g_main_context_iteration (context=0x1350780, may_block=1) at /tmp/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#38 0x00007f5fef53dffd in QEventDispatcherGlib::processEvents (this=0x13106b0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#39 0x00007f5feffbc2c6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#40 0x00007f5fef50f4f1 in QEventLoop::processEvents (this=this@entry=0x7fff797984f0, flags=...) at kernel/qeventloop.cpp:149
#41 0x00007f5fef50f805 in QEventLoop::exec (this=this@entry=0x7fff797984f0, flags=...) at kernel/qeventloop.cpp:204
#42 0x00007f5fef514f67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225
#43 0x00007f5feff1b1fc in QApplication::exec () at kernel/qapplication.cpp:3828
#44 0x0000000000403660 in main (argc=1, argv=0x7fff79798728) at ../../../kontact/src/main.cpp:219
Comment 5 didi.debian 2014-07-30 07:37:45 UTC
Tried to report it with KDE's bug reporting assistant (BRA), but got an error.
Anyway, this was the additional info the BRA provided (backtrace was the same as already reported by me):

Application: kontact (4.12.4)
KDE Platform Version: 4.13.3
Qt Version: 4.8.6
Operating System: Linux 3.14-2-amd64 x86_64
Distribution: Debian GNU/Linux unstable (sid)

-- Information about the crash:
- What I was doing when the application crashed:
Tried to start Kontact and it crashed immediately.
Sune on #debian-kde asked whether it was the same report as this one and it surely looks like it. Already posted the backtrace, but now doing it again with KDE's Crash Reporting Assistant since it may provide some more info.
Starting KMail standalone worked, as in it didn't crash immediately. Haven't really used it though as in sending a mail or sth like that.

The crash can be reproduced every time.
Comment 6 didi.debian 2014-07-30 08:00:36 UTC
downgrading libkontactinterface4 to 4.12.4-1 fixed the issue for me too.

Got the same issue on this bug tracker as in comment#3 LOL
Comment 7 didi.debian 2014-07-30 08:10:09 UTC
Apparently the bug was introduced in commit 9122c2841ea25abd598308f6b8c3c303e6f74570
Comment 8 Pali Rohár 2015-02-28 13:18:41 UTC
Looks like commit 9122c2841ea25abd598308f6b8c3c303e6f74570 should be reason for crash. It adds new virtual function which modify virtual table for all objects. So it changes ABI of KontactInterface::Plugin class.

I can confirm this crash. When I use kontact from kdepim KDE4.4 compiled against kdepimlibs KDE4.4 and upgraded kdepimlibs to KDE4.14, then I see same crash.

I think that kdepimlibs should be backward compatible and should not change ABI without increasing MAJOR version.

Commit 9122c2841ea25abd598308f6b8c3c303e6f74570 increased just PATH version, which broke ABI compatibility...

CCing Montel Laurent who is author of that problematic commit. Can you comment to this bug?
Comment 9 Pali Rohár 2015-02-28 13:19:15 UTC
*** Bug 332345 has been marked as a duplicate of this bug. ***
Comment 10 Denis Kurz 2016-09-24 19:33:39 UTC
This bug has only been reported for versions before 4.14, which have been unsupported for at least two years now. Can anyone tell if this bug still present?

If noone confirms this bug for a Framework-based version of kontact (version 5.0 or later, as part of KDE Applications 15.08 or later), it gets closed in about three months.
Comment 11 Denis Kurz 2017-01-07 21:31:29 UTC
Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.0 aka 15.08), please open a new one unless it already exists. Thank you for all your input.
Comment 12 Pali Rohár 2017-01-07 21:38:32 UTC
Hi Denis! As I wrote in comment #8 this is problem with ABI incompatibility. If you compiled Kontact plugins against old KontactInterface and then used plugins in new Kontact it crash. If you recompiled plugins against current running version, then it worked fine.