gnustep-dev
[Top][All Lists]
Advanced

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

RE: Application crashes when embedding GNU Smalltalk lib - Help?


From: Nicola Pero
Subject: RE: Application crashes when embedding GNU Smalltalk lib - Help?
Date: Tue, 1 May 2007 17:07:46 +0200 (CEST)

Hi Tim,

from the stacktrace that you provided, it seems that the problem is in NSString 
+initialize.

In particular, you're getting the following exception:

#ifdef HAVE_REGISTER_PRINTF_FUNCTION                                            
                      
      if (register_printf_function ('@',                                        
                      
                                    handle_printf_atsign,                       
                      
#if PRINTF_ATSIGN_VA_LIST                                                       
                      
                                    0))                                         
                      
#else                                                                           
                      
                                    arginfo_func))                              
                      
#endif                                                                          
                      
        [NSException raise: NSGenericException                                  
                      
                     format: @"register printf handling of %%@ failed"];        
                      
#endif /* HAVE_REGISTER_PRINTF_FUNCTION */ 

Maybe if you link GNU smalltalk, that interferes with 
register_printf_function() somehow ?  Or anyway
causes it to fail ?  To confirm that this is the problem, you could try to 
comment that bit out and see if that
stops the problem.

Thanks


-----Original Message-----
From: Tim McIntosh <address@hidden>
Sent: Mon, April 30, 2007 2:56 am
To: GNUstep Developer <address@hidden>
Subject: Application crashes when embedding GNU Smalltalk lib - Help?

_______________________________________________
Gnustep-dev mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnustep-dev
Does anyone happen to know why the mere presence of "-lgst" (GNU  
Smalltalk library) in the link would cause the attached app to crash?  
(see transcript below)

Thanks!
-Tim


Transcript:

% uname -a
FreeBSD kashyyyk.astro.net 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri  
Jan 12 11:05:30 UTC 2007     address@hidden:/usr/obj/ 
usr/src/sys/SMP  i386

### NOTE:  As shown below, app runs when -lgst is suppressed; same  
results if the Test_GUI_LIBS line is simply removed from the  
Makefile: ###

% gmake Test_GUI_LIBS=
This is gnustep-make 2.0.0. Type ’make print-gnustep-make-help’  
for help.
Making all for app Test...
  Creating Test.app/....
  Compiling file main.m ...
  Linking app Test ...
  Creating Test.app/Resources...
  Creating Test.app/Resources/Info-gnustep.plist...
  Creating Test.app/Resources/Test.desktop...

% openapp ./Test
2007-04-29 19:33:45.080 Test[80416] Unable to read color file at "/ 
Network/Users/tmcintos/Library/Colors/Emacs
.clr" -- unknown format.
^C

