Whenever I try to use a wildcard in my dtrace scripts with my USDT provider I get an error complaining that the set of probes is unstable.
dtrace -n 'foo$target:::bar-* { printf("%d\n", args[0]->i); }' -c /tmp/x dtrace: invalid probe specifier foo$target:::bar-* { printf("%d\n", args[0]->i); }: in action list: args[ ] may not be referenced because probe description foo4908:::bar-* matches an unstable set of probes The provider file looks like this: ############################# typedef struct foo_info { int i; } foo_info_t; typedef struct finfo { int i; } finfo_t; translator finfo_t <foo_info_t *P> { i = P->i; }; provider foo { probe bar__start(foo_info_t *i): (finfo_t i); probe bar__end(foo_info_t *i): (finfo_t i); }; #pragma D attributes Stable/Stable/Common provider foo provider #pragma D attributes Stable/Stable/Common provider foo module #pragma D attributes Stable/Stable/Common provider foo function #pragma D attributes Stable/Stable/Common provider foo name #pragma D attributes Stable/Stable/Common provider foo args ################################ The library support file: ################################ typedef struct foo_info { uint32_t i; } foo_info_t; typedef struct finfo { uint32_t i; } finfo_t; translator finfo_t <foo_info_t *P> { i = *((uint32_t *)(copyin((uintptr_t)&P->i, sizeof (uint32_t)))); }; ################################ The above is a contrived example but shows what I'm trying to do. How can I make my USDT probes suitable for wildcarding? Is this a bug? Thanks, -M _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org