Try 2.  I found that I'd forgotten to set panic = 1 in my ISR.  The code works without this but is more correct if we ensure that the ISR only gets fully run once.