I think it is stuck in the while-loop.
Can you make the sketch without the while-loop ?
A millis timer can be turned on and off with an extra 'bool' variable: millis_within_millis.ino.
It is possible to count within a millis-timer. A millis-timer can turn itself off. There are many possibilities.