Bug #13847

Updated by Jason King 12 months ago

Testing a BE for #13795, booting into a BE caused bhyve to exit with the following: 

 [2021-06-02T14:20:15.602943000Z]    INFO: zoneadmd/6789 on bob: (stream=stderr) 
     vm exit[0] 
         reason            VMX 
         rip               0xfffffffffbaf03b6 
         inst_length       2 
         status            0 
         exit_reason       44 (APIC access) 

 [2021-06-02T14:20:15.603164000Z]    INFO: zoneadmd/6789 on bob: (stream=stderr) 
         qualification     0x0000000000000204 
         inst_type                 0 
         inst_error                0 

 This happened after the 'DEBUG enabled' message on the console (so after the kernel was loaded): 
 illumos Version zfs-crypto-dnode-0-g72d3a7deb1 64-bit 
 DEBUG enabled 

 [NOTICE: Zone halted] 

 Restarting the instance with the same BE, and it booted just fine after that, so I haven't been able to recreate it again, but wanted to capture it in case others hit it. 

 This was on joyent_20201118T153314Z, so it's not the absolutely most recent, but not terribly ancient either. 

 I can't be sure this was the same code as when it occurred, but after rebooting, the instruction in question does at least look plausible (specific instruction is noted with asterisks): 

 > 0xfffffffffbaf03b6::dis 
 local_apic_read:                  pushq    %rbp 
 local_apic_read+1:                movq     %rsp,%rbp 
 local_apic_read+4:                pushq    %rdi 
 local_apic_read+5:                movl     %edi,%edi 
 local_apic_read+7:                subq     $0x8,%rsp 
 local_apic_read+0xb:              movq     -0x3bae5c52(%rip),%rax     <apicadr> 
 local_apic_read+0x12:             leaq     (%rax,%rdi,4),%rax 
 ** local_apic_read+0x16:             movl     (%rax),%eax ** 
 local_apic_read+0x18:             leave 
 local_apic_read+0x19:             ret