[dtrace-discuss] Privileges required for "caller"?

Jon Haslam Jonathan.Haslam at Sun.COM
Mon Oct 6 04:10:42 PDT 2008


Hi Manfred,

> DTrace features the built-in variable caller (from chapter 3 of the Solaris Dynamic Tracing Guide: uintptr_t caller - The program counter location of the current thread just before entering the current probe).
>
> I tried to use caller (trace(caller)) in a script of mine and got the following error message:
>
> dtrace: error on enabled probe ID 92 (ID 67898: pid14066:charmm:MPI_Reduce:entry): invalid kernel access in action #26 at DIF offset 0
>
> I'm tracing a user process (via pid provider), so I would expect DTrace to allow access to this information. Could it be, that caller generally requires dtrace_kernel privileges no matter what function is traced? Unfortunately, neither the Solaris Dynamic Tracing Guide nor the DTrace Wikit mentions any privilege requirements for the different DTrace built-in variables.

If you want to see who is calling MPI_Reduce() then you need to
use the 'ucaller' built-in (which I think should be in U5).
Unfortunately this doesn't appear to be in the docs - sorry about
that. You can feel free to add it to the wiki yourself or I'll try
and do it shortly.

Jon.



More information about the dtrace-discuss mailing list