Summary: | Kopete crashes on exit. Every time, all the time. | ||
---|---|---|---|
Product: | [Unmaintained] kopete | Reporter: | jeremiah |
Component: | general | Assignee: | Kopete Developers <kopete-bugs-null> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | cpigat242, jeremiah, pali.rohar |
Priority: | NOR | Keywords: | drkonqi, triaged |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
jabber qpointer patch |
Description
jeremiah
2016-03-10 21:25:00 UTC
Please install debug systems and provide backtrace again. Instructions for doing so on OpenSUSE Tumbleweed?
On Saturday, March 12, 2016 5:02:17 PM EST you wrote:
> https://bugs.kde.org/show_bug.cgi?id=360384
>
> Pali Rohár <pali.rohar@gmail.com> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> Resolution|--- |BACKTRACE
> CC| |pali.rohar@gmail.com
> Status|UNCONFIRMED |NEEDSINFO
>
> --- Comment #1 from Pali Rohár <pali.rohar@gmail.com> ---
> Please install debug systems and provide backtrace again.
Sorry, I have no idea how your distribution is working. Consult documentation or support. Basically debug symbols are often in distribution package -debug or -dbg. If your distribution does not provide them, you need to compile Kopete from source. Is that for kopete, or for every framework it touches?
System specific instructions would be great -- but some description of what's
needed that is useful to mere mortals would be a fine start: Pretend I don't
know anything about your debugging process at all.
On Saturday, March 12, 2016 5:20:55 PM EDT you wrote:
> https://bugs.kde.org/show_bug.cgi?id=360384
>
> --- Comment #3 from Pali Rohár <pali.rohar@gmail.com> ---
> Sorry, I have no idea how your distribution is working. Consult
> documentation or support. Basically debug symbols are often in distribution
> package -debug or -dbg. If your distribution does not provide them, you
> need to compile Kopete from source.
It should be application independent, but I do not instructions for your distribution... Try to look ak kopete-debug or kopete-dbg packages... Created attachment 97914 [details]
New crash information added by DrKonqi
kopete (1.8.2) on KDE Platform 4.14.17 using Qt 4.8.7
- What I was doing when the application crashed:
Fresh restart of system. Logged in to KDE Plasma 5 Environment. Opened Kopete. Selected Status: Online. Kopete connected to two accounts (gmail, jabber) Quit, and here we are...
- Custom settings of the application:
Referenced in previous report.
-- Backtrace (Reduced):
#6 0x00007fa7f3c2ae74 in Kopete::Account::myself() const (this=this@entry=0x556e2f979930) at /usr/src/debug/kopete-15.12.2/libkopete/kopeteaccount.cpp:539
#7 0x00007fa7f3c2ae89 in Kopete::Account::isConnected() const (this=0x556e2f979930) at /usr/src/debug/kopete-15.12.2/libkopete/kopeteaccount.cpp:499
#8 0x00007fa7d70b5fa7 in JabberCapabilitiesManager::CapabilitiesInformation::nextJid(XMPP::Jid const&, XMPP::Task const*) (this=<optimized out>, jid=..., t=t@entry=0x556e2f9f2f90) at /usr/src/debug/kopete-15.12.2/protocols/jabber/jabbercapabilitiesmanager.cpp:214
#9 0x00007fa7d70bb37a in JabberCapabilitiesManager::discoRequestFinished() (this=0x556e2f7c6730) at /usr/src/debug/kopete-15.12.2/protocols/jabber/jabbercapabilitiesmanager.cpp:486
#10 0x00007fa7d70bd0ad in JabberCapabilitiesManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kopete-15.12.2/build/protocols/jabber/jabbercapabilitiesmanager.moc:58
Hm... this looks very strange. No idea why it crash. If you can reproduce this crash at 100% please install valgrind and run in terminal kopete under valgrind as: $ valgrind kopete --nofork And post output from terminal. valgrind kopete --nofork
==11399== Memcheck, a memory error detector
==11399== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==11399== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==11399== Command: kopete --nofork
==11399==
kopete(11399)/kdecore (KLibrary) kde4Factory: The library "/usr/lib64/kde4/
kopete_history.so" does not offer a qt_plugin_instance function.
kopete(11399)/libkopete Kopete::PluginManager::loadPluginInternal: Unable to
find a plugin named ' "" '!
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 794
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 7
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 794
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 795
Unknown signature value: 7
Unknown signature value: 795
unexpected version response
unexpected version response
QMetaObject::invokeMethod: No such method HistoryPlugin::shouldExitOnClose()
QMetaObject::invokeMethod: No such method JabberProtocol::shouldExitOnClose()
QMetaObject::invokeMethod: No such method Kopete::Plugin::shouldExitOnClose()
QMetaObject::invokeMethod: No such method Kopete::Plugin::shouldExitOnClose()
QProcess: Destroyed while process is still running.
==11399== Invalid read of size 8
==11399== at 0x596EE70: Kopete::Account::myself() const (in /usr/lib64/
libkopete.so.4.14.17)
==11399== by 0x596EE88: Kopete::Account::isConnected() const (in /usr/
lib64/libkopete.so.4.14.17)
==11399== by 0x1F0B4FA6: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x1F0BA379: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x1F0BC0AC: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x70BDF6F: QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0x1F11B54A: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x70C3AB0: QObject::event(QEvent*) (in /usr/lib64/
libQtCore.so.4.8.7)
==11399== by 0x786CF1B: QApplicationPrivate::notify_helper(QObject*,
QEvent*) (in /usr/lib64/libQtGui.so.4.8.7)
==11399== by 0x78739EB: QApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libQtGui.so.4.8.7)
==11399== by 0x6618689: KApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libkdeui.so.5.14.17)
==11399== by 0x70AAA3C: QCoreApplication::notifyInternal(QObject*, QEvent*)
(in /usr/lib64/libQtCore.so.4.8.7)
==11399== Address 0x1c7b09c0 is 16 bytes inside a block of size 1,200 free'd
==11399== at 0x4C2B82B: operator delete(void*) (in /usr/lib64/valgrind/
vgpreload_memcheck-amd64-linux.so)
==11399== by 0x70C3AE7: QObject::event(QEvent*) (in /usr/lib64/
libQtCore.so.4.8.7)
==11399== by 0x786CF1B: QApplicationPrivate::notify_helper(QObject*,
QEvent*) (in /usr/lib64/libQtGui.so.4.8.7)
==11399== by 0x78739EB: QApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libQtGui.so.4.8.7)
==11399== by 0x6618689: KApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libkdeui.so.5.14.17)
==11399== by 0x70AAA3C: QCoreApplication::notifyInternal(QObject*, QEvent*)
(in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0x70ADE6D: QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0x70D90ED: ??? (in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0xD6B60C6: g_main_context_dispatch (in /usr/lib64/
libglib-2.0.so.0.4600.2)
==11399== by 0xD6B62F7: ??? (in /usr/lib64/libglib-2.0.so.0.4600.2)
==11399== by 0xD6B639B: g_main_context_iteration (in /usr/lib64/
libglib-2.0.so.0.4600.2)
==11399== by 0x70D925D:
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (in
/usr/lib64/libQtCore.so.4.8.7)
==11399== Block was alloc'd at
==11399== at 0x4C2A6CF: operator new(unsigned long) (in /usr/lib64/
valgrind/vgpreload_memcheck-amd64-linux.so)
==11399== by 0x1F06EC11: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x59765C7:
Kopete::AccountManager::slotPluginLoaded(Kopete::Plugin*) (in /usr/lib64/
libkopete.so.4.14.17)
==11399== by 0x5976C6B: ??? (in /usr/lib64/libkopete.so.4.14.17)
==11399== by 0x70BDF6F: QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0x59B44BE:
Kopete::PluginManager::pluginLoaded(Kopete::Plugin*) (in /usr/lib64/
libkopete.so.4.14.17)
==11399== by 0x59BD4E1: Kopete::PluginManager::loadPluginInternal(QString
const&) (in /usr/lib64/libkopete.so.4.14.17)
==11399== by 0x59BE992: Kopete::PluginManager::slotLoadNextPlugin() (in /
usr/lib64/libkopete.so.4.14.17)
==11399== by 0x70C3AB0: QObject::event(QEvent*) (in /usr/lib64/
libQtCore.so.4.8.7)
==11399== by 0x786CF1B: QApplicationPrivate::notify_helper(QObject*,
QEvent*) (in /usr/lib64/libQtGui.so.4.8.7)
==11399== by 0x78739EB: QApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libQtGui.so.4.8.7)
==11399== by 0x6618689: KApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libkdeui.so.5.14.17)
==11399==
==11399== Invalid read of size 8
==11399== at 0x596EE74: Kopete::Account::myself() const (in /usr/lib64/
libkopete.so.4.14.17)
==11399== by 0x596EE88: Kopete::Account::isConnected() const (in /usr/
lib64/libkopete.so.4.14.17)
==11399== by 0x1F0B4FA6: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x1F0BA379: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x1F0BC0AC: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x70BDF6F: QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0x1F11B54A: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x70C3AB0: QObject::event(QEvent*) (in /usr/lib64/
libQtCore.so.4.8.7)
==11399== by 0x786CF1B: QApplicationPrivate::notify_helper(QObject*,
QEvent*) (in /usr/lib64/libQtGui.so.4.8.7)
==11399== by 0x78739EB: QApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libQtGui.so.4.8.7)
==11399== by 0x6618689: KApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libkdeui.so.5.14.17)
==11399== by 0x70AAA3C: QCoreApplication::notifyInternal(QObject*, QEvent*)
(in /usr/lib64/libQtCore.so.4.8.7)
==11399== Address 0x1c7b0fb8 is 72 bytes inside a block of size 216 free'd
==11399== at 0x4C2B82B: operator delete(void*) (in /usr/lib64/valgrind/
vgpreload_memcheck-amd64-linux.so)
==11399== by 0x597277C: Kopete::Account::~Account() (in /usr/lib64/
libkopete.so.4.14.17)
==11399== by 0x1F078E21: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x1F078E38: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x70C3AE7: QObject::event(QEvent*) (in /usr/lib64/
libQtCore.so.4.8.7)
==11399== by 0x786CF1B: QApplicationPrivate::notify_helper(QObject*,
QEvent*) (in /usr/lib64/libQtGui.so.4.8.7)
==11399== by 0x78739EB: QApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libQtGui.so.4.8.7)
==11399== by 0x6618689: KApplication::notify(QObject*, QEvent*) (in /usr/
lib64/libkdeui.so.5.14.17)
==11399== by 0x70AAA3C: QCoreApplication::notifyInternal(QObject*, QEvent*)
(in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0x70ADE6D: QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) (in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0x70D90ED: ??? (in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0xD6B60C6: g_main_context_dispatch (in /usr/lib64/
libglib-2.0.so.0.4600.2)
==11399== Block was alloc'd at
==11399== at 0x4C2A6CF: operator new(unsigned long) (in /usr/lib64/
valgrind/vgpreload_memcheck-amd64-linux.so)
==11399== by 0x596E554: Kopete::Account::Account(Kopete::Protocol*, QString
const&) (in /usr/lib64/libkopete.so.4.14.17)
==11399== by 0x59B27EC:
Kopete::PasswordedAccount::PasswordedAccount(Kopete::Protocol*, QString
const&, bool) (in /usr/lib64/libkopete.so.4.14.17)
==11399== by 0x1F077010: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x1F06EC22: ??? (in /usr/lib64/kde4/kopete_jabber.so)
==11399== by 0x59765C7:
Kopete::AccountManager::slotPluginLoaded(Kopete::Plugin*) (in /usr/lib64/
libkopete.so.4.14.17)
==11399== by 0x5976C6B: ??? (in /usr/lib64/libkopete.so.4.14.17)
==11399== by 0x70BDF6F: QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (in /usr/lib64/libQtCore.so.4.8.7)
==11399== by 0x59B44BE:
Kopete::PluginManager::pluginLoaded(Kopete::Plugin*) (in /usr/lib64/
libkopete.so.4.14.17)
==11399== by 0x59BD4E1: Kopete::PluginManager::loadPluginInternal(QString
const&) (in /usr/lib64/libkopete.so.4.14.17)
==11399== by 0x59BE992: Kopete::PluginManager::slotLoadNextPlugin() (in /
usr/lib64/libkopete.so.4.14.17)
==11399== by 0x70C3AB0: QObject::event(QEvent*) (in /usr/lib64/
libQtCore.so.4.8.7)
==11399==
QProcess: Destroyed while process is still running.
==11399==
==11399== HEAP SUMMARY:
==11399== in use at exit: 933,805 bytes in 17,367 blocks
==11399== total heap usage: 1,041,148 allocs, 1,023,781 frees, 229,149,754
bytes allocated
==11399==
==11399== LEAK SUMMARY:
==11399== definitely lost: 9,792 bytes in 66 blocks
==11399== indirectly lost: 238,170 bytes in 3,444 blocks
==11399== possibly lost: 10,506 bytes in 213 blocks
==11399== still reachable: 675,337 bytes in 13,644 blocks
==11399== of which reachable via heuristic:
==11399== newarray : 5,800 bytes in 17
blocks
==11399== suppressed: 0 bytes in 0 blocks
==11399== Rerun with --leak-check=full to see details of leaked memory
==11399==
==11399== For counts of detected and suppressed errors, rerun with: -v
==11399== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
On Tuesday, March 15, 2016 7:10:29 PM EDT you wrote:
> https://bugs.kde.org/show_bug.cgi?id=360384
>
> --- Comment #7 from Pali Rohár <pali.rohar@gmail.com> ---
> Hm... this looks very strange. No idea why it crash.
>
> If you can reproduce this crash at 100% please install valgrind and run in
> terminal kopete under valgrind as:
>
> $ valgrind kopete --nofork
>
> And post output from terminal.
Looks like that valgrind did not find where are those debug symbols installed in your system. Try to use --extra-debuginfo-path= valgrind parameter. I need to know function names and lines instead of "??? (in /usr/lib64/kde4/kopete_jabber.so)"... Also your last post with valgrind output is wrapped and hard to read/parse. In future rather upload it as attachment to bugzilla as text file (this should prevent wrapping). Anyway, this crash is really strange. From that incomplete valgrind output it looks like that Qt library decided to free memory where was allocated instance of jabber account. Created attachment 97919 [details]
jabber qpointer patch
Can you try attached patch? It just adds QPointer guard for account which try to prevent use-after-free.
Not sure how this patch would be applied. I'm using OpenSUSE supplied
packages...
On Tuesday, March 15, 2016 11:53:50 PM EDT you wrote:
> https://bugs.kde.org/show_bug.cgi?id=360384
>
> --- Comment #10 from Pali Rohár <pali.rohar@gmail.com> ---
> Created attachment 97919 [details]
> --> https://bugs.kde.org/attachment.cgi?id=97919&action=edit
> jabber qpointer patch
>
> Can you try attached patch? It just adds QPointer guard for account which
> try to prevent use-after-free.
On Wednesday 16 March 2016 00:07:02 via KDE Bugzilla wrote:
> Not sure how this patch would be applied. I'm using OpenSUSE supplied
> packages...
Download source code of Kopete, apply patch (patch -p1 -i file) and
recompile it.
Anyway, I would really like to see symbols/function names in valgrind
output. Can you look at it? That patch is just my first attempt but
without future more information I cannot detect root of this problem.
marking as waiting for info Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |