Bug 193957

Summary: KDE4 Kopete crash for the gadu-gadu protocol
Product: [Unmaintained] kopete Reporter: Benjamin Nagel <benjamin.nagel>
Component: generalAssignee: Kopete Developers <kopete-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: benjamin.nagel, johann-nikolaus, kontakt, michau, ziom_d
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: valgrind log: start kopete, try to login gadu gadu, crash, close kopete
kopete crash information with full enabled kdebugdialog

Description Benjamin Nagel 2009-05-24 23:21:17 UTC
Application that crashed: kopete
Version of the application: 0.70.85
KDE Version: 4.2.86 (KDE 4.2.86 (KDE 4.3 >= 20090514)) "release 126"
Qt Version: 4.5.1
Operating System: Linux 2.6.27.21-0.1-pae i686
Distribution: "openSUSE 11.1 (i586)"

What I was doing when the application crashed:
How to reproduce this fault:
create a account for the protocol gadu-gadu
add this account in gadu-gadu 
try to sign in with other accounts and kopete crashs
when you try to sign in only with gadu-gadu kopete freeze

KDE 4.2.86 (KDE 4.2.86 (KDE 4.3 >= 20090514)) "release 126"
Kopete: 0.70.85

 -- Backtrace:
Application: Kopete (kopete), signal: Segmentation fault
[Current thread is 1 (Thread 0xb5363700 (LWP 5178))]

Thread 2 (Thread 0xb1c11b90 (LWP 5183)):
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb6a88c35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb6ae8722 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#3  0xb742cae2 in ?? () from /usr/lib/libQtNetwork.so.4
#4  0xb6ae770e in ?? () from /usr/lib/libQtCore.so.4
#5  0xb6a851b5 in start_thread () from /lib/libpthread.so.0
#6  0xb5eba3be in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb5363700 (LWP 5178)):
[KCrash Handler]
#6  0xb7be666a in Kopete::Account::myself() const () from /usr/lib/libkopete.so.4
#7  0xb7c0443c in Kopete::Contact::isOnline() const () from /usr/lib/libkopete.so.4
#8  0xb7c1f558 in Kopete::MetaContact::isOnline() const () from /usr/lib/libkopete.so.4
#9  0xb7b30cc8 in Kopete::UI::ContactListTreeModel::countConnected(Kopete::UI::GroupModelItem*) const () from /usr/lib/libkopetecontactlist.so.1
#10 0xb7b30f3e in Kopete::UI::ContactListTreeModel::data(QModelIndex const&, int) const () from /usr/lib/libkopetecontactlist.so.1
#11 0xb7b3a5dc in Kopete::UI::ContactListProxyModel::filterAcceptsRow(int, QModelIndex const&) const () from /usr/lib/libkopetecontactlist.so.1
#12 0xb67812a2 in ?? () from /usr/lib/libQtGui.so.4
#13 0xb67820bc in QSortFilterProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtGui.so.4
#14 0xb7b3ac3a in Kopete::UI::ContactListProxyModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkopetecontactlist.so.1
#15 0xb6bf1dc8 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#16 0xb6bf3552 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#17 0xb6c2cf79 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/libQtCore.so.4
#18 0xb7b3170d in Kopete::UI::ContactListTreeModel::handleContactDataChange(Kopete::MetaContact*) () from /usr/lib/libkopetecontactlist.so.1
#19 0xb7b29db9 in Kopete::UI::ContactListModel::handleContactDataChange() () from /usr/lib/libkopetecontactlist.so.1
#20 0xb7b2ee1b in Kopete::UI::ContactListModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkopetecontactlist.so.1
#21 0xb7b3040a in Kopete::UI::ContactListTreeModel::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkopetecontactlist.so.1
#22 0xb6bf1dc8 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#23 0xb6bf3552 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#24 0xb7c1ee27 in Kopete::MetaContact::photoChanged() () from /usr/lib/libkopete.so.4
#25 0xb7c22459 in Kopete::MetaContact::setPhotoSourceContact(Kopete::Contact*) () from /usr/lib/libkopete.so.4
#26 0xb7c24d86 in Kopete::MetaContact::removeContact(Kopete::Contact*, bool) () from /usr/lib/libkopete.so.4
#27 0xb7c24eec in Kopete::MetaContact::slotContactDestroyed(Kopete::Contact*) () from /usr/lib/libkopete.so.4
#28 0xb7c25131 in Kopete::MetaContact::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkopete.so.4
#29 0xb6bf1dc8 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#30 0xb6bf3552 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#31 0xb7c03de3 in Kopete::Contact::contactDestroyed(Kopete::Contact*) () from /usr/lib/libkopete.so.4
#32 0xb7c04f94 in Kopete::Contact::~Contact() () from /usr/lib/libkopete.so.4
#33 0xb1e8d3b6 in OscarContact::~OscarContact() () from /usr/lib/libkopete_oscar.so.4
#34 0xb1ea9c98 in ICQContactBase::~ICQContactBase() () from /usr/lib/libkopete_oscar.so.4
#35 0xb1f170ac in ?? () from /usr/lib/kde4/kopete_icq.so
#36 0xb7be8df7 in Kopete::Account::~Account() () from /usr/lib/libkopete.so.4
#37 0xb7c347e5 in Kopete::PasswordedAccount::~PasswordedAccount() () from /usr/lib/libkopete.so.4
#38 0xb1e7eaa4 in OscarAccount::~OscarAccount() () from /usr/lib/libkopete_oscar.so.4
#39 0xb1f105e5 in ?? () from /usr/lib/kde4/kopete_icq.so
#40 0xb6beac45 in qDeleteInEventHandler(QObject*) () from /usr/lib/libQtCore.so.4
#41 0xb6bec4db in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#42 0xb619269c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#43 0xb619a99e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#44 0xb7163b8d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#45 0xb6bdbadb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#46 0xb6bdc725 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#47 0xb6bdc91d in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#48 0xb6c0790f in ?? () from /usr/lib/libQtCore.so.4
#49 0xb58e59c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#50 0xb58e9083 in ?? () from /usr/lib/libglib-2.0.so.0
#51 0xb58e9241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#52 0xb6c07558 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#53 0xb6232975 in ?? () from /usr/lib/libQtGui.so.4
#54 0xb6bda0fa in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#55 0xb6bda53a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#56 0xb6bdc9e9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#57 0xb6192517 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#58 0x080597e3 in _start ()
Comment 1 Benjamin Nagel 2009-05-30 19:07:27 UTC
Here some more details:
When I try to login with gadu-gadu, icq, yahoo and goole-talk with the "login all"-function kopete crashes totally.
When I try to login only with gadu-gadu protocol and not with the "login all"-function kopete also crashes and the KDE 4 crash-manager appear. When I use the restart application button the crashed kopete is still visible and the "restated" application is the old "crashed" instance of kopete.

