discuss-gnustep
[Top][All Lists]
Advanced

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

Re: new crash: TalkSoup startup


From: Fred Kiefer
Subject: Re: new crash: TalkSoup startup
Date: Thu, 15 Dec 2016 23:29:47 +0100

> Am 15.12.2016 um 12:08 schrieb Wolfgang Lux <wolfgang.lux@gmail.com>:
> 
>> 
>> Am 15.12.2016 um 00:05 schrieb Riccardo Mottola <riccardo.mottola@libero.it>:
>> 
>> Hi,
>> 
>> Fred Kiefer wrote:
>>> In your specific case the initialisation of the NSDocumentController 
>>> happens because NSApplication cannot find a suitable responder for an 
>>> action it is trying to send. This looks like your UI is using an undefined 
>>> message.
>>> 
>>> Sorry, I know that this isn’t much help. But it is the best I can do right 
>>> now.
>>> Fred
>> 
>> I did not yet try valgrind, I am not very good at getting usable information 
>> from it, but I tried going back in gnustep GUI code and check if we "broke" 
>> something and indeed.
>> 
>> Oct 1st -> works!
>> Oct 9th -> works
>> Oct 23rd -> works
>> Oct 24th -> works
>> Oct 25th -> broken
>> 
>> thus the problems appears to be the lock change by Gregory!
>> The fact that we get a crash in [NSLock new] doesn't look so unreasonble now.
> 
> Actually, we don't get a crash in NSLock new, but we get a crash when the 
> result of NSLock new is assigned to the mlock variable. This looks a bit 
> weird at first, but then turns out to be a name conflict that is not resolved 
> properly by the linker. The mlock variable is not declared static and libc 
> exports a function mlock. Because of the incorrect declaration, the linker 
> resolves the name mlock in the assignment mlock = [NSLock new] to the libc 
> function rather than the global variable and the crash happens when the code 
> attempts to write the address of the new lock to the text section (read the 
> code) of the program.
> 
> Changing the declaration to use static (as it should always have been!) fixes 
> the issue.

Excellent detection work Wolfgang! Thank you very much. That removes he biggest 
issue that has been blocking a new GUI release. I hope to find time to look 
into the others over the weekend.

Fred




reply via email to

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