[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kopete-devel
Subject:    Re: [kopete-devel] Review Request: Fix for crash when disconnecting
From:       "Lamarque Souza" <lamarque () gmail ! com>
Date:       2009-09-11 19:39:33
Message-ID: 20090911193933.16883.88702 () localhost
[Download RAW message or body]



> On 2009-09-11 18:51:16, Matt Rogers wrote:
> > Let's get this patch committed for safety purposes. Users are seeing tons of \
> > crashes at logout time, and if this can help fix it for them, then let's go for \
> > it.

Actually I was not able to reproduce this problem anymore, I am not confortable in \
commiting this code without a confirmed use case. I am also busy trying to make \
ad-hoc wireless work with networkmanager-applet so I am going to stay some time away \
from Kopete development/fix.


- Lamarque


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/972/#review2297
-----------------------------------------------------------


On 2009-07-09 12:01:45, Lamarque Souza wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/972/
> -----------------------------------------------------------
> 
> (Updated 2009-07-09 12:01:45)
> 
> 
> Review request for Kopete.
> 
> 
> Summary
> -------
> 
> Sometimes Kopete crashes when disconnecting from WLM server. I think I have
> found the cause, which seems a race condition in WlmServer::WlmDisconnect:
> 
> 1    if (mainConnection)
> 2    {
> 3        disconnecting = true;
> 4        QListIterator i(cb.socketList);
> 5        while (i.hasNext())
> 6        {
> 7            a = i.next();
> 8            QObject::disconnect (a, 0, 0, 0);
> 9            cb.socketList.removeAll (a);
> 10        }
> 11        cb.socketList.clear ();
> 
> 12        if (mainConnection->connectionState () !=
> 13            MSN::NotificationServerConnection::NS_DISCONNECTED)
> 14        {
> 15            delete mainConnection;
> 16            mainConnection = NULL;
> 17        }
> 18    }
> 
> If WlmServer::WlmDisconnect is called twice in a really short time frame
> between the if in line 1 and the delete in line 15 some time will passed and
> the second run of WlmServer::WlmDisconnect will enter the if and delete
> mainConnection object for a second time, which will cause Kopete to crash.
> 
> 
> This addresses bug 199580.
> https://bugs.kde.org/show_bug.cgi?id=199580
> 
> 
> Diffs
> -----
> 
> /trunk/KDE/kdenetwork/kopete/protocols/wlm/wlmserver.h 993925 
> /trunk/KDE/kdenetwork/kopete/protocols/wlm/wlmserver.cpp 993925 
> 
> Diff: http://reviewboard.kde.org/r/972/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Lamarque
> 
> 

_______________________________________________
kopete-devel mailing list
kopete-devel@kde.org
https://mail.kde.org/mailman/listinfo/kopete-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic