Bug 167113 - Enabling any plugin causes the identity widget (accounts) to disappear
Summary: Enabling any plugin causes the identity widget (accounts) to disappear
Status: RESOLVED FIXED
Alias: None
Product: kopete
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: Kopete Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-21 01:18 UTC by George Kiagiadakis
Modified: 2008-08-12 21:58 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description George Kiagiadakis 2008-07-21 01:18:52 UTC
Version:           0.50.80 (using KDE 4.0.98)
Installed from:    Debian testing/unstable Packages
Compiler:          gcc version 4.3.1 (Debian 4.3.1-6) 
OS:                Linux

Just enabling any plugin makes my accounts disappear. The accounts get back if I restart kopete, though. Note that if I have more than one identities, only the accounts from the "default identity" are removed.
Comment 1 Michael 2008-07-21 01:27:35 UTC
i am running svn trunk r835161 and even if i enable every plugin i have, the accounts dont disappear. werid.
Comment 2 George Kiagiadakis 2008-07-21 01:47:36 UTC
Btw, removing plugins also does the same thing. Also, I have been talking on irc about this and it seems like some people don't have this issue (like Michael). The issue was initially discovered with the statistics plugin, but then I tried with web presence and others and I got the same behaviour.
Comment 3 A. Spehr 2008-07-21 01:50:47 UTC
 kdelibs 834200 +  kdenetwork r835601

This is an odd bug. Earthwings couldn't confirm it today. I can. 

(I only have things under "default identity".)
Comment 4 George Kiagiadakis 2008-07-21 02:20:46 UTC
I know it's odd... I can't reproduce this on my other machine :/
The one machine (the faulty) is running debian sid/experimental i386 and the other one (the non-faulty) is running debian lenny/experimental amd64 (I keep all system stuff from lenny except kde which is sid/experimental).

Btw, some irc chatting also reveals that the people who can't reproduce it are using amd64 boxes. Not sure if it's relevant though.

Also, I should explicitely state that the accounts are removed *both* from the widget on the the bottom right corner of the kopete window *and* the settings dialog.
Comment 5 George Kiagiadakis 2008-07-21 14:21:51 UTC
After some hours of playing with gdb, I finally managed to get some useful backtraces that show which piece of code deletes the accounts. First I had to recompile kopete to get useful backtraces, but I used the code from the debian archive, not svn (i.e. apt-get source kopete).

So, setting a breakpoint in IdentityStatusWidget::slotAccountUnregistered reveals that accounts get deleted from the event loop, and setting a breakpoint in QObject::deleteLater reveals that PluginManager tries to unload the "Protocol" plugin, which in turn deletes all the accounts (around kopeteprotocol.cpp:156 there are comments that indicate the code deletes accounts...). No idea why :/

Backtraces:
#0  IdentityStatusWidget::slotAccountUnregistered (this=0x815be70, account=0x8459080) at /usr/include/qt4/QtCore/qhash.h:270
#1  0xb7edf9c4 in IdentityStatusWidget::qt_metacall (this=0x815be70, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xbfd0cbdc)
    at /home/gkiagia/src/kdenetwork-4.0.98/b/kopete/kopete/identity/identitystatuswidget.moc:84
#2  0xb65360c0 in QMetaObject::activate (sender=0x813f1e8, from_signal_index=5, to_signal_index=5, argv=0xbfd0cbdc) at kernel/qobject.cpp:3010
#3  0xb6536e42 in QMetaObject::activate (sender=0x813f1e8, m=0xb7eb491c, local_signal_index=1, argv=0xbfd0cbdc) at kernel/qobject.cpp:3080
#4  0xb7e22df3 in Kopete::AccountManager::accountUnregistered (this=0x813f1e8, _t1=0x8459080)
    at /home/gkiagia/src/kdenetwork-4.0.98/b/kopete/libkopete/kopeteaccountmanager.moc:129
#5  0xb7e24b4e in Kopete::AccountManager::unregisterAccount (this=0x813f1e8, account=0x8459080)
    at /home/gkiagia/src/kdenetwork-4.0.98/kopete/libkopete/kopeteaccountmanager.cpp:229
