Synopsis
In calling some function, you specified an arg that is not just specified in hexadecimal (ie, all characters must be digits 0 to 9, or letters A to F). name is the function you called which is complaining about the arg. number tells which arg was not a hexadecimal string (where 1 is the first arg). bad arg is what you supplied.
Cause
You stored the hexadecimal string in a variable, and then when passing that, you put the name of that variable in quotes, thus mistakenly passing the variable's name rather than its value. This is likely the case if bad arg is your variable name.
Cure
Do not put your variable name in quotes.
Cause
You specified a variable name, but that variable was never assigned any value. Therefore, its default value is its name in capital letters. This is likely the case if bad arg is your variable name in capital letters.
Cure
Make sure that you assign a value to the variable before calling the function. You can trap the NOVALUE condition to catch errors of this nature.