Archived
This forum has been archived. Please start a new discussion on GitHub.
seg fault
Hi,
I keep getting segfaults when running icegridnode and icegridadmin. Running it on solaris galaxy, uname -a is:
SunOS 5.10 Generic_127112-02 i86pc i386 i86pc
The exceptions occurs on shutdown, whether Ctrl-C or normally. Here's the gdb printout for icegridadmin,
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /abc/platform/eq/sparc_SunOS_5.6/ace/3rdParty/solaris-x86-64/ice/3.2.1/bin/icegridadmin
[New LWP 1 ]
(no debugging symbols found)
warning: Temporarily disabling breakpoints for unloaded shared library "/usr/lib/amd64/ld.so.1"
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
warning: Lowest section in /lib/amd64/libpthread.so.1 is .dynamic at 00000000000000b0
warning: Lowest section in /lib/amd64/libthread.so.1 is .dynamic at 00000000000000b0
[New Thread 1 (LWP 1)]
[New LWP 2 ]
[New LWP 3 ]
[New LWP 4 ]
user id: boo
password:
[New LWP 5 ]
Ice 3.2.1 Copyright 2003-2007 ZeroC, Inc.
>>> quit
[LWP 5 exited]
[New Thread 5 ]
[LWP 3 exited]
[New Thread 3 ]
[LWP 4 exited]
[New Thread 4 ]
[New Thread 2 (LWP 2)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 2 (LWP 2)]
0xfffffd7fff3dd591 in dlamd64getunwind () from /lib/amd64/ld.so.1
(gdb)
I keep getting segfaults when running icegridnode and icegridadmin. Running it on solaris galaxy, uname -a is:
SunOS 5.10 Generic_127112-02 i86pc i386 i86pc
The exceptions occurs on shutdown, whether Ctrl-C or normally. Here's the gdb printout for icegridadmin,
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /abc/platform/eq/sparc_SunOS_5.6/ace/3rdParty/solaris-x86-64/ice/3.2.1/bin/icegridadmin
[New LWP 1 ]
(no debugging symbols found)
warning: Temporarily disabling breakpoints for unloaded shared library "/usr/lib/amd64/ld.so.1"
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
warning: Lowest section in /lib/amd64/libpthread.so.1 is .dynamic at 00000000000000b0
warning: Lowest section in /lib/amd64/libthread.so.1 is .dynamic at 00000000000000b0
[New Thread 1 (LWP 1)]
[New LWP 2 ]
[New LWP 3 ]
[New LWP 4 ]
user id: boo
password:
[New LWP 5 ]
Ice 3.2.1 Copyright 2003-2007 ZeroC, Inc.
>>> quit
[LWP 5 exited]
[New Thread 5 ]
[LWP 3 exited]
[New Thread 3 ]
[LWP 4 exited]
[New Thread 4 ]
[New Thread 2 (LWP 2)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 2 (LWP 2)]
0xfffffd7fff3dd591 in dlamd64getunwind () from /lib/amd64/ld.so.1
(gdb)
0
Comments
-
Hi Denis,
The preferred debugger on Solaris 10 for Sun C++ binaries is dbx. I'd recommend to use a recent version, such as the dbx that comes with Sun Studio 11 or 12.
Are you using the Ice 3.2.1 binary distribution for Solaris 10 x86/x64? Or is it your own build?
Naturally, none of our programs should crash at exit. I suspect a problem with a system library version, such as libCrun.so.1 or maybe the dynamic linker. Getting a stack trace may give us more clues.
Here is my stack trace of an icegridadmin core on Solaris 10 amd64; I got this core by sending SIGQUIT to the icegridadmin process:dbx `which icegridadmin` core.icegridadmin.20125 For information about new features see `help changes' To remove this message, put `dbxenv suppress_startup_message 7.6' in your .dbxrc Reading icegridadmin core file header read successfully Reading ld.so.1 Reading libGlacier2.so.3.3.0 Reading libIceXML.so.3.3.0 Reading libIceGrid.so.3.3.0 Reading libIcePatch2.so.3.3.0 Reading libIceBox.so.3.3.0 Reading libIce.so.3.3.0 Reading libIceUtil.so.3.3.0 Reading libpthread.so.1 Reading libCstd.so.1 Reading libCrun.so.1 Reading libm.so.2 Reading libthread.so.1 Reading libc.so.1 Reading libexpat.so.0.5.0 Reading libssl.so.0.9.7 Reading libcrypto.so.0.9.7 Reading libbz2.so.1 Reading libdl.so.1 Reading libsocket.so.1 Reading librt.so.1 Reading libnsl.so.1 Reading libaio.so.1 Reading libmd5.so.1 Reading libssl_extra.so.0.9.7 Reading libcrypto_extra.so.0.9.7 Reading nss_files.so.1 t@1 (l@1) terminated by signal QUIT (Quit) 0xfffffd7ffe7ce3aa: _read+0x000a: jae _read+0x16 [ 0xfffffd7ffe7ce3b6, .+0xc ] (dbx) where current thread: t@1 =>[1] _read(0x0, 0xfffffd7ffe7fb2e4, 0x400, 0x1, 0x0, 0x0), at 0xfffffd7ffe7ce3aa [2] __filbuf(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe7adeb7 [3] getc(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe7b1ffa [4] IceGrid::Parser::getInput(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x474feb [5] yy_get_next_buffer(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x45c0c3 [6] yylex(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x45b541 [7] yyparse(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x4557a9 [8] IceGrid::Parser::parse(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x475f42 [9] Client::run(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x576a32 [10] Client::main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x5717c4 [11] main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x570fa0 (dbx) threads o> t@1 a l@1 ?() signal SIGQUIT in _read() t@2 a l@2 sigwaitThread() LWP suspended in ___sigtimedwait() t@3 a l@3 startHook() sleep on 0x6fe388 in __lwp_park() t@4 a l@4 startHook() sleep on 0x703528 in __lwp_park() t@5 a l@5 startHook() LWP suspended in __pollsys() t@6 a l@6 startHook() LWP suspended in __pollsys() t@7 a l@7 startHook() sleep on 0x70c5c8 in __lwp_park()
Also make sure you have 'ulimit -c' set to unlimited to get core files.
Best regards,
Bernard0