consistent printf race conditions

Frank Ch. Eigler fche@redhat.com
Thu Oct 25 00:48:00 GMT 2012


Hi, Nicholas -


halcyonic wrote:

> Scripts below.  [...]
> probe syscall.close.return { [...]
>         printf("{\"execname\":\"%s\",\"fd\":%d,\"op\":\"%s\",\"pid\":%d,\"ppid\":%d,\"return\":%d,\"timestamp\":%d,\"uid
> \":%d}\n",clean_string(execname()),$fd,clean_string("CLOSE"),pid(),ppid(),$return,gettimeofday_ms(),uid())
> [...]

What does clean_string() look like?  Does it by any chance run
sprintf() or similar?


> Here's some output surrounding one of those errors (changed some
> values for security):

Could you try stap -b (bulk mode), resulting in some per-cpu trace files,
and then stap_merge'ing them back together?


- FChE



More information about the Systemtap mailing list