Am 05.04.2014 um 18:59 schrieb Mathias Bauer <mathias_ba...@gmx.net>:

> Hi Niels
> 
> Am 05.04.14 18:18, schrieb Niels Grewe:
>> Hi Mathias,
>> 
>> Am 04.04.2014 um 11:09 schrieb Mathias Bauer <mathias_ba...@gmx.net>:
>> 
>>>> #0  0x00007ffff4522f94 in objc_msgSend_fpret () from 
>>>> /usr/GNUstep/Local/Library/Libraries/libobjc.so.4.6
>>>> #1  0x00007ffff403c320 in -[GSAvahiNetService 
>>>> avahiResolver:foundServiceWithName:type:domain:hostName:address:port:txtRecord:ifIndex:protocol:]
>>>>  (self=0x19a1210, _cmd=0x7ffff44b51b0,
>>>>    aResolver=0x1ae7c90, name=0x1ea6da0, type=0x1b1e290, domain=0x1c269a0, 
>>>> hostName=0x195bc20, address=0x1a90b00, port=33024, txtRecord=0x1e95940, 
>>>> anIfIndex=3, aProtocol=0)
>>>>    at GSAvahiNetService.m:1509
>> 
>> I have no idea what could be wrong here. But one thing that strikes me as 
>> odd is the following: At line 1509, we are calling -[NSRecursiveLock 
>> unlock], which returns void, so I’m thinking that it shouldn’t really be 
>> going via objc_msgSend_fpret(), or should it?
> 
> I've got a similar response from Richard Frith-Macdonald, so yes, that's 
> weird. Probably memory corruption due to premature deallocation.

Could be. The method is called as part of a avahi callback and it does release 
some avahi resource as part of the processing. If that were holding the last 
reference to the object, it might cause us to be deallocated before the method 
has finished executing. I currently don’t see how it would (it’s been a while 
since I wrote that code, but I think usually the Obj-C objects own the avahi 
pointers, not the other way around), but it might be worth checking out whether 
commenting out the avahi_service_resolver_free() call makes the crash go away. 
Obviously, it’s no fix (the object would just leak), but it would give some 
indication of where to look next.

Cheers,

Niels
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to