Bug 1269779

Summary: kvm: load/store instruction decoding not implemented
Product: [Fedora] Fedora Reporter: Richard W.M. Jones <rjones>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ddutile, drjones, gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab, msalter
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-08 15:43:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
serial port log from guest
none
libvirt/qemu log from guest none

Description Richard W.M. Jones 2015-10-08 08:09:36 UTC
Description of problem:

This has similarities to the following bug, but is much rarer:
https://bugzilla.redhat.com/show_bug.cgi?id=1194366

I have a script which boots a guest 1000 times on the Fedora/aarch64
host.  Guest and host kernels are identical (4.2.0-1.fc24.aarch64).

About 5 in every 1000 boots fail.  The host kernel prints:

kvm [3683]: load/store instruction decoding not implemented

The corresponding qemu process hangs after printing:

error: kvm run failed Function not implemented
PC=000000006bbfd238  SP=00000000700000b0
X00=aa1903e1aa0303e2 X01=0000000068e67b40 X02=000000006baa7cec X03=0000000000e68200
X04=000000006bac1398 X05=00000000009ffaf8 X06=0000000000000000 X07=000000006f04c85c
X08=000000006f04cb78 X09=0000000000000000 X10=0000000000000004 X11=0000000000000000
X12=00000000700fe0fa X13=0000000000000000 X14=0000000000000000 X15=0000000000000000
X16=000000006f04cdf0 X17=0000000000000000 X18=0000000000000000 X19=000000006bff0018
X20=0000000000000000 X21=0000000000000000 X22=0000000000000000 X23=0000000000000000
X24=0000000000000000 X25=0000000000000000 X26=0000000000000000 X27=0000000000000000
X28=0000000000000000 X29=0000000000000000 X30=0000000000000000 PSTATE=60000305 (flags -ZC-)

The PC address does not correspond to any kernel address.

Version-Release number of selected component (if applicable):

kernel 4.2.0-1.fc24.aarch64

How reproducible:

Rare, approximately 1 in 200 boots.

Steps to Reproduce:
1. In the libguestfs test suite, run:
   ./tests/qemu/qemu-boot -n 1000

Additional info:

The error message usually indicates that the guest has jumped into random code.

I'm still investigating this bug, will update this bug with further details
as I collect it.

Comment 1 Richard W.M. Jones 2015-10-08 14:39:49 UTC
Created attachment 1081033 [details]
serial port log from guest

Even though this is Fedora, I'm using AAVMF
(AAVMF-20141113-5.git77d5dac.aa7a.aarch64).  It appears to
be crashing in AAVMF.

Attached is the guest serial port log up to the point where
the guest stops.

Comment 2 Richard W.M. Jones 2015-10-08 14:40:50 UTC
Created attachment 1081034 [details]
libvirt/qemu log from guest

This is the libvirt/qemu log from the same guest as in comment 1.

Comment 3 Richard W.M. Jones 2015-10-08 15:43:19 UTC
As this works with Gerd's edk2.git/aarch64 package, I'm going
to say this was because I was using a too old version of AAVMF,
so it's likely not a bug.