Skip to contentSkip to conversation

Latest 2.6 kernels broke debugging of threaded applications

DISCUSSION ismail dönmez 1 participant 1 message Aug 14, 2004

lore
Share & tools
lore
#0 lore raw

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

Signature · 1 line
Time is what you make of it