I didn't count every byte, but if that is an Uno, I suspect you are running out of SRAM. You might be able to eliminate some SRAM usage by using the F() function on those static strings.
This function works for me to check SRAM remaining. This is how to use it. If you run out of SRAM, it does not show zero. It shows a negative number or a very large number.
int freeRam() {
extern int __heap_start,*__brkval;
int v;
return (int)&v - (__brkval == 0 ? (int)&__heap_start : (int) __brkval);
}
void setup() {
Serial.begin(9600);
// all your setup stuff, then
Serial.print(F("SRAM = "));
Serial.println(freeRam());
}