| [ CnUnix ] in KIDS 글 쓴 이(By): ymir (Mizz) 날 짜 (Date): 2003년 3월 11일 화요일 오후 02시 39분 16초 제 목(Title): [Q] Signal Handler 에서 Bus Error.. 시그널 핸들러가 갑자기 Bus Error 를 내면서 죽어 버렸는데.. 아무리 째려봐도 원인을 모르겠기에.. 여기에 올려 봅니다.. 여태 사고 한번 없이 잘 돌던 넘인데... 조언 부탁드리겠습니다... --------- Program terminated with signal 10, Bus Error. Reading symbols from /usr/lib/libsocket.so.1...done. Loaded symbols for /usr/lib/libsocket.so.1 Reading symbols from /usr/lib/libnsl.so.1...done. Loaded symbols for /usr/lib/libnsl.so.1 Reading symbols from /usr/lib/libc.so.1...done. Loaded symbols for /usr/lib/libc.so.1 Reading symbols from /usr/lib/libdl.so.1...done. Loaded symbols for /usr/lib/libdl.so.1 Reading symbols from /usr/lib/libmp.so.2...done. Loaded symbols for /usr/lib/libmp.so.2 Reading symbols from /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1...done. Loaded symbols for /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1 #0 0x38eb4 in signal () (gdb) where #0 0x38eb4 in signal () #1 0x1eb20 in set_signals () at utils.c:49 #2 0x1eaac in sig_child (sig=18) at utils.c:35 #3 <signal handler called> #4 0xff21895c in _so_accept () from /usr/lib/libc.so.1 #5 0x1e804 in main (argc=2, argv=0xffbefd34) at sosd.c:402 (gdb) list utils.c:49 47 void set_signals(void) 48 { 49 signal(SIGHUP, SIG_IGN); 50 signal(SIGKILL, sig_term); 51 signal(SIGTERM, sig_term); 52 signal(SIGPIPE, sig_term); 53 signal(SIGCHLD, sig_child); 54 if (FDEBUG) 55 signal(SIGINT, sig_term); 56 } (gdb) list utils.c:35 30 void sig_child(int sig) 31 { 32 pid_t pid=1; 33 int stat; 34 35 set_signals(); 36 while (pid > 0) 37 { 38 pid=waitpid(-1, &stat, WNOHANG); (gdb) disassemble Dump of assembler code for function signal: 0x38eb4 <signal>: jmp %g1 + 0x108 ! 0xff1ce108 <signal> 0x38eb8 <signal+4>: sethi %hi(0xcf000), %g1 0x38ebc <signal+8>: sethi %hi(0xff216c00), %g1 End of assembler dump. Oh, I do believe everlasting love and destiny to meet you again I feel a pain I can hardly stand all I can do is loving you - *Mizz* the Magic Knight! |