% gmake clean
This is gnustep-make 2.0.0. Type ’make print-gnustep-make-help’  
for help.
rm -rf ./*~ ./obj
(cd .; \
         rm -rf    *.app)

### NOTE:  Here is the build with -lgst where the crash is observed: ###

% gmake
This is gnustep-make 2.0.0. Type ’make print-gnustep-make-help’  
for help.
Making all for app Test...
  Creating Test.app/....
  Compiling file main.m ...
  Linking app Test ...
  Creating Test.app/Resources...
  Creating Test.app/Resources/Info-gnustep.plist...
  Creating Test.app/Resources/Test.desktop...

% openapp ./Test
Segmentation fault

% debugapp ./Test
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and  
you are
welcome to change it and/or distribute copies of it under certain  
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for  
details.
This GDB was configured as "i386-marcel-freebsd"...
(gdb) run
Starting program: /.amd_mnt/alderaan/Exports/Users/tmcintos/ 
Development/SmallTalk/SmallStep/Test.subproj/Test.
app/Test
warning: Unable to get location for thread creation breakpoint:  
generic error
[New LWP 100098]
[New Thread 0x8054018 (LWP 100098)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x8054018 (LWP 100098)]
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x2852fde2 in +[NSAutoreleasePool new] (self=0x28773a80,  
_cmd=0x28773b08) at NSAutoreleasePool.m:143
#2  0x285300e4 in +[NSAutoreleasePool addObject:] (self=0x28773a80,  
_cmd=0x2879d208, anObj=0x80c9b60)
     at NSAutoreleasePool.m:247
#3  0x285bbd30 in -[NSObject autorelease] (self=0x80c9b60,  
_cmd=0x287d6960) at NSObject.m:1790
#4  0x28653a29 in +[NSString(GSCategories)  
stringWithFormat:arguments:] (self=0x287b2880, _cmd=0x28789f68,
     format=0x287b2ddc, argList=0xbfbfdc90 "x¬\t\b%") at  
GSCategories.m:1100
#5  0x285828aa in +[NSException raise:format:arguments:]  
(self=0x28789d80, _cmd=0x28789f60, name=0x2878a07c,
     format=0x287b2ddc, argList=0xbfbfdc90 "x¬\t\b%") at  
NSException.m:751
#6  0x28582854 in +[NSException raise:format:] (self=0x28789d80,  
_cmd=0x287b28e8, name=0x2878a07c,
     format=0x287b2ddc) at NSException.m:739
#7  0x28602c39 in +[NSString initialize] (self=0x287b2880,  
_cmd=0x287c5408) at NSString.m:598
#8  0x287edce7 in __objc_install_premature_dtable () from /usr/lib/ 
libobjc.so.2
#9  0x287ee3b0 in objc_msg_lookup () from /usr/lib/libobjc.so.2
#10 0x285baca7 in +[NSObject initialize] (self=0x2879d140,  
_cmd=0x287c5408) at NSObject.m:1133
#11 0x287edce7 in __objc_install_premature_dtable () from /usr/lib/ 
libobjc.so.2
#12 0x287edcf4 in __objc_install_premature_dtable () from /usr/lib/ 
libobjc.so.2
#13 0x287ee3b0 in objc_msg_lookup () from /usr/lib/libobjc.so.2
#14 0x281a6ee1 in NSApplicationMain (argc=1, argv=0xbfbfdeb4) at  
Functions.m:53
#15 0x0804868f in main (argc=1, argv=0xbfbfdeb4) at main.m:16
(gdb) quit
The program is running.  Exit anyway? (y or n) y

% ldd Test.app/Test
Test.app/Test:
         libgst.so.5 => /usr/local/lib/libgst.so.5 (0x2807a000)
         libgnustep-gui.so.0.13 => /System/Library/Libraries/ 
libgnustep-gui.so.0.13 (0x28114000)
         libgnustep-base.so.1.15 => /System/Library/Libraries/ 
libgnustep-base.so.1.15 (0x2847d000)
         libobjc.so.2 => /usr/lib/libobjc.so.2 (0x287e4000)
         libm.so.4 => /lib/libm.so.4 (0x287f8000)
         libpthread.so.2 => /lib/libpthread.so.2 (0x2880e000)
         libc.so.6 => /lib/libc.so.6 (0x28833000)
         libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x28918000)
         libreadline.so.6 => /lib/libreadline.so.6 (0x289e3000)
         libexecinfo.so.1 => /usr/local/lib/libexecinfo.so.1  
(0x28a10000)
         libaudiofile.so.0 => /usr/local/lib/libaudiofile.so.0  
(0x28a1b000)
         libaspell.so.16 => /usr/local/lib/libaspell.so.16 (0x28a3f000)
         libungif.so.5 => /usr/local/lib/libungif.so.5 (0x28b0a000)
         libpng.so.5 => /usr/local/lib/libpng.so.5 (0x28b12000)
         libtiff.so.4 => /usr/local/lib/libtiff.so.4 (0x28b34000)
         libz.so.3 => /lib/libz.so.3 (0x28b82000)
         libjpeg.so.9 => /usr/local/lib/libjpeg.so.9 (0x28b93000)
         libgmp.so.7 => /usr/local/lib/libgmp.so.7 (0x28bb1000)
         libxslt.so.2 => /usr/local/lib/libxslt.so.2 (0x28bdf000)
         libxml2.so.5 => /usr/local/lib/libxml2.so.5 (0x28c0d000)
         libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28d18000)
         libkvm.so.3 => /lib/libkvm.so.3 (0x28e05000)
         libncurses.so.6 => /lib/libncurses.so.6 (0x28e0c000)
         libintl.so.6 => /usr/local/lib/libintl.so.6 (0x28e4b000)
         libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x28e54000)
         libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x28e5c000)
         libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x28e72000)

% ldd /usr/local/lib/libgst.so
/usr/local/lib/libgst.so:
         libreadline.so.6 => /lib/libreadline.so.6 (0x281fd000)
         libexecinfo.so.1 => /usr/local/lib/libexecinfo.so.1  
(0x2822a000)
         libm.so.4 => /lib/libm.so.4 (0x28235000)
         libncurses.so.6 => /lib/libncurses.so.6 (0x2824b000)







reply via email to

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