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]

[Bug uprobes/10332] New: uprobes_free_task (utrace_control_pid) kernel BUG at /usr/share/systemtap/runtime/uprobes/../uprobes2/uprobes.c:534!


While playing with some user space probing I suddenly got:

------------[ cut here ]------------
kernel BUG at /usr/share/systemtap/runtime/uprobes/../uprobes2/uprobes.c:534!
invalid opcode: 0000 [#1] SMP 
last sysfs file: /sys/module/usb_storage/sections/__param
CPU 1 
Modules linked in: stap_e6aa246e56f088091cce3ae1c3af8c10_14404 uprobes fuse
bridge stp llc bnep sco l2cap bluetooth sunrpc ipv6 cpufreq_ondemand
acpi_cpufreq freq_table dm_multipath raid1 uinput snd_usb_audio snd_usb_lib
snd_rawmidi snd_seq_device snd_hda_codec_idt snd_hda_intel snd_hda_codec
snd_hwdep iTCO_wdt firewire_ohci snd_pcm ppdev firewire_core crc_itu_t snd_timer
iTCO_vendor_support tg3 parport_pc snd parport soundcore i2c_i801 pcspkr
snd_page_alloc dcdbas usb_storage radeon drm i2c_algo_bit i2c_core [last
unloaded: stap_e6aa246e56f088091cce3ae1c3af8c10_14404]
Pid: 4501, comm: stapio Not tainted 2.6.29.4-167.fc11.x86_64 #1 Precision
WorkStation 380    
RIP: 0010:[<ffffffffa02dd17f>]  [<ffffffffa02dd17f>] uprobe_free_task+0x45/0x10b
[uprobes]
RSP: 0018:ffff880143dadcb8  EFLAGS: 00010246
RAX: 00000000ffffff8d RBX: ffff880146d8d240 RCX: 0000000000150014
RDX: 0000000000000000 RSI: ffff8801620785a0 RDI: ffff8801620785c8
RBP: ffff880143dadcd8 R08: ffffffff815f4a98 R09: ffff880143dadc18
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88014d85ae40
R13: ffff880146d52930 R14: 0000000000000000 R15: ffff880146d88fc0
FS:  00007f28cf825910(0000) GS:ffff88019a09c280(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007f3bc40924dc CR3: 0000000146db1000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process stapio (pid: 4501, threadinfo ffff880143dac000, task ffff88017deddc00)
Stack:
 ffff880146d52800 ffff88014d85ae40 ffff880146d52930 0000000000000000
 ffff880143dadd08 ffffffffa02dd2cb ffff880146d52800 0000000000000001
 ffff88014d46f200 ffff880143dadd48 ffff880143dadd38 ffffffffa02de133
Call Trace:
 [<ffffffffa02dd2cb>] uprobe_free_process+0x86/0xc0 [uprobes]
 [<ffffffffa02de133>] uprobe_put_process+0x63/0x91 [uprobes]
 [<ffffffffa02df7ba>] __unregister_uprobe+0x219/0x228 [uprobes]
 [<ffffffff8105ca4b>] ? autoremove_wake_function+0x0/0x39
 [<ffffffffa02df803>] unregister_uprobe+0x13/0x15 [uprobes]
 [<ffffffffa0860edb>] _stp_cleanup_and_exit+0x9b/0x1b0
[stap_e6aa246e56f088091cce3ae1c3af8c10_14404]
 [<ffffffffa0861c99>] _stp_ctl_write_cmd+0x6ba/0x864
[stap_e6aa246e56f088091cce3ae1c3af8c10_14404]
 [<ffffffff81053049>] ? __sigqueue_free+0x3d/0x41
 [<ffffffff81053e37>] ? __dequeue_signal+0xed/0x122
 [<ffffffff810559d3>] ? dequeue_signal+0xab/0x124
 [<ffffffff81055fd1>] ? sys_rt_sigtimedwait+0x1fa/0x25a
 [<ffffffff8117ef21>] ? security_file_permission+0x16/0x18
 [<ffffffff810d58fb>] vfs_write+0xae/0x10b
 [<ffffffff810d5a18>] sys_write+0x4a/0x6e
 [<ffffffff8101133a>] system_call_fastpath+0x16/0x1b
Code: 48 85 f6 74 2a 65 48 8b 14 25 00 00 00 00 48 39 57 20 75 04 84 c0 75 17 48
8b 7b 28 ba 06 00 00 00 e8 86 ff ff ff 83 f8 8d 75 04 <0f> 0b eb fe 48 8b 7b 28
e8 38 d3 d7 e0 48 c7 c7 20 32 2e a0 e8 
RIP  [<ffffffffa02dd17f>] uprobe_free_task+0x45/0x10b [uprobes]
 RSP <ffff880143dadcb8>
---[ end trace f2196f1bb80db4cf ]---

This was with a standard Fedora 11 install.

The relevant part of the source uprobes.c (uprobe_free_task) is:

        if (utask->engine && (utask->tsk != current || !in_callback)) {
                /*
                 * No other tasks in this process should be running
                 * uprobe_report_* callbacks.  (If they are, utrace_barrier()
                 * here could deadlock.)
                 */
                int result = utrace_control_pid(utask->pid, utask->engine,
                                                                UTRACE_DETACH);
                        BUG_ON(result == -EINPROGRESS);
        }

The traced process became unkillable.

-- 
           Summary: uprobes_free_task (utrace_control_pid) kernel BUG at
                    /usr/share/systemtap/runtime/uprobes/../uprobes2/uprobes
                    .c:534!
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: uprobes
        AssignedTo: systemtap at sources dot redhat dot com
        ReportedBy: mjw at redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=10332

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


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