Summary: | Kmail/Kontact crash | ||
---|---|---|---|
Product: | [Applications] kontact | Reporter: | avlas <jsardid> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | CC: | jsardid |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Neon | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | valgrind report |
Description
avlas
2018-12-17 18:26:00 UTC
Not sure if related to any of these two thing: - I deleted two identities from the 4 I had - Kmail got updated in neon recently (25 iteration), but downgrading to 24 iteration did not fix it *** This bug has been marked as a duplicate of bug 401739 *** FYI: Internally it may be similar (or even the same) to other bugs, but the crash I talk about is not at exit (bug 402129), neither I can open kontact/kmail at all to see an empty window thereafter (bug 401739). Can you please share if someone is trying to fix this issue(-s) at the moment? Or if is there anything I can test to speed up a fix? I don't want to be pushy but I use kontact/kmail in production and not being able to even open the application makes me pretty anxious. I hope you understand. Excuse my ignorance but I wonder how can they be duplicates if they originate at different source code locations? Or am I looking at it wrong? this bug: #25 0x00007f761b9d2a3d in KontactInterface::PimUniqueApplication::start(QStringList const&, bool) () at /usr/lib/x86_64-linux-gnu/libKF5KontactInterface.so.5 #26 0x000055dd3b40f421 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:212 bug 401201: #38 0x0000563afc8a133b in main (argc=<optimized out>, argv=<optimized out>) at /usr/include/qt5/QtCore/qcoreapplication.h:116 [Inferior 1 (process 4173) detached] Unfortunately other bugs do not seem as informative (In reply to avlas from comment #4) > Excuse my ignorance but I wonder how can they be duplicates if they > originate at different source code locations? Or am I looking at it wrong? > > this bug: > > #25 0x00007f761b9d2a3d in > KontactInterface::PimUniqueApplication::start(QStringList const&, bool) () > at /usr/lib/x86_64-linux-gnu/libKF5KontactInterface.so.5 > #26 0x000055dd3b40f421 in main(int, char**) (argc=<optimized out>, > argv=<optimized out>) at ./src/main.cpp:212 > > bug 401201: > > #38 0x0000563afc8a133b in main (argc=<optimized out>, argv=<optimized out>) > at /usr/include/qt5/QtCore/qcoreapplication.h:116 > [Inferior 1 (process 4173) detached] > > Unfortunately other bugs do not seem as informative Oops, sorry, I meant in comparison to bug 401739 I recall now that it crashed when trying to reply to an email, and each time I try to start kmail/kontact it tries to open the composer and crashes again (see the kmail backtrace below, which I hope is more informative than the kontact one, I submitted before). Is there a way to avoid opening the composer at startup, like removing some cache or something? that could help me to get stacked with it for now, until a proper fix is find. Help on this is highly appreciated! Application: KMail (kmail), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f6aa1cccbc0 (LWP 19922))] Thread 6 (Thread 0x7f6a5ca31700 (LWP 19927)): #0 0x00007f6a9ed8fbf9 in poll () at /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f6a9268b539 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f6a9268b64c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f6a9f6ca04b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007f6a9f66e30a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f6a9f499bba in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007f6a9f4a4adb in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007f6a945576db in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0 #8 0x00007f6a9ed9c88f in clone () at /lib/x86_64-linux-gnu/libc.so.6 Thread 5 (Thread 0x7f6a5d232700 (LWP 19926)): #0 0x00007f6a9455f06a in pthread_getspecific () at /lib/x86_64-linux-gnu/libpthread.so.0 #1 0x00007f6a926b35f0 in g_thread_self () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f6a9268b63d in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f6a9f6ca04b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007f6a9f66e30a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f6a9f499bba in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007f6a9f4a4adb in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007f6a945576db in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0 #8 0x00007f6a9ed9c88f in clone () at /lib/x86_64-linux-gnu/libc.so.6 Thread 4 (Thread 0x7f6a5e0d1700 (LWP 19925)): #0 0x00007f6a926d1064 in g_mutex_unlock () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f6a9268aa88 in g_main_context_prepare () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f6a9268b46b in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f6a9268b64c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f6a9f6ca04b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f6a9f66e30a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007f6a9f499bba in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007f6a9f4a4adb in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007f6a945576db in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0 #9 0x00007f6a9ed9c88f in clone () at /lib/x86_64-linux-gnu/libc.so.6 Thread 3 (Thread 0x7f6a5f2e2700 (LWP 19924)): #0 0x00007f6a926d1064 in g_mutex_unlock () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f6a9268ad39 in g_main_context_query () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f6a9268b4b7 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f6a9268b64c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f6a9f6ca04b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f6a9f66e30a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007f6a9f499bba in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007f6a9da7fe45 in () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #8 0x00007f6a9f4a4adb in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #9 0x00007f6a945576db in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0 #10 0x00007f6a9ed9c88f in clone () at /lib/x86_64-linux-gnu/libc.so.6 Thread 2 (Thread 0x7f6a6903c700 (LWP 19923)): #0 0x00007f6a9ed8fbf9 in poll () at /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f6a91ab5747 in () at /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007f6a91ab736a in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007f6a6ad40ed9 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #4 0x00007f6a9f4a4adb in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f6a945576db in start_thread () at /lib/x86_64-linux-gnu/libpthread.so.0 #6 0x00007f6a9ed9c88f in clone () at /lib/x86_64-linux-gnu/libc.so.6 Thread 1 (Thread 0x7f6aa1cccbc0 (LWP 19922)): [KCrash Handler] #6 0x00007f6a9f69d0fa in QObject::property(char const*) const () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007f6a9e7ba1ab in () at /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #8 0x00007f6a9e7bb209 in KXMLGUIFactory::plugActionList(KXMLGUIClient*, QString const&, QList<QAction*> const&) () at /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #9 0x00007f6aa16481be in KMComposerWin::initializePluginActions() (this=this@entry=0x559808494cf0) at ./src/editor/kmcomposerwin.cpp:1361 #10 0x00007f6aa164e6a9 in KMComposerWin::setupActions() (this=this@entry=0x559808494cf0) at ./src/editor/kmcomposerwin.cpp:1299 #11 0x00007f6aa165d93f in KMComposerWin::KMComposerWin(QSharedPointer<KMime::Message> const&, bool, bool, KMail::Composer::TemplateContext, unsigned int, QString const&, QString const&) (this=this@entry=0x559808494cf0, aMsg=..., lastSignState=lastSignState@entry=false, lastEncryptState=lastEncryptState@entry=false, context=context@entry=KMail::Composer::NoTemplate, id=id@entry=0, textSelection=..., customTemplate=..., __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at ./src/editor/kmcomposerwin.cpp:440 #12 0x00007f6aa165e431 in KMComposerWin::create(QSharedPointer<KMime::Message> const&, bool, bool, KMail::Composer::TemplateContext, unsigned int, QString const&, QString const&) (msg=..., lastSignState=lastSignState@entry=false, lastEncryptState=lastEncryptState@entry=false, context=context@entry=KMail::Composer::NoTemplate, identity=identity@entry=0, textSelection=..., customTemplate=...) at ./src/editor/kmcomposerwin.cpp:226 #13 0x00007f6aa165e46c in KMail::makeComposer(QSharedPointer<KMime::Message> const&, bool, bool, KMail::Composer::TemplateContext, unsigned int, QString const&, QString const&) (msg=..., lastSignState=lastSignState@entry=false, lastEncryptState=lastEncryptState@entry=false, context=context@entry=KMail::Composer::NoTemplate, identity=identity@entry=0, textSelection=..., customTemplate=...) at ./src/editor/kmcomposerwin.cpp:220 #14 0x00007f6aa155bbb4 in KMKernel::recoverDeadLetters() (this=<optimized out>) at ./src/kmkernel.cpp:985 #15 0x0000559806f7f825 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:163 ... that could help me to *avoid getting* stacked... All duplicates originate from KMMainWidget::initializePluginActions() calling into KXMLGUI, and causing a crash there in KXMLGUIFactory::plugActionList(). If you want to help, you could install debug symbols for libKF5XmlGui.so.5 and try to get a valgrind log. For more information, please see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_with_Valgrind Please also check if moving kmail2's *.rc helps. The *.rc files are in ~/.local/share/kxmlgui5/ Created attachment 116996 [details]
valgrind report
(In reply to Christoph Feck from comment #8) > All duplicates originate from KMMainWidget::initializePluginActions() > calling into KXMLGUI, and causing a crash there in > KXMLGUIFactory::plugActionList(). I see > If you want to help, you could install debug symbols for libKF5XmlGui.so.5 > and try to get a valgrind log. For more information, please see > https://community.kde.org/Guidelines_and_HOWTOs/Debugging/ > How_to_create_useful_crash_reports#Retrieving_a_backtrace_with_Valgrind Done > Please also check if moving kmail2's *.rc helps. The *.rc files are in > ~/.local/share/kxmlgui5/ I don't have any kmail rc file there, I have for other applications but not for kmail, which I guess means I just use default. (In reply to avlas from comment #10) > > Please also check if moving kmail2's *.rc helps. The *.rc files are in > > ~/.local/share/kxmlgui5/ > > I don't have any kmail rc file there, I have for other applications but not > for kmail, which I guess means I just use default. Talked too early, I do have one for kontact as I never use kmail as a stand-alone application. Unfortunately moving kontact's rc file didn't fix the issue. I hope the valgrind report is helpful. If there is anything that can be improved or you would like me to test other things, please don't hesitate to ask. To play a bit myself, yesterday I tried to build kmail from source in kde neon (user edition), but cmakelist complains about the version of installed dev packages. I guess the version in the official user repo are not sufficiently up-to-date. If you are able to build from git source, you could use 'git checkout Applications/YY.MM' to get the source of a specific version. KMail 5.10 is Applications/18.12, 5.9 is 18.08 etc. The valgrind log unfortunately does not reveal much information; we see that 'KXMLGUIFactoryPrivate::refreshActionProperties()' tries to access a null object. More investigation from a KDEPIM developer is needed. FYI, I found a way to start kmail normally after removing the autosave folder in ~/.local/share/kmail2 (In reply to avlas from comment #14) > FYI, I found a way to start kmail normally after removing the autosave > folder in ~/.local/share/kmail2 This doesn't mean kmail works normally. I cannot write/reply or forward any e-mail, without restarting the loop, i.e. kontact/kmail crashing and repeating that behavior until I remove the autosave folder (or its contents) again... so I guess the bug is triggered right before or at the compose window startup (note that I never reach to see the compose window, kontact crashes before). I figured out that the Kontact/Kmail crash happens only if I enable "Share text" in "Editor connectors" of the Kmail settings (sorry if this doesn't fully correspond to the English labels, I have my system in a different language). After disabling that connector, Kontact is again fully functional. Hope this helps affected users, as well as developers to reproduce and fix the issue. |