strange array corruption

The string ", got <" is stored in memory at compile time. Some time during execution of your program, something is overwriting parts of that memory space. Most likely this is a buffer overrun error somewhere. Tricky to try to find. You have to look at all of your array utilizations, and make sure that you are not exceeding the limits of any array anywhere.