This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Warning for buildok/context_test.stp on utrace kernel
- From: Mark Wielaard <mjw at redhat dot com>
- To: wenji dot huang at oracle dot com
- Cc: systemTAP <systemtap at sources dot redhat dot com>
- Date: Wed, 10 Feb 2010 11:33:48 +0100
- Subject: Re: Warning for buildok/context_test.stp on utrace kernel
- References: <4B727F8A.1060104@oracle.com>
On Wed, 2010-02-10 at 17:42 +0800, Wenji Huang wrote:
> Hi,
>
> There will be warning if we run the following test on
> RHEL5, Fedora kernel or utrace kernel.
>
> $ stap -p4 testsuite/buildok/context_test.stp
> WARNING: "uprobe_get_pc"
> [/tmp/staphrGioI/stap_0aef4ead3fec39f2dee30c60b1b684d2_8042.ko] undefined!
> /home/wjhuang/.systemtap/cache/0a/stap_0aef4ead3fec39f2dee30c60b1b684d2_8042.ko
>
> There reason is from print_ubacktrace() in probe.
>
> In fact, if we run stap -ve 'probe begin(print_ubacktrace()){}' on
> utrace kernel without loaded uprobes module. We can see the error
>
> Error inserting module
> '/tmp/stap0t5pyH/stap_5bd1a1d6b83ff84cfa8e7c67a402fa40_1153.ko': Unknown
> symbol in module
>
> since no symbol uprobe_get_pc can be resolved.
And that is because the uprobes module isn't pulled in?
This seems to come from commit 4c5ce7 which introduced a call to
uprobe_get_pc() in __stp_stack_print().
How can we make sure that if that is used (through ubacktrace) the
uprobes module gets automagically loaded?
> Yes, the test case is a little picky, but maybe we can
> process it in a more graceful way.
>
> BTW: there is no manual for print_ubacktrace, ubacktrace(), etc.
I got man pages for all of them. Since they are documented in
tapset/ucontext_unwind.stp they should show up in the TapSet Reference
Manual and as individual man pages.
Cheers,
Mark