Bug 18000 - kernel tracepoints not found without using the cache
Summary: kernel tracepoints not found without using the cache
Status: RESOLVED FIXED
Alias: None
Product: systemtap
Classification: Unclassified
Component: translator (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-02-19 16:24 UTC by David Smith
Modified: 2015-02-20 19:45 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments
Always use new tracequery modules directly (526 bytes, patch)
2015-02-19 23:04 UTC, Josh Stone
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Smith 2015-02-19 16:24:10 UTC
On 3.18.3-201.fc21.x86_64 with HEAD systemtap, I'm seeing this:

====
# rm -rf ~/.systemtap/cache
# stap --disable-cache -p4 -e 'probe kernel.trace("net_dev_queue") { exit() }'
semantic error: while resolving probe point: identifier 'kernel' at <input>:1:7
        source: probe kernel.trace("net_dev_queue") { exit() }
                      ^

semantic error: no match

Pass 2: analysis failed.  [man error::pass2]
# stap -p4 -e 'probe kernel.trace("net_dev_queue") { exit() }'
/home/dsmith/.systemtap/cache/32/stap_32123f202c07308478d5a4b63bd3f3fb_1013.ko
====

So, if you disable the cache, the net_dev_queue tracepoint cannot be found. The same thing happens if you use 'net:net_dev_queue":

====
# rm -rf ~/.systemtap/cache/
# stap --disable-cache -p4 -e 'probe kernel.trace("net:net_dev_queue") { exit() }'
semantic error: while resolving probe point: identifier 'kernel' at <input>:1:7
        source: probe kernel.trace("net:net_dev_queue") { exit() }
                      ^

semantic error: no match

Pass 2: analysis failed.  [man error::pass2]
# stap -p4 -e 'probe kernel.trace("net:net_dev_queue") { exit() }'
/home/dsmith/.systemtap/cache/39/stap_395be0216c36fbd440e26cf3ceb7745a_1017.ko
====
Comment 1 Josh Stone 2015-02-19 23:04:31 UTC
Created attachment 8139 [details]
Always use new tracequery modules directly

How does this look?
Comment 2 David Smith 2015-02-20 15:29:10 UTC
(In reply to Josh Stone from comment #1)
> Created attachment 8139 [details]
> Always use new tracequery modules directly
> 
> How does this look?

I'm not really familiar with that part of the code, but it looks reasonable to me.
Comment 3 Josh Stone 2015-02-20 19:45:23 UTC
commit 40d78ace0f1d4eff2bdfc8b940ad939d39274b6e