There are some things you cannot do within an interrupt service routine (ISR) and Serial.print() is one of them.
In general your ISR should do as little as possible, such as setting or clearing a flag, and it should then return control to the main program. The main program should be set up to periodically check the flag and decide what to do.
Don