On 10/18/16 02:06, Bruce Cran wrote:
> I've just built both OVMF _and_ Qemu from the latest git sources, so I
> don't know which is at fault - but I'm seeing a hang in:
> #0  0x000000007f9dc030 in SetInterruptState (InterruptState=104 'h')
>     at /home/bcran/workspace/edk2/MdePkg/Library/BaseLib/Cpu.c:60
> It's at line 60 when it calls EnableInterrupts().
> The entire backtrace is:
> #0  0x000000007f9dc030 in SetInterruptState (InterruptState=104 'h')
>     at /home/bcran/workspace/edk2/MdePkg/Library/BaseLib/Cpu.c:60
> #1  0x000000007f9d6c57 in UpdateIdtTable (IdtTable=0xd,
> TemplateMap=0x7fadd478, ExceptionHandlerData=0x7f9e2460)
>     at
> /home/bcran/workspace/edk2/UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiDxeSmmCpuException.c:146
> #2  0x000000007f9d5ff0 in InitializeCpuInterruptHandlers (VectorInfo=0xd)
>     at
> /home/bcran/workspace/edk2/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c:111
> #3  0x000000007f9d65fd in HasErrorCode ()
> #4  0x000000000000000d in ?? ()
> #5  0x000000007fadd478 in ?? ()
> #6  0x000000007fa7b748 in ?? ()
> #7  0x0000000000000012 in ?? ()
> #8  0x000000007fadd4a0 in ?? ()
> #9  0x0000000000000000 in ?? ()
> I _have_ tried going back to older revisions of qemu so I'm wondering if
> this could be a problem introduced by OVMF?

Introduced when? :)

It's been a while since we committed anything to OvmfPkg that could
cause this. Similarly, I don't recall anything risky like this going
into UefiCpuPkg. I rebuild OVMF every few days, against current master,
and I'm not seeing this. (Just retested at aaba2a44c24e.)

So, we'll need more data here:
- Did you update KVM too perhaps?

- What is the last edk2 tree that works for you? (If you don't remember,
then looking at

  git reflog --date=local master | less

in your edk2 clone can help -- it will tell you the dates at which you
pulled master, and at what new commits)

- What are the KVM, qemu, edk2 versions that reproduce the bug?

- How did you build OVMF?

- What is your QEMU command line? (And how did you build QEMU?)

- Do you see anything in the OVMF log or on the serial console of the
VM? In particular, the fact that you are inside CpuExceptionHandlerLib
(according to your backtrace), implies that there was a page fault (or
other kind of exception). CpuExceptionHandlerLib dumps the registers and
the offending module to the serial console; so if you are lucky, you
might get that dump before CpuExceptionHandlerLib itself gets stuck (for
whatever reason).

edk2-devel mailing list

Reply via email to