This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Kernel Deadlock while using uprobes


On 04/09/2012 05:30 AM, Negreanu Marius wrote:
> I managed to get a 3.0 kernel patched with uprobes from here[1].
> The kernel probing works fine as far as disktop.stp can test that.
> 
> But, when I'm trying to insert a uprobe, the kernel detects a deadlock.
> The script I'm using is:
> echo 'probe process("/bin/ping").function("main") { print($$parms) }'
>> /tmp/cfg/test.stp
> and the deadlock is the one attached.

> [  173.733192]        CPU0
> [  173.735655]        ----
> [  173.738192]   lock(task_utrace_lock);
> [  173.741912]   <Interrupt>
> [  173.744550]     lock(task_utrace_lock);
> [  173.748440]
> [  173.748443]  *** DEADLOCK ***

Hmm, looks like we have inconsistent interrupt state while taking that
lock.  We either need to disable interrupts while holding it, or make
sure that it's never attempted within any interrupt.  This is dsmith's
utrace port, hopefully he can take a closer look.

> 1:  http://repos.fedorapeople.org/repos/jistone/kernel-uprobes/fedora-15/SRPMS/kernel-2.6.40.4-6.uprobes2.fc15.src.rpm

Do note that this new uprobes is still under heavy development, and I
haven't been keeping that repo up to date.  Anton Arapov has much newer
builds available here:
http://repos.fedorapeople.org/repos/aarapov/kernel-uprobes/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]