On Thu, Mar 23, 2006 at 06:55:59PM -0800, Chian-Phon Lin
wrote:> Hi,
>
> A simple Dtrace program failed to compile:
>
> # cat test.d
> #!/usr/sbin/dtrace -Zqs
> fbt:SUNW,UltraSPARC-IIIi+::entry
> {
> }
> # test.d
> ERROR: dtrace: failed to compile script ./qtraceknl.d: line 13: syntax
error near "+"
> # dtrace -V
> dtrace: Sun D 1.1
> #
>
> Sounds like a bug in Dtrace compiler.
I would argue that the bug here is that kernel module names are permitted
to contain metasyntactic characters like commas and plus signs: DTrace is
(naturally) confused when you''re giving it a name that contains D
tokens.
Work around this by using globbing: you only have one CPU module on the
system, so instrumenting ''fbt:SUNW*SPARC-IIIi*::entry'' will be
sufficient.
- Bryan
--------------------------------------------------------------------------
Bryan Cantrill, Solaris Kernel Development. http://blogs.sun.com/bmc