hmm.
The error on Pike level can be traced back to the following expression in Parser.Pike
sscanf(data[start..pos], "#%*[ \t]charset%*[ \t\]%s%*[ \r\n]", string charset);
data[start..pos] is "#if constant(_assembler_debug)\n" and the value that ends up in charset is 743 (yes, integer).