Crash dump has multiple BugChecks

I’m trying to do postmortem debugging of a kernel crash. When I do !running -it the stack shows the following on two cores:

nt!KiFreezeTargetExecution
nt!KiPollFreezeExecutionEx
nt!KiPollFreezeExecution
nt!KiYieldWaitForDebugger
nt!KeBugCheck2
nt!KeBugCheckEx
nt!KiSystemServiceHandler
...
nt!HvlArm64SyntheticExceptionVector
...

and then one more core (at a slightly later time):

nt!KeBugCheck2
nt!KeBugCheckEx
nt!KiSystemServiceHandler
...
nt!HvlArm64SyntheticExceptionVector
...

How do you interpret what happened there with the multiple bug checks?

What was the bug check code? These are ARM64 machines. Does it crash on x64 machines as well?

It means that you crashed in multiple places in the time before the system found a debugger or generated a crash dump. They could be symptoms of the same problem, or independent issues. Ultimately one of these will be selected as ‘the’ exception record, but which one depends on CPU / thread timing and is not deterministic.