
I need some advice on how to troubleshoot an app crash. First, I'm used to getting core images in UNIX, I have never seen one in Linux. Do I have to enable those somehow? My issue: 3dmd (3ware's raid daemon) works fine in SuSE 8.0. It is unreliable with SuSE 8.2 3ware distributes it as a binary. I don't think source is available, but I'm hoping I can figure out the problem and fix it by modifying something in the SuSE distro. Per "ldd /usr/sbin/3dmd" it is "not a dynamic executable", so it should not be a library issue. My troubleshooting: I start 3dmd with: strace -ff -o /tmp/3dmd /usr/sbin/3dmd 3dmd then fires off a child processes. The first child in turn forks off at least 3 children of its own. It runs fine until I connect to it with a browser and click "Send Test Message". Then all 5 processes disappear from the process table and the browser times out. Looking at the strace output I see a seg. fault with one of the final 3 child processes. I have included the last 50 lines of the strace below my signature. The seg fault is near the top. The strace is not telling me anything useful, what other steps can I take? Thanks Greg -- Greg Freemyer === strace final output tmp # tail -50 3dmd.1473 read(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0pY\1\000"..., 1024) = 1024 fstat64(9, {st_mode=S_IFREG|0755, st_size=1491599, ...}) = 0 old_mmap(NULL, 1268004, PROT_READ|PROT_EXEC, MAP_PRIVATE, 9, 0) = 0x4000d000 mprotect(0x4013c000, 26916, PROT_NONE) = 0 old_mmap(0x4013c000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 9, 0x12f000) = 0x4013c000 old_mmap(0x40140000, 10532, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40140000 close(9) = 0 open("/lib/ld-linux.so.2", O_RDONLY) = 9 read(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\n\0"..., 1024) = 1024 fstat64(9, {st_mode=S_IFREG|0755, st_size=97518, ...}) = 0 old_mmap(NULL, 83576, PROT_READ|PROT_EXEC, MAP_PRIVATE, 9, 0) = 0x40143000 mprotect(0x40157000, 1656, PROT_NONE) = 0 old_mmap(0x40157000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 9, 0x14000) = 0x40157000 close(9) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- write(4, "\0\374\177\277\2\0\0\0\v\0\0\0\377H\7\10p*\21\10\274\7"..., 148) = 148 rt_sigprocmask(SIG_SETMASK, NULL, [SEGV RTMIN], 8) = 0 rt_sigsuspend([SEGV]--- SIGINT (Interrupt) @ 0 (0) --- ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [SEGV RTMIN]) rt_sigsuspend([SEGV] <unfinished ...> --- SIGINT (Interrupt) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [SEGV RTMIN]) rt_sigsuspend([SEGV] <unfinished ...> --- SIGINT (Interrupt) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [SEGV RTMIN]) rt_sigsuspend([SEGV] <unfinished ...> --- SIGINT (Interrupt) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [SEGV RTMIN]) rt_sigsuspend([SEGV] <unfinished ...> --- SIGINT (Interrupt) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [SEGV RTMIN]) rt_sigsuspend([SEGV] <unfinished ...> --- SIGINT (Interrupt) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [SEGV RTMIN]) rt_sigsuspend([SEGV] <unfinished ...> --- SIGINT (Interrupt) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [SEGV RTMIN]) rt_sigsuspend([SEGV] <unfinished ...> --- SIGTERM (Terminated) @ 0 (0) --- <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call) --- SIGCONT (Continued) @ 0 (0) --- sigreturn() = ? (mask now [SEGV TERM]) _exit(15) = ? DualStore2000:/tmp #
participants (1)
-
Greg Freemyer