KDE Bug Tracking System
Home
Report New Wish or Bug
Query Existing Reports
First
Last
Prev
Next
No search results available
Search page
Bug
81823
:
Ignoring incoming IRC conversations crashes Kopete
P
roduct
:
kopete
Co
m
ponent
:
IRC Plugin
Status
:
RESOLVED
Resolution
:
FIXED
Target
:
---
Version
:
0.8.1
Pr
i
ority
:
NOR
Severity
:
crash
V
otes
:
0
Description
:
Opened:
2004-05-18 21:19
Last Changed:
2005-07-10 00:24:42
Version: 0.8.1 (using KDE 3.2.2, (testing/unstable)) Compiler: gcc version 3.3.3 (Debian 20040401) OS: Linux (i686) release 2.4.24-1-k7 After several crashes, I managed to see a pattern... Please do the following: - Start Kopete, connect to IRC server - Wait for someone/some bot to send you something via IRC (not via IRC channel); wait until you should have received several lines of text. - See how the yellow baloon pops up because of this. Click "Ignore". - See Kopete crash. My guess: IRC conversations are not correctly ignored, and/or there is some buffer problems while destroying the ignored IRC text. If you can't reproduce this, try with libres.irc-hispano.org . The bots there will annoy you with advertising, and ignoring them should crash Kopete (it works for me (tm)) Sorry, I can provide no backtrace (compiled w/o debugging symnbols) This is with Kopete 3.2.1. I'll try with Kopete CVS-20440425 in a few days.
Comment
#1
Michel Hermier 2004-05-18 22:13:43
Sound to me to be a dupe. Anyway can you provide a stacktrace with CVS current, as I'm not able to reproduce it (because of local changes making me unable to compile). This could help Jason to find the reason. I'm not sure this one is IRC specific. Once I tried to trace a similar bug(maybe the same) and I came to the conclusion that the balloon was handling the KMC wrongly. Michel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAqm7wB8uJ/dbhkrgRAiYSAKCbLTlETez4RD8YeXvJGGRtb6SBLQCfZzPa SxGJarGYLfoKTmQ0NSIISnE= =C0p7 -----END PGP SIGNATURE-----
Comment
#2
Jason Keirstead 2004-05-19 02:05:35
I can reproduce here using current HEAD, and it is an IRC bug. I think the contact is not being cleared from the contact manager.
Comment
#3
Jason Keirstead 2004-05-19 02:11:48
CVS commit by brunes: When a user is deleted, force cache removal. CCMAIL:
81823-done@bugs.kde.org
M +12 -10 irccontactmanager.cpp 1.28 M +2 -2 irccontactmanager.h 1.12 --- kdenetwork/kopete/protocols/irc/irccontactmanager.cpp #1.27:1.28 @@ -129,6 +129,6 @@ void IRCContactManager::slotNewPrivActio void IRCContactManager::unregister(KopeteContact *contact) { - unregisterChannel(contact); - unregisterUser(contact); + unregisterChannel(contact, true); + unregisterUser(contact, true); } @@ -148,5 +148,5 @@ IRCChannelContact *IRCContactManager::fi m_channels.insert( name, channel ); QObject::connect(channel, SIGNAL(contactDestroyed(KopeteContact *)), - this, SLOT(unregisterChannel(KopeteContact *))); + this, SLOT(unregister(KopeteContact *))); } @@ -159,10 +159,11 @@ IRCChannelContact *IRCContactManager::ex } -void IRCContactManager::unregisterChannel(KopeteContact *contact) +void IRCContactManager::unregisterChannel(KopeteContact *contact, bool force ) { IRCChannelContact *channel = (IRCChannelContact*)contact; - if( channel!=0 && + if( force || ( + channel!=0 && !channel->isChatting() && - channel->metaContact()->isTemporary() ) + channel->metaContact()->isTemporary() ) ) { m_channels.remove( channel->nickName() ); @@ -185,5 +186,5 @@ IRCUserContact *IRCContactManager::findU m_users.insert( name, user ); QObject::connect(user, SIGNAL(contactDestroyed(KopeteContact *)), - this, SLOT(unregisterUser(KopeteContact *))); + this, SLOT(unregister(KopeteContact *))); } @@ -225,11 +226,12 @@ IRCContact *IRCContactManager::existCont } -void IRCContactManager::unregisterUser(KopeteContact *contact) +void IRCContactManager::unregisterUser(KopeteContact *contact, bool force ) { IRCUserContact *user = (IRCUserContact *)contact; - if( user!=0 && + if( force || ( + user!=0 && user!=mySelf() && !user->isChatting() && - user->metaContact()->isTemporary() ) + user->metaContact()->isTemporary() ) ) { kdDebug(14120) << k_funcinfo << user->nickName() << endl; --- kdenetwork/kopete/protocols/irc/irccontactmanager.h #1.11:1.12 @@ -68,6 +68,6 @@ class IRCContactManager public slots: void unregister(KopeteContact *contact); - void unregisterUser(KopeteContact *contact); - void unregisterChannel(KopeteContact *contact); + void unregisterUser(KopeteContact *contact, bool force = false ); + void unregisterChannel(KopeteContact *contact, bool force = false ); void addToNotifyList(const QString &nick);
Comment
#4
Ali Akcaagac 2004-08-17 12:27:09
Please re-open this bug. I am still getting this with Kopete from CVS. Just wanted to file a new bugreport about it until I saw that this has been reported already (and closed). I am stuck in the same issue and when I get the yellow bubble and press ignore Kopete still crashes.
Comment
#5
Till Gerken 2004-08-17 12:30:52
Please attach a backtrace, it helps a lot solving it.
Comment
#6
Michel Hermier 2004-08-30 20:08:03
Should be fixed in cvs HEAD now. Please make further testing, and close the bug if all is ok.
Comment
#7
Matt Rogers 2004-08-30 23:13:55
fixed by this commit: Avoid to remove/destroy protocol managed temporary metacontact while attempting to \ remove them of the contactlist. Should solve bugs 81823 and 86358. M +13 -7 kopetecontactlist.cpp 1.132 --- kdenetwork/kopete/libkopete/kopetecontactlist.cpp #1.131:1.132 @@ -853,7 +853,7 @@ QStringList KopeteContactList::contactFi for ( ; jt.current(); ++jt ) { - kdDebug(14010) << "1" << \ jt.current()->protocol()->pluginId() << "\n"; + kdDebug(14010) \ << "1" << jt.current()->protocol()->pluginId() << endl; if( \ jt.current()->canAcceptFiles() ) { - kdDebug(14010) << \ jt.current()->protocol()->pluginId() << "\n"; + \ kdDebug(14010) << jt.current()->protocol()->pluginId() << endl; protocols.append ( \ jt.current()->protocol()->pluginId() ); } @@ -872,4 +872,10 @@ KopeteGroupList KopeteContactList::group void KopeteContactList::removeMetaContact(KopeteMetaContact *m) { + if ( !d->contacts.contains(m) ) + { + kdDebug(14010) << k_funcinfo << "Trying to remove a not listed \ MetaContact." << endl; + return; + } + if ( d->selectedMetaContacts.contains( m ) ) {
Comment
#8
Peter Campbell 2005-07-10 00:24:42
Created an attachment (id=11733)
[details]
Kopete Crashes on Clicking Ignore Button - Private Message from Robot Upon IRC Connection Looks like it is still happening in the this release with sarge packages. KDE Release 3.3.2 Kopete 0.9.2 gcc version 3.3.6 (Debian 1:3.3.6-5)
P
latform
:
unspecified
O
S
:
Linux
K
eywords
:
People
Reporter
:
Iván Sánchez Ortega
Assigned To
:
Kopete Developers
Related actions
View Bug Activity
Format For Printing
XML
Clone This Bug
Note
You need to
log in
before you can comment on or make changes to this bug.
Attachments
Kopete Crashes on Clicking Ignore Button - Private Message from Robot Upon IRC Connection
(3.30 KB, text/plain)
2005-07-10 00:24
,
Peter Campbell
Details
View All
Add an attachment
(proposed patch, testcase, etc.)
Depends on
:
B
locks
:
Show dependency tree
-
Show dependency graph
First
Last
Prev
Next
No search results available
Search page
Actions
Reports
Requests
Reports
Bugs reported today
Bugs reported in the last 3 days
Bug reports with patches
Weekly Bug statistics
The most hated bugs
The most severe bugs
The most frequently reported bugs
The most wanted features
Junior Jobs
Report ownership counts and charts
My Account
New Account
Log In