gnustep-dev
[Top][All Lists]
Advanced

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

Re: Crashes in recent builds related to avahi client


From: Niels Grewe
Subject: Re: Crashes in recent builds related to avahi client
Date: Sat, 5 Apr 2014 17:56:25 +0000

Am 05.04.2014 um 18:59 schrieb Mathias Bauer <address@hidden>:

> Hi Niels
> 
> Am 05.04.14 18:18, schrieb Niels Grewe:
>> Hi Mathias,
>> 
>> Am 04.04.2014 um 11:09 schrieb Mathias Bauer <address@hidden>:
>> 
>>>> #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


reply via email to

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