And when I check the status of my gadu-gadu account i see that I'm online, and i can write messages to people on my contact list.
Comment 2 MichaƂ S. 2009-06-12 10:25:06 UTC
Exaclty the same for me, my backtracke:
Application: Kopete (kopete), signal: Aborted
[KCrash Handler]
#6  0xffffe430 in __kernel_vsyscall ()
#7  0xb5f51990 in raise () from /lib/libc.so.6
#8  0xb5f532c8 in abort () from /lib/libc.so.6
#9  0xb6c1d345 in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
#10 0xb6c1d431 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
#11 0xb7d4af0f in Kopete::MessageHandlerFactory::Private::factories () at /usr/src/debug/kdenetwork-4.2.90/kopete/libkopete/kopetemessagehandler.cpp:82
#12 0xb7d4b102 in ~MessageHandlerFactory (this=0x83287c4) at /usr/src/debug/kdenetwork-4.2.90/kopete/libkopete/kopetemessagehandler.cpp:96
#13 0xb2e33817 in ~HistoryPlugin (this=0x83287b0) at /usr/src/debug/kdenetwork-4.2.90/kopete/plugins/history/historyplugin.h:45
#14 0xb7d69fea in ~PluginManagerPrivate (this=0x80d19d8) at /usr/src/debug/kdenetwork-4.2.90/kopete/libkopete/kopetepluginmanager.cpp:75
#15 0xb7d636da in destroy () at /usr/src/debug/kdenetwork-4.2.90/kopete/libkopete/kopetepluginmanager.cpp:101
#16 0xb7ce373b in ~KCleanUpGlobalStatic (this=0xb7dc5e30) at /usr/include/kglobal.h:62
#17 0xb5f549b1 in exit () from /lib/libc.so.6
#18 0xb29a36d6 in gg_resolve () from /usr/lib/libgadu.so.3
#19 0xb29a3ac6 in gg_login () from /usr/lib/libgadu.so.3
#20 0xb29d0551 in GaduSession::login (this=0x8348fa0, p=0x8348fb4) at /usr/src/debug/kdenetwork-4.2.90/kopete/protocols/gadu/gadusession.cpp:86
#21 0xb29d0acb in GaduSession::login (this=0x8348fa0, loginp=0x8308edc) at /usr/src/debug/kdenetwork-4.2.90/kopete/protocols/gadu/gadusession.cpp:192
#22 0xb29e4167 in GaduAccount::slotLogin (this=0x831b290, status=2, dscr=@0xbfd70e04) at /usr/src/debug/kdenetwork-4.2.90/kopete/protocols/gadu/gaduaccount.cpp:544
#23 0xb29e4e15 in GaduAccount::changeStatus (this=0x831b290, status=@0x83443b4, descr=@0xbfd70e04) at /usr/src/debug/kdenetwork-4.2.90/kopete/protocols/gadu/gaduaccount.cpp:490
#24 0xb29e5b53 in GaduAccount::setOnlineStatus (this=0x831b290, status=@0x83443b4, reason=@0x83443b8, options=@0xbfd70e6c)
    at /usr/src/debug/kdenetwork-4.2.90/kopete/protocols/gadu/gaduaccount.cpp:388
