panic is supposed to run defers, so let's make sure we do that