Version: (using KDE KDE 3.4.0) Installed from: Mandriva RPMs this is a bug report from the mandriva Bz: http://qa.mandriva.com/show_bug.cgi?id=15577 I have created the test IRC account with only nickname (no real name, no password, no alternative nickname), server was set to freenode. I tried to connect to server and selected #mandriva channel, then closed connection and selected Exit from kopete tray icon menu. It crashed, stack trace below: Using host libthread_db library "/lib/tls/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1238180960 (LWP 11343)] [KCrash handler] #7 0x08409f17 in ?? () #8 0xb7f54a73 in ~Account (this=0x837b970) at kopeteaccount.cpp:102 #9 0xb7f54c0c in ~PasswordedAccount (this=0x837b970) at kopetepasswordedaccount.cpp:47 #10 0xb5eb7490 in ~IRCAccount (this=0x837b970) at ircaccount.cpp:236 #11 0xb719d9ac in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #12 0x0837b970 in ?? () #13 0x08277200 in ?? () #14 0xbfffef20 in ?? () #15 0xb75ea4d4 in ?? () from /usr/lib/qt3/lib/libqt-mt.so.3 #16 0xb75ea4d4 in ?? () from /usr/lib/qt3/lib/libqt-mt.so.3 #17 0x08229ec0 in ?? () #18 0x085d42d8 in ?? () #19 0xb713b055 in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #20 0x0837b970 in ?? () #21 0x085d42d8 in ?? () #22 0x085d42d8 in ?? () #23 0xb7479960 in QGList::clear () from /usr/lib/qt3/lib/libqt-mt.so.3 #24 0x08223ce0 in ?? () #25 0x00000000 in ?? () #26 0xbffff200 in ?? () #27 0x00000000 in ?? () #28 0x0000000c in ?? () I can reproduce it too. regards Nicolas
*** This bug has been marked as a duplicate of 102735 ***
I don't beleive this is IRC specific. It seems we try to delete myself explicitly, while it should destroy by itself, as the meta contact myself should be the child of the account object. Maybe there is a mistake in IRC so, it delete the myself pointer explicitly (which is an error), but also deleting it inside the Account class is an error.
Still present in current svn trunk (bt from 2005-07-22): Using host libthread_db library "/lib/tls/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread 1105391744 (LWP 6623)] [KCrash handler] #7 0x00000000 in ?? () #8 0x40124b95 in ~Account (this=0x834b4e8) at kopeteaccount.cpp:105 #9 0x40140fe7 in ~PasswordedAccount (this=0x834b4e8) at kopetepasswordedaccount.cpp:47 #10 0x42979136 in ~IRCAccount (this=0x834b4e8) at ircaccount.cpp:219 #11 0x413feccc in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #12 0x4139bbaf in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #13 0x4139d773 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #14 0x410266d1 in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #15 0x4139c9f0 in QApplication::sendPostedEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #16 0x4139ca74 in QApplication::sendPostedEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #17 0x41348b28 in QEventLoop::processEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #18 0x413b3b41 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #19 0x413b3986 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #20 0x4139d63f in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #21 0x0806fe7a in main (argc=2, argv=0xbffff2c4) at main.cpp:102
*** Bug 109790 has been marked as a duplicate of this bug. ***
SVN commit 445143 by rantala: BUG: 104920 backport revision 410353: Modify IRCContactManager to use account->networkName() instead of account->engine()->currentHost() as the 'nick name' for server contacts. This nick name is eventually used by Kopete::Account::registerContact() and causes problems because currentHost() returns null string before the account is connected to a server. Notes: - I had to add two new parameters to IRCAccount (networkName & nickName), because the contacts are created when the account is constructed. So calling account->setNickName() etc. in editaccountwidget is not enough. - Gets rid of "QGDict::hashKeyString: Invalid null key" when accounts are created at startup, and when they are deleted (that was caused by currentHost()). - Fix crashing after creating a new IRC account and quitting right after that (at least I'm experiencing this with 0.10 & SVN). M +11 -3 ircaccount.cpp M +2 -1 ircaccount.h M +1 -1 irccontactmanager.cpp M +6 -3 ui/irceditaccountwidget.cpp --- branches/KDE/3.4/kdenetwork/kopete/protocols/irc/ircaccount.cpp #445142:445143 @@ -93,7 +93,7 @@ const QString IRCAccount::CONFIG_USERNAME = QString::fromLatin1("UserName"); const QString IRCAccount::CONFIG_REALNAME = QString::fromLatin1("RealName"); -IRCAccount::IRCAccount(IRCProtocol *protocol, const QString &accountId, const QString &autoChan ) +IRCAccount::IRCAccount(IRCProtocol *protocol, const QString &accountId, const QString &autoChan, const QString& netName, const QString &nickName) : Kopete::PasswordedAccount(protocol, accountId, 0, true), autoConnect( autoChan ) { m_manager = 0L; @@ -146,8 +146,16 @@ currentHost = 0; KConfigGroup *config = configGroup(); - QString networkName = config->readEntry(CONFIG_NETWORKNAME); - mNickName = config->readEntry(CONFIG_NICKNAME); + + QString networkName = netName; + if (networkName.isNull()) + networkName = config->readEntry(CONFIG_NETWORKNAME); + + if (!nickName.isNull()) + setNickName(nickName); + else + mNickName = config->readEntry(CONFIG_NICKNAME); + QString codecMib = config->readEntry(CONFIG_CODECMIB); // int codecMib = config->readNumEntry(CONFIG_CODECMIB, UTF-8); --- branches/KDE/3.4/kdenetwork/kopete/protocols/irc/ircaccount.h #445142:445143 @@ -118,7 +118,8 @@ Ignore = 5 }; - IRCAccount(IRCProtocol *p, const QString &accountid, const QString &autoConnect = QString::null); + IRCAccount(IRCProtocol *p, const QString &accountid, const QString &autoConnect = QString::null, + const QString& networkName = QString::null, const QString &nickName = QString::null); ~IRCAccount(); void setNickName( const QString & ); --- branches/KDE/3.4/kdenetwork/kopete/protocols/irc/irccontactmanager.cpp #445142:445143 @@ -46,7 +46,7 @@ Kopete::MetaContact *m = new Kopete::MetaContact(); // m->setTemporary( true ); - m_myServer = new IRCServerContact(this, account->engine()->currentHost(), m); + m_myServer = new IRCServerContact(this, account->networkName(), m); QObject::connect(account->engine(), SIGNAL(incomingMessage(const QString &, const QString &, const QString &)), this, SLOT(slotNewMessage(const QString &, const QString &, const QString &))); --- branches/KDE/3.4/kdenetwork/kopete/protocols/irc/ui/irceditaccountwidget.cpp #445142:445143 @@ -230,17 +230,20 @@ if( !account() ) { - setAccount( new IRCAccount( mProtocol, generateAccountId(networkName) ) ); + setAccount( new IRCAccount( mProtocol, generateAccountId(networkName), QString::null, networkName, nickName ) ); } + else + { + account()->setNickName( nickName ); + account()->setNetwork( networkName ); + } mPasswordWidget->save( &account()->password() ); - account()->setNickName( nickName ); account()->setAltNick( mAltNickname->text() ); account()->setUserName( mUserName->text() ); account()->setRealName( m_realNameLineEdit->text() ); - account()->setNetwork( networkName ); account()->setDefaultPart( partMessage->text() ); account()->setDefaultQuit( quitMessage->text() ); account()->setAutoShowServerWindow( autoShowServerWindow->isChecked() );
I think I see this bug again in 3.5 RC1. The backtrace is not very good though: (no debugging symbols found) Using host libthread_db library "/lib/tls/libthread_db.so.1". (no debugging symbols found) `system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols. (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 1104327840 (LWP 8878)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [KCrash handler] #4 0x40099e2e in Kopete::Account::~Account () from /opt/kde3/lib/libkopete.so.1 #5 0x40099f72 in Kopete::PasswordedAccount::~PasswordedAccount () from /opt/kde3/lib/libkopete.so.1 #6 0x42901e28 in init_kopete_irc () from /opt/kde3/lib/kde3/kopete_irc.so #7 0x41027988 in QObject::event () from /usr/lib/qt3/lib/libqt-mt.so.3 #8 0x40fc7d81 in QApplication::internalNotify () from /usr/lib/qt3/lib/libqt-mt.so.3 #9 0x40fc86f9 in QApplication::notify () from /usr/lib/qt3/lib/libqt-mt.so.3 #10 0x40ca76ee in KApplication::notify () from /opt/kde3/lib/libkdecore.so.4 #11 0x40fc9757 in QApplication::sendPostedEvents () from /usr/lib/qt3/lib/libqt-mt.so.3 #12 0x40fdece6 in QEventLoop::enterLoop () from /usr/lib/qt3/lib/libqt-mt.so.3 #13 0x40fdeb76 in QEventLoop::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #14 0x40fc76cf in QApplication::exec () from /usr/lib/qt3/lib/libqt-mt.so.3 #15 0x0807e7e0 in ?? () #16 0xbfe98270 in ?? () #17 0xbfe983a4 in ?? () #18 0xbfe9839c in ?? () #19 0x00000000 in ?? () #20 0x00000000 in ?? () #21 0x00000001 in ?? () #22 0x080df51c in vtable for QGList () #23 0x080dd969 in vtable for QGList () #24 0x080dd953 in vtable for QGList () #25 0x080dd93f in vtable for QGList () #26 0x416a08d8 in main_arena () from /lib/tls/libc.so.6 #27 0x416a08d8 in main_arena () from /lib/tls/libc.so.6 #28 0x00000003 in ?? () #29 0x00000020 in ?? () #30 0x00000011 in ?? () #31 0x416a08a8 in main_arena () from /lib/tls/libc.so.6 #32 0x080dac48 in vtable for QGList () #33 0x00000020 in ?? () #34 0x08156a28 in ?? () #35 0x00000000 in ?? () #36 0x081c3a08 in ?? () #37 0x0820a680 in ?? () #38 0x0820a150 in ?? () #39 0x0820b748 in ?? () #40 0x089dd108 in ?? () #41 0x00000000 in ?? () #42 0x00000001 in ?? () #43 0x0813bb98 in ?? () #44 0x00000000 in ?? () #45 0x00000000 in ?? () #46 0x08211458 in ?? () #47 0x081c4818 in ?? () #48 0x081ca6a0 in ?? () #49 0x416a0800 in _IO_stdfile_0_lock () from /lib/tls/libc.so.6 #50 0x080daccc in vtable for QGList () #51 0x0813bdf8 in ?? () #52 0x0813bc58 in ?? () #53 0x081cc1a0 in ?? () #54 0x0812c400 in vtable for QCString () #55 0x0813bbd0 in ?? () #56 0xbfe98360 in ?? () #57 0x081cae58 in ?? () #58 0x08156a38 in ?? () #59 0x00000132 in ?? () #60 0x000001ff in ?? () #61 0x080dcf7f in vtable for QGList () #62 0x4408a5a8 in ?? () #63 0x0813bbf0 in ?? () #64 0x41474d01 in ?? () from /usr/lib/qt3/lib/libqt-mt.so.3 #65 0x082040b0 in ?? () #66 0x081c9110 in ?? () #67 0x412e29ae in QGDict::look_ascii () from /usr/lib/qt3/lib/libqt-mt.so.3 #68 0x41598ea0 in __libc_start_main () from /lib/tls/libc.so.6 #69 0x08072371 in ?? ()
Confirmed.
3.5.0 RC1 distro package : crash branches/3.5 debug build : no crash branches/3.5 no debug build : no crash Perhaps something committed after rc1 has already fixed this?
Kopete's irc does not crash on every exit. I am using dev-0.12 branch.
I think I can reproduce the same bug. My backtrace: #6 0x002d0031 in ?? () #7 0xb7e11db4 in Kopete::Account::~Account () from /usr/lib/libkopete.so.1 #8 0xb7e2e462 in Kopete::PasswordedAccount::~PasswordedAccount () from /usr/lib/libkopete.so.1 #9 0xb55daa8a in IRCAccount::~IRCAccount () from /usr/lib/kde3/kopete_irc.so #10 0xb683af54 in QObject::event (this=0x83a35a8, e=0x8411040) at kernel/qobject.cpp:750 #11 0xb67d2a60 in QApplication::internalNotify (this=0xbfaf8c34, receiver=0x83a35a8, e=0x8411040) at kernel/qapplication.cpp:2635 #12 0xb67d488f in QApplication::notify (this=0xbfaf8c34, receiver=0x83a35a8, e=0x8411040) at kernel/qapplication.cpp:2358 #13 0xb6f96ce2 in KApplication::notify () from /usr/lib/libkdecore.so.4 #14 0xb67651e9 in QApplication::sendEvent (receiver=0x83a35a8, event=0x8411040) at ../include/qapplication.h:520 #15 0xb67d3a98 in QApplication::sendPostedEvents (receiver=0x0, event_type=52) at kernel/qapplication.cpp:3299 #16 0xb67ed226 in QEventLoop::enterLoop (this=0x816b360) at kernel/qeventloop.cpp:213 #17 0xb67ecf46 in QEventLoop::exec (this=0x816b360) at kernel/qeventloop.cpp:145 #18 0xb67d4609 in QApplication::exec (this=0xbfaf8c34) at kernel/qapplication.cpp:2758
*** Bug 115799 has been marked as a duplicate of this bug. ***
This crash report is at least 3 years old and there were no further comments or status updates since then. Therefore we believe that this crash is already fixed in recent KDE 4 versions or the backtrace is no longer applicable to the current KDE 4 sources. If the crash still happens with a recent KDE version (4.10.5 or 4.11), please add an updated backtrace or provide steps to reproduce. For more information, see http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports (To prevent automatic closing of this bug in the future, please set the bug status to ASSIGNED or CONFIRMED)
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!