Latest 2.6 kernels broke debugging of threaded applications

From: ismail dönmez
Date: Sat Aug 14 2004 - 12:38:02 EST


Hi all,

I am having weird problems with gdb & latest 2.6 kernels

I tested 2.6.6,.2.6.7,.2.6.8 and they all have the same problem. When
I try to debug a threaded application in gdb applications freezes and
gdb doesn't output anything. strace shows this interesting piece at
the point the application freezes :

<snip>

--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn() = ? (mask now [RTMIN])
wait4(-1, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGTRAP}], 0, NULL) = 17055
ptrace(PTRACE_GETREGS, 17055, 0, 0xbfffea60) = 0
ptrace(PTRACE_PEEKUSER, 17055, offsetof(struct user, u_debugreg) + 24,
[0xffff4ff0]) = 0
ptrace(PTRACE_PEEKTEXT, 17055, 0x4000af40, [0x5de58955]) = 0
ptrace(PTRACE_PEEKTEXT, 17055, 0x4000af40, [0x5de58955]) = 0
ptrace(PTRACE_POKEDATA, 17055, 0x4000af40, 0x5de589cc) = 0
ptrace(PTRACE_CONT, 17055, 0, SIG_0) = 0
wait4(-1, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGTRAP} | 0x30000], 0,
NULL) = 17055
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn() = ? (mask now [RTMIN])
--- SIGCHLD (Child exited) @ 0 (0) ---
sigreturn() = ? (mask now [RTMIN])
ptrace(0x4201 /* PTRACE_??? */, 17055, 0, 0xbfffec08) = 0
wait4(17062, [{WIFSTOPPED(s) && WSTOPSIG(s) == SIGSTOP}], __WCLONE,
NULL) = 17062
ptrace(PTRACE_DETACH, 17062, 0, SIG_0) = 0
wait4(-1,

</snip>

Debugging works fine with 2.4.26 and 2.6.8-rc4-mm1. Any ideas?

P.S: I am on a Slackware 10 box.

Cheers,
ismail


--
Time is what you make of it
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/