Andrea Cucciarre'' - Sun Microsystems - Italy
2007-Nov-29 19:41 UTC
[dtrace-discuss] dtrace doesn''t trace some functions
Hello,
I''m trying to debug an issue with rpc.metad on Solaris 10, basecally I
believe the failure path is
- svc_init
-- check_sys
--- check_host
---- strcmp(hostname, mynode())
It seems that for some reason hostname and mynode didn''t match then I
would like to use dtrace to show the argument of the strcmp
However the dtrace pid provider can''t trace functions check_sys and
check_host even if they are defined in rpc.metad
bash-3.00# ps -ef | grep metad
root 5462 1 0 08:20:40 ? 0:00 /usr/sbin/rpc.metad
bash-3.00# /usr/sbin/dtrace -F -n
''pid$target:rpc.metad:check_host:entry
{printf("%d %d %d", arg0, arg1, arg2)}'' -p 5462
dtrace: invalid probe specifier pid$target:rpc.metad:check_host:entry
{printf("%d %d %d", arg0, arg1, arg2)}: failed to lookup
''check_host''
bash-3.00# dtrace -l | grep pid5462 | grep check_host
bash-3.00# dtrace -l | grep pid5462 | grep svc_init
39969 pid5462 rpc.metad svc_init entry
39971 pid5462 rpc.metad svc_init return
While on mdb I can successfully put a breakpoint on check_host call:
root@# mdb -p `pgrep rpc.metad`
Loading modules: [ ld.so.1 libc.so.1 libnvpair.so.1 libuutil.so.1
libavl.so.1 ]
> check_host:b
> :c
mdb: stop at check_host
mdb: target stopped at:
check_host: save %sp, -0x68, %sp
> $c
check_host(ffbff930, 3dd50, 2e800, 2e800, 41cc, 4000)
svc_init+0x88(3c650, 2, ffbff930, 2ee78, ffbff934, 2ec00)
mdrpc_lock_set_common+0x58(ffbff970, ffbff928, 3c650, 2ec00, 2ee78,
ffbff930)
metad_2+0x5e4(3c650, 3d9c8, 1b82c, 2e634, 2e400, 2e718)
libnsl.so.1`_svc_prog_dispatch+0x184(3d9c8, 3c778, 3c650, 2, 1b8d8, 1)
libnsl.so.1`svc_getreq_common+0xe4(3d9c8, 18, 1, ff227014, ff22f380, 3c650)
libnsl.so.1`svc_getreq_poll+0x9c(34338, 1, ffbffd60, 536bc, ff13b1f8,
ff222da4)
libnsl.so.1`_svc_run+0xf0(ff22e360, ff22f8f4, ff3b837c, ff222da4, 4e768, 1)
libnsl.so.1`svc_run+0x84(1, ff227070, 2e008, ff222da4, 4ea00, 0)
main+0x2cc(1, 0, 30318, 2ed3c, 1, 2ec00)
_start+0x108(0, 0, 0, 0, 0, 0)
May be that I miss some concept that explain this behaviour. Could you
advice?
--
/\ Andrea Cucciarre''
\\ \ Systems Engineer
\ \\ /
/ \/ / / Sun Microsystems Italia SpA
/ / \//\ Viale Fulvio Testi, 327
\//\ / / 20162 Milano
/ / /\ /
/ \\ \ phone: 800 605228
\ \\ e-mail: andrea.cucciarre at Sun.COM
\/