#25 0xb7d16c91 in Kopete::Account::reconnect (this=0x831b290) at /usr/src/debug/kdenetwork-4.2.90/kopete/libkopete/kopeteaccount.cpp:133
#26 0xb7d13ff7 in Kopete::Account::qt_metacall (this=0x831b290, _c=QMetaObject::InvokeMetaMethod, _id=16, _a=0xbfd70fe8)
    at /usr/src/debug/kdenetwork-4.2.90/build/kopete/libkopete/kopeteaccount.moc:149
#27 0xb7d60f7a in Kopete::PasswordedAccount::qt_metacall (this=0x831b290, _c=QMetaObject::InvokeMetaMethod, _id=20, _a=0xbfd70fe8)
    at /usr/src/debug/kdenetwork-4.2.90/build/kopete/libkopete/kopetepasswordedaccount.moc:64
#28 0xb29e5c3a in GaduAccount::qt_metacall (this=0x831b290, _c=QMetaObject::InvokeMetaMethod, _id=20, _a=0xbfd70fe8)
    at /usr/src/debug/kdenetwork-4.2.90/build/kopete/protocols/gadu/gaduaccount.moc:168
#29 0xb6d2fdc8 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#30 0xb6d31552 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#31 0xb6d35237 in ?? () from /usr/lib/libQtCore.so.4
#32 0xb6d3535c in ?? () from /usr/lib/libQtCore.so.4
#33 0xb6d2a26f in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#34 0xb62d069c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#35 0xb62d899e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#36 0xb72aab9d in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#37 0xb6d19adb in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#38 0xb6d49176 in ?? () from /usr/lib/libQtCore.so.4
#39 0xb6d45600 in ?? () from /usr/lib/libQtCore.so.4
#40 0xb5a229c8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0xb5a26083 in ?? () from /usr/lib/libglib-2.0.so.0
#42 0xb5a26241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#43 0xb6d45558 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#44 0xb6370975 in ?? () from /usr/lib/libQtGui.so.4
#45 0xb6d180fa in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#46 0xb6d1853a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#47 0xb6d1a9e9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#48 0xb62d0517 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#49 0x080597e3 in main (argc=3, argv=0xbfd71b54) at /usr/src/debug/kdenetwork-4.2.90/kopete/kopete/main.cpp:104
Comment 3 Christophe Marin 2009-06-12 12:26:42 UTC
*** Bug 196099 has been marked as a duplicate of this bug. ***
Comment 4 Benjamin Nagel 2009-06-16 12:34:08 UTC
please change it to a bug from the gadu-gadu plugin
Comment 5 Benjamin Nagel 2009-06-16 12:43:45 UTC
Created attachment 34576 [details]
valgrind log: start kopete, try to login gadu gadu, crash, close kopete

'valgrind kopete --nofork 2>&1 | tee valgrind.log'

My steps in kopete:
start it with the command above
start gadu gadu with right mouse click ->online
kdewallet for the password
the crash manager appears but kopete still runs

close it with right click at the kopete icon and close


the first summary appears was created when the crash manager comes up

the second after i closed kopete
Comment 6 Benjamin Nagel 2009-06-16 20:46:40 UTC
Created attachment 34594 [details]
kopete crash information with full enabled kdebugdialog 

after turn on 0 (generic) and all components from kopete in kdebugdialog i got the following messages at the console when i try to login with gadu gadu:

(please use the log file)




I think the important line is:

Fatal Error: Accessed global static 'MessageHandlerFactory::FactoryList *g_list()' after destruction. Defined at /usr/src/packages/BUILD/kdenetwork-4.2.90/kopete/libkopete/kopetemessagehandler.cpp:82
Comment 7 Roman Jarosz 2009-06-17 09:50:07 UTC
You (your distribution) have to compile libgadu with pthreads... later I'll add check for this.
Comment 8 Roman Jarosz 2009-06-17 12:13:03 UTC
SVN commit 982946 by rjarosz:

Check if libgadu is compiled with GG_CONFIG_HAVE_PTHREAD, otherwise it will crash Kopete.

BUG: 193957



 M  +27 -7     FindLibgadu.cmake  


WebSVN link: http://websvn.kde.org/?view=rev&revision=982946
Comment 9 Dario Andres 2009-06-19 15:23:04 UTC
*** Bug 196738 has been marked as a duplicate of this bug. ***
Comment 10 Jakub 'Livio' Rusinek 2009-11-05 17:49:56 UTC
*** Bug 213277 has been marked as a duplicate of this bug. ***