Program flow

You shouldn't be doing serial prints, directly or indirectly, from an interrupt service routine.

The buffer will fill up, it will block and thus hang.