Messages in this thread | | | Date | Tue, 03 Jun 2008 11:01:24 +0200 | From | Petr Tesarik <> | Subject | Re: [RFC PATCH] set TASK_TRACED before arch_ptrace code to fix a race |
| |
Luming Yu wrote: > On Tue, May 27, 2008 at 2:25 PM, Petr Tesarik <ptesarik@suse.cz> wrote: >> On Mon, 2008-05-26 at 23:12 -0700, Roland McGrath wrote: >>>> [<a00000010000a9f0>] skip_rbs_switch+0xe0/0x110 >>>> sp=e000000141c9fe30 bsp=e000000141c90cf8 >>>> [<a000000000010740>] __kernel_syscall_via_break+0x0/0x20 >>>> sp=e000000141ca0000 bsp=e000000141c90cf8 >> Indeed, there seems to be a large hole here. So, this is either a bug in >> the unwinder, or a bug in the RBS synchronization, which causes >> corruption. My test machine currently needs some work to run 2.6.25 >> again, but I'll try your test case as soon as I re-install it later this >> week. > > Just want to check if the test case works for you?
Yes, the test case hangs here too. But the problem seems to be elsewhere. Did you look into the strace output? This line is pretty suspicious:
3258 clone2(child_stack=0, stack_size=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x200000000004e290) = 1
Obviously, strace cannot attach PID 1, and since it is not designed to handle this situation, it hangs. I'm going to investigate why the return value of the clone2 syscall is seen as 1 by the tracer. Might even turn out to be a bug in strace...
Petr Tesarik
| |