In the R15B01 version of DTrace, the OTP folks had slipped in a change to
dyntrace.erl that I wasn't fully aware of: instead of using the
iolist_to_binary/1 BIF to set the user-defined process tag, R15B01 uses
unicode:characters_to_binary/1. The Unicode function will throw a badarg
exception if the argument isn't 100% Unicode kosher.
Fix by using io_lib:format/2 on all places where a string might have
unkosher bytes. A side-effect of this extra formatting is that any D
script that collects probe events (namely the copyinstr() function) will
not be confused by NUL bytes in the middle of an Erlang string.