dtrace4linux / linux

dtrace for linux - kernel driver and userland tools
http://crtags.blogspot.com
1.17k stars 226 forks source link

make load freezes Ubuntu 13.10 #68

Open lazywithclass opened 10 years ago

lazywithclass commented 10 years ago

First of all thanks for this.

I have a problem when I issue the make load command as said in the README. What happens is that my computer suddenly freezes, I've tried a few times, sometimes it outputs the available probes count and a few seconds after the pc freezes, other times it freezes at that step without going forward.

I know this is not helpful, how can I provide more details?

dtrace4linux commented 10 years ago

I just tried on my ubuntu 13.10 - didnt see any problems. Can you try running from the console...

do

$ tail -f /var/log/kern.log &

so you can see any kernel messages. I expect a message at the point the driver loads. If you are lucky you will see something before the hang.

If possible, do "dmesg | tail -100" repeatedly. And if necessary take a photo of the screen before rebooting.

I havent tried torture testing the 13.10 kernel - its possible theres some new kernel issue here.

thanks

On 17 November 2013 15:34, Alberto Zaccagni notifications@github.comwrote:

First of all thanks for this.

I have a problem when I issue the make load command as said in the README. What happens is that my computer suddenly freezes, I've tried a few times, sometimes it outputs the available probes count and a few seconds after the pc freezes, other times it freezes at that step without going forward.

I know this is not helpful, how can I provide more details?

— Reply to this email directly or view it on GitHubhttps://github.com/dtrace4linux/linux/issues/68 .

lazywithclass commented 10 years ago

Thanks for the prompt response. I fear this is an Heisenbug :D

It worked and did not stop, I launched

tail -f /var/log/kern.log &

followed by

sudo make load

and this is all the output I got

tools/load.pl
23:52:51 Syncing...
23:52:52 Loading: build-3.11.0-13-generic/driver/dtracedrv.ko
Nov 17 23:52:52 dagobah kernel: [17640.544392] dtracedrv: module license 'CDDL' taints kernel.
Nov 17 23:52:52 dagobah kernel: [17640.544399] Disabling lock debugging due to kernel taint
23:52:54 Preparing symbols...
23:52:54 Probes available: Nov 17 23:52:56 dagobah kernel: [17644.797256] CPU: 1 PID: 18340 Comm: dtrace Tainted: PF        C O 3.11.0-13-generic #20-Ubuntu
Nov 17 23:52:56 dagobah kernel: [17644.797260] Hardware name: SAMSUNG ELECTRONICS CO., LTD.     530U4E/540U4E/NP530U4E-S01IT, BIOS P05ACM.056.130403.dg 04/03/2013
Nov 17 23:52:56 dagobah kernel: [17644.797263]  ffffffffa0904ac0 ffff880027c77ad8 ffffffff816e54ba 0000000000000000
Nov 17 23:52:56 dagobah kernel: [17644.797267]  ffff880027c77b20 ffffffffa08bb0c6 0000000100007c7b ffff8800c1b83900
Nov 17 23:52:56 dagobah kernel: [17644.797269]  0000000000000000 ffffffffa0904ac0 0000000000000020 0000000000000001
Nov 17 23:52:56 dagobah kernel: [17644.797273] Call Trace:
Nov 17 23:52:56 dagobah kernel: [17644.797279]  [<ffffffff816e54ba>] dump_stack+0x45/0x56
Nov 17 23:52:56 dagobah kernel: [17644.797298]  [<ffffffffa08bb0c6>] mutex_enter_common+0x36/0x140 [dtracedrv]
Nov 17 23:52:56 dagobah kernel: [17644.797312]  [<ffffffffa08bb1eb>] dmutex_enter+0x1b/0x20 [dtracedrv]
Nov 17 23:52:56 dagobah kernel: [17644.797324]  [<ffffffffa08aea6a>] par_alloc+0x2a/0x110 [dtracedrv]
Nov 17 23:52:56 dagobah kernel: [17644.797336]  [<ffffffffa08b89d3>] instr_provide_module+0x33/0x230 [dtracedrv]
Nov 17 23:52:56 dagobah kernel: [17644.797348]  [<ffffffffa08bb135>] ? mutex_enter_common+0xa5/0x140 [dtracedrv]
Nov 17 23:52:56 dagobah kernel: [17644.797358]  [<ffffffffa089f650>] dtrace_probe_provide+0xa0/0x140 [dtracedrv]
Nov 17 23:52:56 dagobah kernel: [17644.797368]  [<ffffffffa08a7565>] dtrace_open+0x65/0x140 [dtracedrv]
Nov 17 23:52:56 dagobah kernel: [17644.797379]  [<ffffffffa08accb1>] dtracedrv_open+0x51/0x60 [dtracedrv]
Nov 17 23:52:56 dagobah kernel: [17644.797383]  [<ffffffff8145eb8f>] misc_open+0xaf/0x1c0
Nov 17 23:52:56 dagobah kernel: [17644.797386]  [<ffffffff811ab883>] chrdev_open+0xa3/0x1b0
Nov 17 23:52:56 dagobah kernel: [17644.797390]  [<ffffffff811a4cfb>] do_dentry_open+0x1eb/0x280
Nov 17 23:52:56 dagobah kernel: [17644.797392]  [<ffffffff811ab7e0>] ? cdev_put+0x30/0x30
Nov 17 23:52:56 dagobah kernel: [17644.797395]  [<ffffffff811a4e19>] vfs_open+0x49/0x50
Nov 17 23:52:56 dagobah kernel: [17644.797398]  [<ffffffff811b4161>] do_last+0x1c1/0xe40
Nov 17 23:52:56 dagobah kernel: [17644.797403]  [<ffffffff8118d988>] ? kmem_cache_alloc_trace+0x108/0x130
Nov 17 23:52:56 dagobah kernel: [17644.797407]  [<ffffffff81316d63>] ? apparmor_file_alloc_security+0x23/0x40
Nov 17 23:52:56 dagobah kernel: [17644.797411]  [<ffffffff811b59d1>] path_openat+0xc1/0x630
Nov 17 23:52:56 dagobah kernel: [17644.797414]  [<ffffffff81168009>] ? handle_mm_fault+0x299/0x670
Nov 17 23:52:56 dagobah kernel: [17644.797418]  [<ffffffff811b6d4a>] do_filp_open+0x3a/0x90
Nov 17 23:52:56 dagobah kernel: [17644.797421]  [<ffffffff816ec5fe>] ? _raw_spin_lock+0xe/0x20
Nov 17 23:52:56 dagobah kernel: [17644.797425]  [<ffffffff811c36d7>] ? __alloc_fd+0xa7/0x130
Nov 17 23:52:56 dagobah kernel: [17644.797428]  [<ffffffff811a5ffc>] do_sys_open+0x12c/0x270
Nov 17 23:52:56 dagobah kernel: [17644.797431]  [<ffffffff811a615e>] SyS_open+0x1e/0x20
Nov 17 23:52:56 dagobah kernel: [17644.797434]  [<ffffffff816f529d>] system_call_fastpath+0x1a/0x1f
462216
23:52:59 Time: 8s

Does it make sense to run dmesg at this point? Will reboot and do it if you need.

What I'm trying to do here is become more proficient in the usage of dtrace, to get a better understanding of my programs, so I was following this guide: www.joyent.com/blog/tracing-node-js-add-on-latency I think I've missed some configuration step because I get this error if I run dtrace -s trace-addon-latency.d -p $! (where the last command is a node.js script which runs in background)

dtrace: failed to compile script trace-addon-latency.d: line 21: probe description pid18674:*.node::entry does not match any probes

Thanks