ptrace crash on PREEMPT 2.6.18-128.7.1.el5 kernel
Steve Fink
sphink at gmail.com
Fri Feb 26 19:18:59 UTC 2010
I'm not sure if this is the place for this, but:
I have an x86_64 machine that gets an immediate SIGSEGV when ptracing anything:
[root at dl360g6gs1 kernel-2.6.18]# strace true
execve("/bin/true", ["true"], [/* 28 vars */]) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
I have recompiled the kernel (2.6.18-128.7.1.el5), but the only
significant change I can think of making is that I enabled preemption.
I also have an x86_64 VM under VirtualBox using a slightly different
kernel. It was initially working, but when I installed an updated
kernel RPM, it started crashing as well -- even before rebooting into
the new kernel! However, it is crashing differently. It gives me a
kernel stack trace (pasted below). It looks like some sort of locking
issue.
Is this problem fixed in later patched kernels? I know
kernel-2.6.18-164.11.1.el5.x86_64.rpm is available, but the last time
I tried that particular one it caused me some unrelated problems so
I'm hesitant to go there.
I can post the kernel config if it would be helpful.
----
BUG: warning at kernel/ptrace.c:1674/ptrace_report() (Not tainted)
Call Trace:
[<ffffffff800c44d4>] ptrace_report+0xeb/0x120
[<ffffffff800c3f52>] utrace_report_syscall+0x74/0x227
[<ffffffff80070f41>] syscall_trace_leave+0x5e/0x87
[<ffffffff80060312>] int_very_careful+0x35/0x3f
BUG: scheduling while atomic: true/0x00000001/2526
Call Trace:
[<ffffffff800655dd>] __sched_text_start+0x7d/0xc22
[<ffffffff800a0484>] kernel_text_address+0x1a/0x26
[<ffffffff8006f17b>] dump_trace+0x214/0x23d
[<ffffffff800c2212>] utrace_quiescent+0xde/0x261
[<ffffffff800c4095>] utrace_report_syscall+0x1b7/0x227
[<ffffffff80070f41>] syscall_trace_leave+0x5e/0x87
[<ffffffff80060312>] int_very_careful+0x35/0x3f
BUG: warning at kernel/ptrace.c:1674/ptrace_report() (Not tainted)
Call Trace:
[<ffffffff800c44d4>] ptrace_report+0xeb/0x120
[<ffffffff80060312>] int_very_careful+0x35/0x3f
[<ffffffff800c45ea>] ptrace_report_signal+0x4c/0x5c
[<ffffffff800c1955>] report_signal+0x7f/0x179
[<ffffffff800c3282>] utrace_get_signal+0x3e3/0x62b
[<ffffffff8006e73c>] __switch_to+0x2e/0x22d
[<ffffffff8002c12a>] get_signal_to_deliver+0x177/0x461
[<ffffffff8005d4ed>] do_notify_resume+0x9c/0x7b0
[<ffffffff800c4095>] utrace_report_syscall+0x1b7/0x227
[<ffffffff8006032e>] int_signal+0x12/0x17
BUG: scheduling while atomic: true/0x00000001/2526
Call Trace:
[<ffffffff800655dd>] __sched_text_start+0x7d/0xc22
[<ffffffff800c44ec>] ptrace_report+0x103/0x120
[<ffffffff80060312>] int_very_careful+0x35/0x3f
[<ffffffff800c45ea>] ptrace_report_signal+0x4c/0x5c
[<ffffffff800c1955>] report_signal+0x7f/0x179
[<ffffffff800c2212>] utrace_quiescent+0xde/0x261
[<ffffffff800c3450>] utrace_get_signal+0x5b1/0x62b
[<ffffffff8006e73c>] __switch_to+0x2e/0x22d
[<ffffffff8002c12a>] get_signal_to_deliver+0x177/0x461
[<ffffffff8005d4ed>] do_notify_resume+0x9c/0x7b0
[<ffffffff800c4095>] utrace_report_syscall+0x1b7/0x227
[<ffffffff8006032e>] int_signal+0x12/0x17
Call Trace:
[<ffffffff800655dd>] __sched_text_start+0x7d/0xc22
[<ffffffff800c44ec>] ptrace_report+0x103/0x120
[<ffffffff80060312>] int_very_careful+0x35/0x3f
[<ffffffff800c45ea>] ptrace_report_signal+0x4c/0x5c
[<ffffffff800c1955>] report_signal+0x7f/0x179
[<ffffffff800c2212>] utrace_quiescent+0xde/0x261
[<ffffffff800c3450>] utrace_get_signal+0x5b1/0x62b
[<ffffffff8006e73c>] __switch_to+0x2e/0x22d
[<ffffffff8002c12a>] get_signal_to_deliver+0x177/0x461
[<ffffffff8005d4ed>] do_notify_resume+0x9c/0x7b0
[<ffffffff800c4095>] utrace_report_syscall+0x1b7/0x227
[<ffffffff8006032e>] int_signal+0x12/0x17
BUG: warning at kernel/ptrace.c:1674/ptrace_report() (Not tainted)
Call Trace:
[<ffffffff800c44d4>] ptrace_report+0xeb/0x120
[<ffffffff800c45ea>] ptrace_report_signal+0x4c/0x5c
[<ffffffff800c1955>] report_signal+0x7f/0x179
[<ffffffff800c3282>] utrace_get_signal+0x3e3/0x62b
[<ffffffff8002c12a>] get_signal_to_deliver+0x177/0x461
[<ffffffff8005d4ed>] do_notify_resume+0x9c/0x7b0
[<ffffffff8009af62>] specific_send_sig_info+0xa1/0xac
[<ffffffff800683c9>] _spin_unlock_irqrestore+0x16/0x31
[<ffffffff8009b243>] force_sig_info+0xae/0xb9
[<ffffffff8006a707>] do_page_fault+0x81e/0x830
[<ffffffff800c4095>] utrace_report_syscall+0x1b7/0x227
[<ffffffff800606e0>] retint_signal+0x3d/0x79
BUG: scheduling while atomic: true/0x00000001/2526
Call Trace:
[<ffffffff800655dd>] __sched_text_start+0x7d/0xc22
[<ffffffff800c44ec>] ptrace_report+0x103/0x120
[<ffffffff800c45ea>] ptrace_report_signal+0x4c/0x5c
[<ffffffff800c1955>] report_signal+0x7f/0x179
[<ffffffff800c2212>] utrace_quiescent+0xde/0x261
[<ffffffff800c3450>] utrace_get_signal+0x5b1/0x62b
[<ffffffff8002c12a>] get_signal_to_deliver+0x177/0x461
[<ffffffff8005d4ed>] do_notify_resume+0x9c/0x7b0
[<ffffffff8009af62>] specific_send_sig_info+0xa1/0xac
[<ffffffff800683c9>] _spin_unlock_irqrestore+0x16/0x31
[<ffffffff8009b243>] force_sig_info+0xae/0xb9
[<ffffffff8006a707>] do_page_fault+0x81e/0x830
[<ffffffff800c4095>] utrace_report_syscall+0x1b7/0x227
[<ffffffff800606e0>] retint_signal+0x3d/0x79
BUG: warning at kernel/ptrace.c:562/ptrace_exit() (Not tainted)
Call Trace:
[<ffffffff800c6780>] ptrace_exit+0x51/0x1f2
[<ffffffff80015d62>] do_exit+0x126/0x9bb
[<ffffffff8004b1fd>] cpuset_exit+0x0/0x6c
[<ffffffff8002c3e5>] get_signal_to_deliver+0x432/0x461
[<ffffffff8005d4ed>] do_notify_resume+0x9c/0x7b0
[<ffffffff8009af62>] specific_send_sig_info+0xa1/0xac
[<ffffffff800683c9>] _spin_unlock_irqrestore+0x16/0x31
[<ffffffff8009b243>] force_sig_info+0xae/0xb9
[<ffffffff8006a707>] do_page_fault+0x81e/0x830
[<ffffffff800c4095>] utrace_report_syscall+0x1b7/0x227
[<ffffffff800606e0>] retint_signal+0x3d/0x79
note: true[2526] exited with preempt_count 1
More information about the utrace-devel
mailing list