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