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