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

_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to