application unload 시 trap(exception) 문제 디버깅 (strace 이용)
Linux 기반에서 SW를 개발하고 있습니다. SW unload 시 trap(exception)이 발생하는데 traceback이나 stack 정보가 남아있지 않습니다. strace를 통해 trace를 했으나, 정확한 분석이 어렵네요.. 왜 trap이 발생했는지 유추가 가능한지요..? 고수님들 부탁드려요.. (Processor id : 19716, therad id : 19739)
[pid 19739] select(0, NULL, NULL, NULL, {0, 408000}
[pid 19739] <... select resumed> ) = 0 (Timeout)
[pid 19739] select(0, NULL, NULL, NULL, {1, 0}
[pid 19739] <... select resumed> ) = 0 (Timeout)
[pid 19739] select(0, NULL, NULL, NULL, {1, 0}
[pid 19739] <... select resumed> ) = 0 (Timeout)
[pid 19739] select(0, NULL, NULL, NULL, {1, 0}
[pid 19739] <... select resumed> ) = 0 (Timeout)
[pid 19739] select(0, NULL, NULL, NULL, {1, 0}
[pid 19739] <... select resumed> ) = 0 (Timeout)
[pid 19739] select(0, NULL, NULL, NULL, {1, 0}
[pid 19734] open("/proc/19716/task/19739/status", O_RDONLY
[pid 19734] tgkill(19716, 19739, SIGRT_0
[pid 19739] <... select resumed> ) = ? ERESTARTNOHAND (To be restarted)
[pid 19739] --- SIGRT_0 (Unknown signal 32) @ 0 (0) ---
[pid 19739] futex(0x5558425f20, 0x80 /* FUTEX_??? */, 2
[pid 19739] <... futex resumed> ) = 0
[pid 19739] clock_gettime(CLOCK_REALTIME,
[pid 19739] <... clock_gettime resumed> {1359423205, 805637802}) = 0
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] readlink("/proc/19716/exe",
[pid 19739] <... readlink resumed> "/run/opt/nortel/aec1000/3.0.0/bin/cpp_cm", 1024) = 40
[pid 19739] prctl(0x10 /* PR_??? */, 0x55847fdbf8, 0x400, 0, 0
[pid 19739] <... prctl resumed> ) = 0
[pid 19739] gettimeofday(
[pid 19739] <... gettimeofday resumed> {1359423205, 808338}, NULL) = 0
[pid 19739] newlstat("/etc/localtime",
[pid 19739] <... newlstat resumed> {st_mode=S_IFLNK|0777, st_size=30, ...}) = 0
[pid 19739] newstat("/etc/localtime",
[pid 19739] <... newstat resumed> {st_mode=S_IFREG|0644, st_size=380, ...}) = 0
[pid 19739] newstat("/etc/localtime",
[pid 19739] <... newstat resumed> {st_mode=S_IFREG|0644, st_size=380, ...}) = 0
[pid 19739] sendto(6, "<175>Jan 29 10:33:25 cpp_cm[1971"..., 177, MSG_NOSIGNAL, ptrace: umoven: Input/output error
[pid 19739] <... sendto resumed> ) = 177
[pid 19739] futex(0x5558425f20, 0x81 /* FUTEX_??? */, 1
[pid 19739] <... futex resumed> ) = 1
[pid 19739] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] rt_sigprocmask(SIG_SETMASK, NULL,
[pid 19739] <... rt_sigprocmask resumed> ~[QUIT ILL TRAP IOT FPE KILL BUS SYS STOP XCPU XFSZ RT_1], 16) = 0
[pid 19739] rt_sigprocmask(SIG_BLOCK, ~[QUIT ILL TRAP IOT FPE BUS SYS XCPU XFSZ RT_0 RT_1],
[pid 19739] <... rt_sigprocmask resumed> ~[QUIT ILL TRAP IOT FPE KILL BUS SYS STOP XCPU XFSZ RT_1], 16) = 0
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] mmap(0x1ef00007000000, 135168, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, 1874593424, 0x4d1b
[pid 19739] <... mmap resumed> ) = 0x556fcc6000
[pid 19739] mprotect(0x556fcc7000, 126976, PROT_READ|PROT_WRITE
[pid 19739] <... mprotect resumed> ) = 0
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] sigaltstack(NULL
[pid 19739] <... sigaltstack resumed> , {ss_sp=0x556fba2000, ss_flags=SS_ONSTACK, ss_size=126976}) = 0
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] getppid(
[pid 19739] <... getppid resumed> ) = 1
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] gettimeofday(
[pid 19739] <... gettimeofday resumed> {1359423205, 826996}, NULL) = 0
[pid 19739] sendto(3, "<178>Jan 29 10:33:25 cpp_cm: MTC"..., 111, MSG_NOSIGNAL, ptrace: umoven: Input/output error
[pid 19739] <... sendto resumed> ) = 111
[pid 19739] rt_sigprocmask(SIG_UNBLOCK, [QUIT ILL TRAP IOT FPE BUS SEGV SYS XCPU XFSZ],
[pid 19739] <... rt_sigprocmask resumed> NULL, 16) = 0
[pid 19739] prctl(0x10 /* PR_??? */, 0x556fbc06c0, 0, 0, 0
[pid 19739] <... prctl resumed> ) = 0
[pid 19739] gettimeofday(
[pid 19739] <... gettimeofday resumed> {1359423205, 829736}, NULL) = 0
[pid 19739] sendto(3, "<175>Jan 29 10:33:25 cpp_cm: ee_"..., 153, MSG_NOSIGNAL, ptrace: umoven: Input/output error
[pid 19739] <... sendto resumed> ) = 153
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] gettimeofday(
[pid 19739] <... gettimeofday resumed> {1359423205, 832627}, NULL) = 0
[pid 19739] sendto(3, "<178>Jan 29 10:33:25 cpp_cm: MTC"..., 98, MSG_NOSIGNAL, ptrace: umoven: Input/output error
[pid 19739] <... sendto resumed> ) = 98
[pid 19739] gettid(
[pid 19739] <... gettid resumed> ) = 19739
[pid 19739] gettimeofday(
[pid 19739] <... gettimeofday resumed> {1359423205, 835436}, NULL) = 0
[pid 19739] sendto(3, "<178>Jan 29 10:33:25 cpp_cm: MTC"..., 70, MSG_NOSIGNAL, ptrace: umoven: Input/output error
[pid 19739] <... sendto resumed> ) = 70
[pid 19739] open("/proc/19716/maps", O_RDONLY
[pid 19739] <... open resumed> ) = 31
[pid 19739] newfstat(31,
[pid 19739] <... newfstat resumed> {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
[pid 19739] mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 1489531888, 0x323352a
[pid 19739] <... mmap resumed> ) = 0x556fd18000
[pid 19739] read(31,
[pid 19739] <... read resumed> "07000000-07001000 ---p 07000000 "..., 1024) = 1024
[pid 19739] read(31,
[pid 19739] <... read resumed> "
[pid 19739] read(31,
[pid 19739] <... read resumed> "V20000111 (deleted)\n555c420000-5"..., 1024) = 1024
[pid 19739] read(31,
[pid 19739] <... read resumed> "0 00:08 172032294 "..., 1024) = 1024
[pid 19739] read(31,
[pid 19739] <... read resumed> "deleted)\n555c435000-555c436000 r"..., 1024) = 1024
[pid 19739] +++ killed by SIGSEGV +++
PANIC: handle_group_exit: 19739 leader 19716
Process 19739 detached
댓글 달기