From seeing the stack trace I wrote in the previous email, it just hit me.
The executable is using an older version of gnu step (1.24) not the one I am 
building to /usr/local/lib

So I will remove the older version and check if the problem persists.




> On 19 Dec 2017, at 19:09, Daniel Santos <daniel.d...@gmail.com> wrote:
> 
> I forgot the mention that the call that triggers the code in the previous 
> email is 
> 
> GNUMail_main.m line 35 :
> 
>       pool = [[NSAutoreleasePool alloc] init];
> 
> (gdb) bt -5
> #22 0x00007ffff4b606b6 in ?? () from /usr/lib/libgnustep-base.so.1.24
> #23 0x00007ffff59990b6 in ?? () from /usr/lib/x86_64-linux-gnu/libobjc.so.4
> #24 0x00007ffff5999117 in ?? () from /usr/lib/x86_64-linux-gnu/libobjc.so.4
> #25 0x00007ffff599ad48 in objc_msg_lookup () from 
> /usr/lib/x86_64-linux-gnu/libobjc.so.4
> #26 0x000055555555558c in main (argc=1, argv=0x7fffffffe468, env=<optimized 
> out>) at GNUMail_main.m:35
> (gdb) 
> 
> 
> 
>> On 19 Dec 2017, at 18:45, Daniel Santos <daniel.d...@gmail.com 
>> <mailto:daniel.d...@gmail.com>> wrote:
>> 
>> Hello,
>> 
>> I checked the sources and Project Center defaults to calling NSWorkspace 
>> which in turn calls xdg to open files. So I will leave it at that.
>> 
>> As to the GNUmail error, I ran the program through GDB and the following 
>> call in NSThread is returning null :
>> 
>> line 619 : NSThread  *t = pthread_getspecific(thread_object_key);
>> 
>> where the value for thread_object_key is 0 (as seen in gdb). Since this is 
>> the first thread that is created I guess this is normal, because no set was 
>> previously made
>> 
>> It then does :
>>   if (nil == thr)
>>     {
>>       NSValue *selfThread = NSValueCreateFromPthread(pthread_self());
>>      ...
>> 
>> which also returns null. This I think it should not return null
>> it then does :
>> 
>>   if (nil == thr)
>>     {
>>       GSRegisterCurrentThread();
>>       thr = pthread_getspecific(thread_object_key);
>>       if ((nil == defaultThread) && IS_MAIN_PTHREAD)
>>         {
>>           defaultThread = RETAIN(thr);
>>         }
>>     }
>> but unless it was set in some other place, the variable thread_object_key is 
>> still 0, so thr should still be null after this.
>> And then the assertion : 
>> assert(nil != thr && "No main thread”); is reached, and there’s the error I 
>> saw in the console.
>> 
>> I noticed that I can make GNUMail if i first run the GNUStep.sh script from 
>> the makefiles project, and then the error running it.
>> If I don’t run the GNUStep.sh script and do make on the command line I get :
>> 
>> This is gnustep-make 2.7.0. Type 'make print-gnustep-make-help' for help.
>> Running in gnustep-make version 2 strict mode.
>> /usr/local/share/GNUstep/Makefiles/config-noarch.make:121: *** 
>> GNUSTEP_USER_ROOT is obsolete.  Stop.
>> 
>> Regards
>> 
>>> On 17 Dec 2017, at 17:38, Ivan Vučica <i...@vucica.net 
>>> <mailto:i...@vucica.net>> wrote:
>>> 
>>> 1. You might mean xdg-open, though I doubt PC checks freedesktop.org 
>>> <http://freedesktop.org/>'s mime database before deciding how to open the 
>>> file. It's probably based on the extension. I have not used PC in years, 
>>> but doesn't it generate and overwrite GNUmakefile? I'd expect if you manage 
>>> to get PC to open it, it might not be as useful.
>>> I'd rather recommend that, if a project doesn't come with a PC project 
>>> file, don't try to use PC unless upstream wants to support this.
>>> 
>>> 2. Did you uninstall all of GNUstep? Did you remove /etc/GNUstep.conf? 
>>> Other than that, there isn't enough information to make a guess, I think. 
>>> How about a nice backtrace, from which you or someone else can work out 
>>> where GNUMail died.
>>> This is rather generic and just says something didn't create the main 
>>> thread. How did you build GNUMail? Unfortunately, you may want to provide 
>>> full steps from a blank machine to the state in which you are.
>>> 
>>> 
>>> On Wed, Dec 13, 2017, 23:46 Daniel Santos <daniel.d...@gmail.com 
>>> <mailto:daniel.d...@gmail.com>> wrote:
>>> Hello,
>>> 
>>> I have cloned the GNUStep repos on GitHub and built them and installed them 
>>> on a Debian 9. Then I downloaded GNUMail 1.2.3 and installed its 
>>> dependencies (Pantomime and AddressBook)
>>> I ran Address Book and i seems to be running fine. I then built GNUMail and 
>>> when trying to run it form the command line I am getting the following 
>>> error :
>>> 
>>>         GNUMail: NSThread.m:646: GSCurrentThread: Assertion `nil != thr && 
>>> "No main thread"' failed.
>>> 
>>> ,wich lead me to download and build project center to look at the sources 
>>> and try to debug it. Project center installed fine (the release version on 
>>> the main site) and I then created a project in the directory of the GNUMail 
>>> sources.
>>> 
>>> When I open the GNUmakefile the file opens in a external editor and not in 
>>> Project center. I investigated it and it seems to be related to xdc-open. I 
>>> didn’t get a chance to look at the GNUMail code yet.
>>> 
>>> I have two questions :
>>> 1 - Is it possible to make project center ignore xdc-open and open all the 
>>> text files it knows in its own editor ?
>>> 2 - Any clue to why the error in GNUMail is happenning ?
>>> 
>>> Thanks
>>> _______________________________________________
>>> Discuss-gnustep mailing list
>>> Discuss-gnustep@gnu.org <mailto:Discuss-gnustep@gnu.org>
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnustep 
>>> <https://lists.gnu.org/mailman/listinfo/discuss-gnustep>
>> 
> 

_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to