kern/130998: DTrace stops tracing because of struct thread
Masayuki FUKUI
fukui.FreeBSD at fanet.net
Sun Jan 25 20:20:01 PST 2009
>Number: 130998
>Category: kern
>Synopsis: DTrace stops tracing because of struct thread
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Jan 26 04:20:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:
>Release: FreeBSD 7.1-RELEASE-p2 amd64
>Organization:
>Environment:
System: FreeBSD base.fanet.net 7.1-RELEASE-p2 FreeBSD 7.1-RELEASE-p2 #0: Sun Jan 25 09:15:13 JST 2009 root at base.fanet.net:/usr/src/sys/amd64/compile/GENERIC amd64
>Description:
DTrace support was enabled referring to http://www.freebsd.org/doc/en/books/handbook/book.html#DTRACE
However, various DTraceToolkit applications stop tracing as follows.
# dtrace -l | wc -l
17271
# ./hotkernel
Sampling... Hit Ctrl-C to end.
dtrace: invalid probe specifier
#pragma D option quiet
profile:::profile-1001hz
/arg0/
{
@pc[arg0] = count();
}
dtrace:::END
{
printa("%a %@d\n", @pc);
}
: "/usr/lib/dtrace/psinfo.d", line 88: failed to resolve type kernel`struct thread * for identifier curthread: Unknown type name
FUNCTION COUNT PCNT
# ./procsystime -n csh
dtrace: invalid probe specifier
#pragma D option quiet
(...snip...)
/*
* Syscall count report
*/
dtrace:::END
/OPT_counts/
{
printf("\nSyscall Counts for ");
OPT_pid ? printf("PID %d,\n\n",PID) : 1;
OPT_name ? printf("processes %s,\n\n",NAME) : 1;
OPT_command ? printf("command %s,\n\n",COMMAND) : 1;
(! OPT_filter) ? printf("all processes,\n\n") : 1;
printf("%16s %18s\n","SYSCALL","COUNT");
OPT_counts ? printa("%16s %@18d\n", at Counts) : 1;
}
: "/usr/lib/dtrace/psinfo.d", line 88: failed to resolve type kernel`struct thread * for identifier curthread: Unknown type name
# ./dapptrace /bin/pwd
/var/tmp/DTraceToolkit-0.99/Bin
dtrace: invalid probe specifier
#pragma D option quiet
(...snip...)
/* print counts */
dtrace:::END
{
OPT_counts ? printf("\n%-49s %16s\n","CALL","COUNT") : 1;
OPT_counts && OPT_liball ? printa("%-16s %-32s %@16d\n", at Counts) : 1;
OPT_counts && ! OPT_liball ? printa("%-49s %@16d\n", at Counts) : 1;
}
: "/usr/lib/dtrace/psinfo.d", line 88: failed to resolve type kernel`struct thread * for identifier curthread: Unknown type name
>How-To-Repeat:
See http://www.freebsd.org/doc/en/books/handbook/book.html#DTRACE
and run DTraceToolkit applications on FreeBSD 7.1-RELEASE.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list