discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Odd problem


From: Fred Kiefer
Subject: Re: Odd problem
Date: Wed, 27 Jul 2011 09:35:01 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.18) Gecko/20110616 SUSE/3.1.11 Thunderbird/3.1.11

On 27.07.2011 03:10, Germán Arias wrote:
OK, now all works fine, except GNUMail. So we can back to the original
problem. The code of gnumail I'm testing worked fine like a year ago (or
most). Since is the same code, this problem can be a bug on gnustep or
an incompatibility in gnumail (or pantomime). I send attached the
outputs on gdb and valgrind. The app crash at line 481 in CWService.m
(in pantomime framework):

if (_delegate&&  [_delegate respondsToSelector:
@selector(service:receivedData:)])

when is called the method respondToSelector:. When app crash, the object
_delegate don't implement the method service:receivedData:. But as I
know, this don't should crash the app.

Most likely your problem is that the delegate has already been deallocated when this method get called. A simple way to test this is to retain the delegate in the setDelegate: method. Of course this will leak an object and should only be done to test if this is actually the issue.
When you are sure about it, things get complicated :-(
You will have to find out where the delegate get set and what should keep him alive outside of the CWService and of course, why this mechanism isn't working. I don't understand much of Pantomime or GNUMail, but from a short look I think that CWService is a sort of super class of the different connections and TaskManager seems to be the delegate used. You will have to watch, when TaskManager gets deallocated.

Hope this helps
Fred



reply via email to

[Prev in Thread] Current Thread [Next in Thread]