Using printf when the system is known to be in an unreliable state is always risky.
Calling printf can render another problem then.
So the panic implementation should only try to print its message once.
This is sane since panic should not return.