This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug runtime/19955] New: on rawhide, getting 'BUG: sleeping function called from invalid context' on perf probes
- From: "dsmith at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Fri, 15 Apr 2016 16:09:31 +0000
- Subject: [Bug runtime/19955] New: on rawhide, getting 'BUG: sleeping function called from invalid context' on perf probes
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=19955
Bug ID: 19955
Summary: on rawhide, getting 'BUG: sleeping function called
from invalid context' on perf probes
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: runtime
Assignee: systemtap at sourceware dot org
Reporter: dsmith at redhat dot com
Target Milestone: ---
On rawhide (4.6.0-0.rc2.git4.1.fc25.x86_64), I'm getting the following on the
console:
====
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: BUG: sleeping function called from
invalid context at /usr/local/share/systemtap/runtime/linux/perf.c:268
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: in_atomic(): 1, irqs_disabled(): 0,
pid: 30122, name: find
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: INFO: lockdep is turned off.
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: CPU: 0 PID: 30122 Comm: find Tainted:
G OE 4.6.0-0.rc2.git4.1.fc25.x86_64 #1
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: Hardware name: Bochs Bochs, BIOS Bochs
01/01/2011
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: 0000000000000286 000000001621c757
ffff880072163d58 ffffffff8145a015
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: ffff880025c48000 ffffffffc0704258
ffff880072163d80 ffffffff810e17a9
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: ffffffffc0704258 000000000000010c
0000000000000000 ffff880072163da8
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: Call Trace:
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffff8145a015>]
dump_stack+0x86/0xc1
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffff810e17a9>]
___might_sleep+0x179/0x230
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffff810e18a9>]
__might_sleep+0x49/0x80
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffffc06fc7f0>]
_stp_perf_read.isra.69+0x50/0xb0 [stap_4f7d987ad6aab55c580904401f7a7b6_30119]
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffffc06fcc27>]
probe_2834+0x17/0x2c0 [stap_4f7d987ad6aab55c580904401f7a7b6_30119]
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffffc06fdeae>]
stapiu_probe_prehandler+0x24e/0x3e0
[stap_4f7d987ad6aab55c580904401f7a7b6_30119]
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffff811eea91>]
uprobe_notify_resume+0x411/0xb30
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffff8107041b>] ?
arch_uprobe_exception_notify+0x3b/0x50
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffff810db9f0>] ?
notifier_call_chain+0x40/0xb0
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffff81003279>]
exit_to_usermode_loop+0x89/0xd0
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffff81003e96>]
prepare_exit_to_usermode+0x76/0x80
Apr 15 09:41:44 kvm-rawhide-64-1 kernel: [<ffffffff818cdbbe>]
retint_user+0x8/0x20
====
Here's the offending function from runtime/linux/perf.c. Line 268 is the
might_sleep() call right before the return.
====
long _stp_perf_read (int ncpu, unsigned i)
{
/* Choose the stap_perf_probes entry */
struct stap_perf_probe* stp;
u64 enabled, running;
if (i > sizeof(stap_perf_probes)/sizeof(struct stap_perf_probe))
{
_stp_error ("_stp_perf_read - out of range");
return 0;
}
stp = & stap_perf_probes[i];
if (stp == NULL || stp->e.t.per_thread_event == NULL)
{
_stp_error ("_stp_perf_read - probe '%s' is not supported by this
kernel"\
,
#ifdef STP_NEED_PROBE_NAME
(stp ? stp->probe->pn : "unknown")
#else
(stp ? stp->probe->pp : "unknown")
#endif
);
return 0;
}
might_sleep();
return perf_event_read_value (stp->e.t.per_thread_event, &enabled, &running);
}
====
--
You are receiving this mail because:
You are the assignee for the bug.