#6  0xb7e25cf4 in Kopete::AccountManager::qt_metacall (this=0x813f1e8, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0xbfd0cd3c)
    at /home/gkiagia/src/kdenetwork-4.0.98/b/kopete/libkopete/kopeteaccountmanager.moc:111
#7  0xb65360c0 in QMetaObject::activate (sender=0x8459080, from_signal_index=5, to_signal_index=5, argv=0xbfd0cd3c) at kernel/qobject.cpp:3010
#8  0xb6536e42 in QMetaObject::activate (sender=0x8459080, m=0xb7eb4884, local_signal_index=1, argv=0xbfd0cd3c) at kernel/qobject.cpp:3080
#9  0xb7e1d813 in Kopete::Account::accountDestroyed (this=0x8459080, _t1=0x8459080)
    at /home/gkiagia/src/kdenetwork-4.0.98/b/kopete/libkopete/kopeteaccount.moc:201
#10 0xb7e20a53 in ~Account (this=0x8459080) at /home/gkiagia/src/kdenetwork-4.0.98/kopete/libkopete/kopeteaccount.cpp:122
#11 0xb7e6d862 in ~PasswordedAccount (this=0x8459080) at /home/gkiagia/src/kdenetwork-4.0.98/kopete/libkopete/kopetepasswordedaccount.cpp:42
#12 0xb336f8c0 in ~YahooAccount (this=0x8459080) at /tmp/buildd/kdenetwork-4.0.98/kopete/protocols/yahoo/yahooaccount.cpp:128
#13 0xb652f42c in qDeleteInEventHandler (o=0xb7edf910) at kernel/qobject.cpp:3595
#14 0xb6530e2b in QObject::event (this=0x8459080, e=0x86c7710) at kernel/qobject.cpp:1124
#15 0xb690e66c in QApplicationPrivate::notify_helper (this=0x80c66c0, receiver=0x8459080, e=0x86c7710) at kernel/qapplication.cpp:3772
#16 0xb691643e in QApplication::notify (this=0xbfd0d4ec, receiver=0x8459080, e=0x86c7710) at kernel/qapplication.cpp:3366
#17 0xb74f863d in KApplication::notify (this=0xbfd0d4ec, receiver=0x8459080, event=0x86c7710)
    at /tmp/buildd/kde4libs-4.0.98+svn833207/kdeui/kernel/kapplication.cpp:311
#18 0xb6521571 in QCoreApplication::notifyInternal (this=0xbfd0d4ec, receiver=0x8459080, event=0x86c7710) at kernel/qcoreapplication.cpp:587
#19 0xb65221e5 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x80ae890)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#20 0xb65223fd in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1091
#21 0xb654bf2f in postEventSourceDispatch (s=0x80cbb40) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#22 0xb5c722f1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#23 0xb5c75983 in ?? () from /usr/lib/libglib-2.0.so.0
#24 0x080cbab8 in ?? ()
#25 0x00000000 in ?? ()



#0  QObject::deleteLater (this=0x8514830) at kernel/qobject.cpp:2041          
#1  0xb7e5c162 in Kopete::Protocol::aboutToUnload (this=0x84623f8) at /home/gkiagia/src/kdenetwork-4.0.98/kopete/libkopete/kopeteprotocol.cpp:156
#2  0xb7e4e254 in Kopete::PluginManager::unloadPlugin (this=0x8180fac, spec=@0xbf84f310)                                                         
    at /home/gkiagia/src/kdenetwork-4.0.98/kopete/libkopete/kopetepluginmanager.cpp:397                                                          
#3  0xb7e5233f in Kopete::PluginManager::loadAllPlugins (this=0x8180fac)                                                                         
    at /home/gkiagia/src/kdenetwork-4.0.98/kopete/libkopete/kopetepluginmanager.cpp:288                                                          
