kern/160275: dtrace -lv cause
Paul Ambrose
ambrosehua at gmail.com
Mon Aug 29 07:20:10 UTC 2011
>Number: 160275
>Category: kern
>Synopsis: dtrace -lv cause
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Aug 29 07:20:10 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Paul Ambrose
>Release: 9.0-beta2
>Organization:
>Environment:
[root at lateaxfreebsd ~]# uname -a
FreeBSD lateaxfreebsd 9.0-BETA2 FreeBSD 9.0-BETA2 #4 r+c45c70e: Mon Aug 29 14:34:54 CST 2011 root at lateaxfreebsd:/usr/obj/usr/src/sys/MYKERNEL amd64
>Description:
dtrace -lv;
the output seems all right; but the dmesg has warnings like this:
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
fbt_getargdesc(1302): Unknown function!
ctf_lookup_by_id(998): type 2363 exceeds max 2363
ctf_lookup_by_id(998): type 2363 exceeds max 2363
I notice the 'dtrace -l' output has something like this
.......................
19324 syscall freebsd32 #518 entry
19325 syscall freebsd32 #518 return
19326 syscall freebsd32 #519 entry
19327 syscall freebsd32 #519 return
19328 syscall freebsd32 #520 entry
19329 syscall freebsd32 #520 return
19330 syscall freebsd32 #521 entry
19331 syscall freebsd32 #521 return
19332 syscall freebsd32 freebsd32_pselect entry
19333 syscall freebsd32 freebsd32_pselect return
19334 syscall freebsd32 getloginclass entry
19335 syscall freebsd32 getloginclass return
19336 syscall freebsd32 setloginclass entry
19337 syscall freebsd32 setloginclass return
19338 syscall freebsd32 rctl_get_racct entry
19339 syscall freebsd32 rctl_get_racct return
19340 syscall freebsd32 rctl_get_rules entry
19341 syscall freebsd32 rctl_get_rules return
19342 syscall freebsd32 rctl_get_limits entry
19343 syscall freebsd32 rctl_get_limits return
19344 syscall freebsd32 rctl_add_rule entry
19345 syscall freebsd32 rctl_add_rule return
19346 syscall freebsd32 rctl_remove_rule entry
19347 syscall freebsd32 rctl_remove_rule return
19348 syscall freebsd32 freebsd32_posix_fallocate entry
19349 syscall freebsd32 freebsd32_posix_fallocate return
19350 syscall freebsd32 #531 entry
19351 syscall freebsd32 #531 return
some of function column of syscall provider is #num, not the function name, I checked the syscalls.c, It seems the warning come from
unimplemented syscall(the num is the syscall number), this syscall exists in the syscall table, and dtrace produce relevant
probe for it, but these syscall has no implementation, so 'dtrace -lv' found no ctf info
plus, on 8.2-stable, the dtrace -lv cause page fault on fbt_getargdesc in fbt.c
/* Check if this module hasn't been initialised yet. */
if (*lc.ctfoffp == NULL) { //it seems ctfoffp == NULL
/*
* Initialise the CTF object and function symindx to
* byte offset array.
*/
if (fbt_ctfoff_init(ctl, &lc) != 0)
return;
/* Initialise the CTF type to byte offset array. */
if (fbt_typoff_init(&lc) != 0)
return;
}
>How-To-Repeat:
dtrace -lv with dtrace enabled;
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list