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]