#4  0xb17ea912 in KopetePluginConfig::save (this=0x88a4918) at /tmp/buildd/kdenetwork-4.0.98/kopete/kopete/config/plugins/kopetepluginconfig.cpp:83
#5  0xb7d50aaa in KCModuleProxy::save (this=0x87f2260) at /tmp/buildd/kde4libs-4.0.98+svn833207/kutils/kcmoduleproxy.cpp:276                       
#6  0xb7d4aa28 in KCMultiDialogPrivate::apply (this=0x85d27e0) at /tmp/buildd/kde4libs-4.0.98+svn833207/kutils/kcmultidialog.cpp:192               
#7  0xb7d4ad15 in KCMultiDialog::slotOkClicked (this=0x8403430) at /tmp/buildd/kde4libs-4.0.98+svn833207/kutils/kcmultidialog.cpp:227              
#8  0xb7d4d57b in KCMultiDialog::qt_metacall (this=0x8403430, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xbf84f4f8)                              
    at /tmp/buildd/kde4libs-4.0.98+svn833207/obj-i486-linux-gnu/kutils/kcmultidialog.moc:87                                                        
#9  0xb7d68d3a in KSettings::Dialog::qt_metacall (this=0x8403430, _c=QMetaObject::InvokeMetaMethod, _id=78, _a=0xbf84f4f8)                         
    at /tmp/buildd/kde4libs-4.0.98+svn833207/obj-i486-linux-gnu/kutils/dialog.moc:68                                                               
#10 0xb65130c0 in QMetaObject::activate (sender=0x8403430, from_signal_index=44, to_signal_index=44, argv=0x0) at kernel/qobject.cpp:3010          
#11 0xb6513e42 in QMetaObject::activate (sender=0x8403430, m=0x80ac848, local_signal_index=9, argv=0x0) at kernel/qobject.cpp:3080                 
#12 0xb74364b7 in KDialog::okClicked (this=0x8403430) at /tmp/buildd/kde4libs-4.0.98+svn833207/obj-i486-linux-gnu/kdeui/kdialog.moc:247            
#13 0xb7439488 in KDialog::slotButtonClicked (this=0x8403430, button=4) at /tmp/buildd/kde4libs-4.0.98+svn833207/kdeui/dialogs/kdialog.cpp:844     
#14 0xb74395f4 in KDialog::qt_metacall (this=0x8403430, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbf84f71c)                                   
    at /tmp/buildd/kde4libs-4.0.98+svn833207/obj-i486-linux-gnu/kdeui/kdialog.moc:181                                                              
#15 0xb7505cea in KPageDialog::qt_metacall (this=0x8403430, _c=QMetaObject::InvokeMetaMethod, _id=68, _a=0xbf84f71c)                               
    at /tmp/buildd/kde4libs-4.0.98+svn833207/obj-i486-linux-gnu/kdeui/kpagedialog.moc:63                                                           
#16 0xb7d4d4da in KCMultiDialog::qt_metacall (this=0x8403430, _c=QMetaObject::InvokeMetaMethod, _id=68, _a=0xbf84f71c)                             
    at /tmp/buildd/kde4libs-4.0.98+svn833207/obj-i486-linux-gnu/kutils/kcmultidialog.moc:77                                                        
#17 0xb7d68d3a in KSettings::Dialog::qt_metacall (this=0x8403430, _c=QMetaObject::InvokeMetaMethod, _id=68, _a=0xbf84f71c)
    at /tmp/buildd/kde4libs-4.0.98+svn833207/obj-i486-linux-gnu/kutils/dialog.moc:68
#18 0xb65130c0 in QMetaObject::activate (sender=0x85d2830, from_signal_index=4, to_signal_index=4, argv=0xbf84f71c) at kernel/qobject.cpp:3010
#19 0xb6513e42 in QMetaObject::activate (sender=0x85d2830, m=0xb65dfa58, local_signal_index=0, argv=0xbf84f71c) at kernel/qobject.cpp:3080
#20 0xb6516f53 in QSignalMapper::mapped (this=0x85d2830, _t1=4) at .moc/release-shared/moc_qsignalmapper.cpp:93
#21 0xb65177dd in QSignalMapper::map (this=0x85d2830, sender=0x83bf880) at kernel/qsignalmapper.cpp:277
#22 0xb65179ce in QSignalMapper::map (this=0x85d2830) at kernel/qsignalmapper.cpp:268
#23 0xb651829b in QSignalMapper::qt_metacall (this=0x85d2830, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbf84f89c)
    at .moc/release-shared/moc_qsignalmapper.cpp:80
