Am 23.10.2015 um 11:46 schrieb Riccardo Mottola <riccardo.mott...@libero.it>:

> 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/i
 nfo:"; "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
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to