discuss-gnustep
[Top][All Lists]
Advanced

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

Re: MallocDebug oddities /w GNUstep on Darwin


From: Lars Sonchocky-Helldorf
Subject: Re: MallocDebug oddities /w GNUstep on Darwin
Date: Fri, 19 Jul 2002 15:40:57 +0200

Am Freitag den, 19. Juli 2002, um 13:08, schrieb Nicola Pero:


#15 0x7084b3b4 in NSLog ()
.
. looped several times
.
#2146 0x7083f94c in NSLogv ()
#2147 0x7084b3b4 in NSLog ()
#2148 0x708c6660 in _NSRaiseError ()
#2149 0x708788b8 in -[NSException raise] ()

The problem is, -[NSException raise] uses a method which might
raise an Exception yet again -> endless loop.

Ok yes - it's a bug but ... Was the stack trace for gnustep-base or for
the Apple Foundation ?

Since there is no _NSRaiseError in gnustep, I think this stack trace is
from Apple's Foundation, and the bug is in their code, not ours.

Nicola is right here, at #2166 the stack trace is switching from GNUstep to Apple's Foundation (as you can see from the missing "at NSxxx.m:lineNumber".

#2165 0x7088bef4 in -[NSObject forward::] ()
#2166 0x706bb250 in _objc_msgForward ()
#2167 0x00633084 in _gnu_process_args (argc=1, argv=0xbffff3c4, env=0xbffff3cc) at NSProcessInfo.m:181 #2168 0x006335bc in main (argc=1, argv=0xbffff3c4, env=0xbffff3cc) at NSProcessInfo.m:539
#2169 0x000028f0 in _start ()
#2170 0x00002720 in start ()

My question was how to keep gdb or MallocDebug from using Apple's Foundation and use GNUstep-base instead:

(gdb) run
Starting program: /Volumes/Data/Projekte/GNUstep-
Darwin/core/base/Examples/shared_debug_obj/powerpc/darwin5/nx-gnu-
gnu/dictionary
[Switching to process 6198 thread 0x1603]
Reading symbols for shared libraries ....... done
objc: Both /opt/GNUstep/System/Libraries/powerpc/darwin5/nx-gnu-
gnu/libgnustep-base_d.dylib and /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation have implementations of class NSMutableArray. objc: Using implementation from /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation.

and so on for every Class.

Maybe there is no way (I am just not experienced enough to know that) to keep gdb, whatever from "Using implementation from /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation.". but also then please tell me. Then I would have to go other ways.

What about those warnings:

/usr/bin/ld: warning multiple definitions of symbol _malloc_zone_print
/usr/lib/libMallocDebug.A.dylib(ProjectBuilderMasterObjectFile.o) definition of _malloc_zone_print
/usr/lib/libSystem.dylib(malloc.o) definition of _malloc_zone_print
/usr/bin/ld: warning multiple definitions of symbol _malloc_zone_malloc
/usr/lib/libMallocDebug.A.dylib(ProjectBuilderMasterObjectFile.o) definition of _malloc_zone_malloc

or

symbol _malloc used from dynamic library /usr/lib/libSystem.dylib(malloc.o) not from earlier dynamic library /usr/lib/libMallocDebug.A.dylib(ProjectBuilderMasterObjectFile.o) symbol _malloc_zone_print used from dynamic library /usr/lib/libSystem.dylib(malloc.o) not from earlier dynamic library /usr/lib/libMallocDebug.A.dylib(ProjectBuilderMasterObjectFile.o)

are they relevant? Must/can there something be done?

What about:

 Linking test_tool dictionary ...
/usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used

Thanks and greetings, Lars




reply via email to

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