---Type <return> to continue, or q <return> to quit---
#24 0xb65130c0 in QMetaObject::activate (sender=0x83bf880, from_signal_index=29, to_signal_index=30, argv=0xbf84f89c) at kernel/qobject.cpp:3010
#25 0xb65134c0 in QMetaObject::activate (sender=0x83bf880, m=0xb7095c44, from_local_signal_index=2, to_local_signal_index=3, argv=0xbf84f89c)
    at kernel/qobject.cpp:3100
#26 0xb6ecce21 in QAbstractButton::clicked (this=0x83bf880, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:185
#27 0xb6c227d9 in QAbstractButtonPrivate::emitClicked (this=0x85e2f18) at widgets/qabstractbutton.cpp:543
#28 0xb6c24344 in QAbstractButtonPrivate::click (this=0x85e2f18) at widgets/qabstractbutton.cpp:536
#29 0xb6c245d6 in QAbstractButton::mouseReleaseEvent (this=0x83bf880, e=0xbf84ff3c) at widgets/qabstractbutton.cpp:1112
#30 0xb69434f2 in QWidget::event (this=0x83bf880, event=0xbf84ff3c) at kernel/qwidget.cpp:6927
#31 0xb6c2267e in QAbstractButton::event (this=0x83bf880, e=0xbf84ff3c) at widgets/qabstractbutton.cpp:1074
#32 0xb6cc85c0 in QPushButton::event (this=0x83bf880, e=0xbf84ff3c) at widgets/qpushbutton.cpp:658
#33 0xb68eb66c in QApplicationPrivate::notify_helper (this=0x80c66c0, receiver=0x83bf880, e=0xbf84ff3c) at kernel/qapplication.cpp:3772
#34 0xb68f3df1 in QApplication::notify (this=0xbf8506fc, receiver=0x83bf880, e=0xbf84ff3c) at kernel/qapplication.cpp:3501
#35 0xb74d563d in KApplication::notify (this=0xbf8506fc, receiver=0x83bf880, event=0xbf84ff3c)
    at /tmp/buildd/kde4libs-4.0.98+svn833207/kdeui/kernel/kapplication.cpp:311
#36 0xb64fe571 in QCoreApplication::notifyInternal (this=0xbf8506fc, receiver=0x83bf880, event=0xbf84ff3c) at kernel/qcoreapplication.cpp:587
#37 0xb68f307e in QApplicationPrivate::sendMouseEvent (receiver=0x83bf880, event=0xbf84ff3c, alienWidget=0x83bf880, nativeWidget=0x8403430,
    buttonDown=0xb70a17d0, lastMouseReceiver=@0xb70a17d4) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#38 0xb695c5fd in QETWidget::translateMouseEvent (this=0x8403430, event=0xbf85042c) at kernel/qapplication_x11.cpp:4133
#39 0xb695b3cf in QApplication::x11ProcessEvent (this=0xbf8506fc, event=0xbf85042c) at kernel/qapplication_x11.cpp:3255
#40 0xb6984d14 in x11EventSourceDispatch (s=0x80cca80, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#41 0xb5c4f2f1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#42 0xb5c52983 in ?? () from /usr/lib/libglib-2.0.so.0
#43 0x080cbab8 in ?? ()
#44 0x00000000 in ?? ()
Comment 6 Roman Jarosz 2008-07-23 22:27:25 UTC
SVN commit 837114 by rjarosz:

Protocols aren't always in Plugins group even if they are loaded because they are loaded automatically so we should ignore them.

BUG: 167113



 M  +4 -0      kopetepluginmanager.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=837114
Comment 7 Roman Jarosz 2008-07-23 22:32:18 UTC
SVN commit 837118 by rjarosz:

Backport commit 837114.
Protocols aren't always in Plugins group even if they are loaded because they are loaded automatically so we should ignore them.

CCBUG: 167113



 M  +4 -0      kopetepluginmanager.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=837118
Comment 8 Roman Jarosz 2008-08-12 21:58:29 UTC
SVN commit 846026 by rjarosz:

Backport commit 837114.
Protocols aren't always in Plugins group so we should ignore them.

CCBUG: 167113



 M  +4 -0      kopetepluginmanager.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=846026