gnustep-dev
[Top][All Lists]
Advanced

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

Re: crash in NSPathUtilies / UserDefaults (from PikoPixel)


From: Fred Kiefer
Subject: Re: crash in NSPathUtilies / UserDefaults (from PikoPixel)
Date: Fri, 23 Oct 2015 13:08:43 +0200

 Am 23.10.2015 um 11:46 schrieb Riccardo Mottola <address@hidden>:

> Riccardo Mottola wrote:
>> (gdb) p _gnu_processName
>> $1 = (struct NSString *) 0x0
>> (gdb) p _gnu_arguments
>> $2 = (struct NSArray *) 0x0
>> (gdb) p _gnu_environment
>> $3 = (struct NSDictionary *) 0x0
>> 
>> they are all NULL, probably they shouldn't, since that is the assert, 
>> however again, we shouldn't get a crash in the print statement: two bugs in 
>> one. I think this is stuff in base.
> 
> as a test, I wrote a small program which has just a couple of lines:
>  NSLog(@"User name: %@", NSUserName());
>  NSLog(@"Full User name: %@", NSFullUserName());
>  NSLog(@"Process Name: %@", [[NSProcessInfo processInfo] processName]);
>  NSLog(@"Process args: %@", [[NSProcessInfo processInfo] arguments]);
>  NSLog(@"Process env: %@", [[NSProcessInfo processInfo] environment]);
> 
> I get a correct output... is this comparable to the values above upsetting 
> initialization.
> 
> 2015-10-23 13:44:43.158 EnvTest[25741:3105169552] User name: multix
> 2015-10-23 13:44:43.160 EnvTest[25741:3105169552] Full User name: Riccardo 
> Mottola
> 2015-10-23 13:44:43.160 EnvTest[25741:3105169552] Process Name: EnvTest
> 2015-10-23 13:44:43.161 EnvTest[25741:3105169552] Process args: 
> ("obj/EnvTest")
> 2015-10-23 13:44:43.161 EnvTest[25741:3105169552] Process env: {CLASSPATH = 
> "/home/multix/GNUstep/Library/Libraries/Java:/Local/Library/Libraries/Java:/System/Library/Libraries/Java";
>  DISPLAY = ":0.0"; EDITOR = vi; ENV = "/home/multix/.shrc"; 
> "GNUSTEP_FLATTENED" = yes; "GNUSTEP_HOST" = "i386-unknown-netbsdelf7.0."; 
> "GNUSTEP_HOST_CPU" = ix86; "GNUSTEP_HOST_OS" = "netbsdelf7.0."; 
> "GNUSTEP_HOST_VENDOR" = unknown; "GNUSTEP_IS_FLATTENED" = yes; 
> "GNUSTEP_LOCAL_ROOT" = "/Local"; "GNUSTEP_MAKEFILES" = 
> "/System/Library/Makefiles"; "GNUSTEP_NETWORK_ROOT" = "/Network"; 
> "GNUSTEP_PATHLIST" = "/System:/Network:/Local:/home/multix/GNUstep"; 
> "GNUSTEP_SYSTEM_ROOT" = "/System"; "GNUSTEP_USER_ROOT" = 
> "/home/multix/GNUstep"; "GUILE_LOAD_PATH" = 
> "/home/multix/GNUstep/Library/Libraries/Guile:/Local/Library/Libraries/Guile:/System/Library/Libraries/Guile";
>  HOME = "/home/multix"; INFOPATH = 
> "/System/Library/Documentation/info::/Local/Library/Documentation/info::/home/multix/GNUstep/Library/Documentation/info:";
>  "LD_LIBRARY_PATH" = 
> "/home/multix/GNUstep/Library/Libraries:/Local/Library/Libraries:/System/Library/Libraries";
>  "LIBRARY_COMBO" = "gnu-gnu-gnu"; LOGNAME = multix; OLDPWD = 
> "/home/multix/gnustep-src"; PATH = 
> "/home/multix/GNUstep/Tools:/Local/Tools:/System/Tools:/home/multix/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R7/bin:/usr/X11R6/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/games:/usr/local/bin:/usr/local/sbin";
>  PWD = "/home/multix/gnustep-src/EnvTest"; SHELL = "/bin/sh"; TERM = xterm; 
> USER = multix; }
> 
> 
> Looks perfect to me! so I dont' know what's going wrong in PikoPixel :(

Of course this works with a normal project. What happens in PikoPixel is that 
the +load methods get executed before the user defaults and process arguments 
are properly set up and there seem to be calls to autorelease triggered by 
these methods and at that time the autorelease pool infrastructure is not in 
place with the gcc runtime. This causes an NSLog call to report this issue and 
this fails because the user defaults aren't setup.

Fred


reply via email to

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