Hallo,
Fred Kiefer wrote:
Hi Riccardo,
if you look at the line NSProcessInfo.m:1015 you will find:
_NSLog_printf_handler(_GNU_MISSING_MAIN_FUNCTION_CALL);
Now it is definitely a problem that this line leads to a recursion and
somebody with more base knowledge should look into that. Most liekly the
Interesting is that there is a comment that NSAssert that can't be used
to avoid recursion.
I put a breakpoint exactly there (NSProcessInfo.m:1015), the stack is
not yet corrupted. I copy it below.
As one can think,
(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.
Thanks to this we know that the PP trace is:
PPAppBootUtilities.m:42
PPGNUstepGlue_TitleablePopUpButton.m:70
It looks as there is an invalid selector and this causes a crash.
I commented out + (void) load of PPGNUstepGlue_TitleablePopUpButton.m
But again I get a stimilar recursive stacktrace where the UserName is
invalid.
All other application seem to run quite fine, I did run base tests and
it doesn't look so bad:
7992 Passed tests
38 Dashed hopes
6 Failed tests
5 Skipped sets
Only 6 failures:
Failed test: RecursiveLock.m:36 ... NSRecursiveLock
isLockedByCurrentThread returns NO when not locked
Failed test: RecursiveLock.m:39 ... NSRecursiveLock
isLockedByCurrentThread returns YES when not locked
Failed test: RecursiveLock.m:42 ... NSRecursiveLock
isLockedByCurrentThread returns NO when unlocked
Failed test: basic10_4.m:111 ... format width set correctly
Failed test: basic10_4.m:115 ... positive prefix set correctly
Failed test: basic10_4.m:145 ... negativeFormat used for -ve number
and none seems to be related, although... well there should be none.
function GSPrivateDefaultsFlag() needs another safety hatch. But the
problem seems not to be related to PikoPixel directly. The only possible
connection that I see is that there user defaults get set from a +load
method (PPGNUstepGlue_ModifierKeys.m). You could comment out the code in
that +load method and see if this changes the behaviour for you.
Unfortunately, it doesn't help.
Riccardo
trace:
#0 +[NSProcessInfo processInfo] (self=0xbb70f080 <_OBJC_Class_NSProcessInfo>,
_cmd=0xbb706b70 <_OBJC_SELECTOR_TABLE+400>) at NSProcessInfo.m:1015
#1 0xbb45f49d in InitialisePathUtilities () at NSPathUtilities.m:1154
#2 0xbb466d5b in GSDefaultsRootForUser (userName=userName@entry=0xb8cf1830)
at NSPathUtilities.m:1883
#3 0xbb4efe3f in -[NSUserDefaults initWithUser:] (self=self@entry=0xb8c61cd0,
_cmd=_cmd@entry=0xbb731850 <_OBJC_SELECTOR_TABLE+624>, userName=0xb8cf1830)
at NSUserDefaults.m:1180
#4 0xbb4ef964 in -[NSUserDefaults init] (self=0xb8c61cd0,
_cmd=0xbb731778 <_OBJC_SELECTOR_TABLE+408>) at NSUserDefaults.m:1094
#5 0xbb4f0369 in +[NSUserDefaults standardUserDefaults] (
self=0xbb731a60 <_OBJC_Class_NSUserDefaults>,
_cmd=0xbb731758 <_OBJC_SELECTOR_TABLE+376>) at NSUserDefaults.m:779
#6 0xbb4f2467 in GSPrivateDefaultsFlag (type=type@entry=GSLogThread)
at NSUserDefaults.m:2116
#7 0xbb441447 in NSLogv (format=format@entry=0xbb6cef44 <_OBJC_INSTANCE_2>,
args=args@entry=0xbfbfe768
"\260f\302\270\220\034\306\270\220\300\313\270$") at NSLog.m:354
#8 0xbb441957 in NSLog (format=format@entry=0xbb6cef44 <_OBJC_INSTANCE_2>)
at NSLog.m:297
#9 0xbb392004 in +[NSAutoreleasePool addObject:] (
self=0xbb6cecc0 <_OBJC_Class_NSAutoreleasePool>,
_cmd=0xbb703eb8 <_OBJC_SELECTOR_TABLE+120>, anObj=0xb8c266b0)
at NSAutoreleasePool.m:538
#10 0xbb456e93 in -[NSObject autorelease] (self=0xb8c266b0,
_cmd=0xbb6fcda0 <_OBJC_SELECTOR_TABLE+32>) at NSObject.m:1874
#11 0xbb44321f in +[NSMethodSignature signatureWithObjCTypes:] (
self=0xbb6fce20 <_OBJC_Class_NSMethodSignature>,
_cmd=0xbb743b40 <_OBJC_SELECTOR_TABLE>,
t=0x818f799 <_OBJC_METH_VAR_TYPE_0> "C12@0:4:8") at NSMethodSignature.m:559
#12 0xbb5240fd in gs_objc_msg_forward2 (
receiver=0xbb704060 <_OBJC_Class_NSObject>,
sel=0x81901b8 <_OBJC_SELECTOR_TABLE+824>) at GSFFIInvocation.m:163
#13 0xbb2958d1 in __objc_get_forward_imp () from /usr/lib/libobjc.so.4
#14 0xbb2970d2 in objc_msg_lookup () from /usr/lib/libobjc.so.4
#15 0x080bdcfc in PPAppBootUtils_PerformNSObjectSelectorAfterAppLoads (
selector=selector@entry=0x81ac448 <_OBJC_SELECTOR_TABLE+936>)
at PPAppBootUtilities.m:42
#16 0x080cc87f in +[NSObject(PPGNUstepGlue) TitleablePopUpButton_load] (
self=0xbb704060 <_OBJC_Class_NSObject>, _cmd=0xb8c156d0)
at PPGNUstepGlue_TitleablePopUpButton.m:70
#17 0xbb29a279 in ?? () from /usr/lib/libobjc.so.4
#18 0xbb29a622 in ?? () from /usr/lib/libobjc.so.4
#19 0xbb29b073 in __objc_exec_class () from /usr/lib/libobjc.so.4
#20 0x080ce3db in __objc_gnu_init ()
#21 0x080518d5 in ?? ()
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev