From: Avi Kivity <avi@redhat.com>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
KVM list <kvm@vger.kernel.org>, Gleb Natapov <gleb@redhat.com>
Subject: Re: openbsd system_powerdown: "KVM internal error. Suberror: 1"
Date: Mon, 21 Mar 2011 12:28:56 +0200 [thread overview]
Message-ID: <4D872868.2010005@redhat.com> (raw)
In-Reply-To: <4D87248F.3020106@msgid.tls.msk.ru>
On 03/21/2011 12:12 PM, Michael Tokarev wrote:
> 21.03.2011 12:43, Avi Kivity wrote:
> > On 03/17/2011 10:18 PM, Michael Tokarev wrote:
>
> []
> >> 47965.428791: kvm_exit: reason npf rip 0xd020203a
> >> 47965.428791: kvm_page_fault: address bfff0 error_code 4
> >> 47965.428792: kvm_emulate_insn: 0:d020203a: 5a (prot32)
> >> 47965.428792: kvm_mmio: mmio unsatisfied-read len 4 gpa 0xbfff0 val 0x0
> >> 47965.428793: kvm_mmio: mmio read len 4 gpa 0xbfff0 val 0xb100
> >> 47965.428794: kvm_entry: vcpu 0
> >> 47965.428795: kvm_exit: reason npf rip 0xd020203b
> >> 47965.428795: kvm_page_fault: address bfff4 error_code 4
> >> 47965.428795: kvm_emulate_insn: 0:d020203b: 59 (prot32)
> >> 47965.428796: kvm_mmio: mmio unsatisfied-read len 4 gpa 0xbfff4 val 0x0
> >> 47965.428797: kvm_mmio: mmio read len 4 gpa 0xbfff4 val 0x0
> >> 47965.428797: kvm_entry: vcpu 0
> >> 47965.428798: kvm_exit: reason npf rip 0xd020203c
> >> 47965.428798: kvm_page_fault: address bfff8 error_code 4
> >> 47965.428799: kvm_emulate_insn: 0:d020203c: 58 (prot32)
> >
> > That's a POP instruction. So openbsd mapped the stack into the
> > framebuffer, and kvm has to emulate everything.
> >
> > Please post a complete binary trace from bootup until the
> > host_state_reload issue appears.
>
> http://95.84.243.119:8000/tmp/kvm-obsd/ -- that's the whole
> thing.
>
> There, trace.dat.gz and trace.txt.gz are the complete traces
> from trace-cmd from the beginning to the login prompt.
>
> I don't think it's easy to catch the place when host_state_reloads
> starts increasing - it happens during boot before userspace takes
> control, while in kernel (during this time the text on the screen -
> bootup progress - in on a strange background color). The difficulty
> is because during that time there are lots of other activity on
> kvm side - number of exits and emulations for example.
>
> Also, obsd4.8-32bit.qcow2.xz is the disk image of openbsd install
> which I used for all these tests - it's 112 Mb compressed, about
> 600Mb uncompressed, 2Gb virtual size. This is here in order for
> me to stop acting as a broken phone (but I can continue doing so
> just fine - I just think it's a bit less productive this way :)
>
> I've shown this file to Gleb Natapov (Cc'd) before too (who tried
> to debug the "insane amount of host_state_reload" issue. This is
> a default openbsd install from their current installation cdrom,
> so anyone can create their own disk image too, obviously.
>
> I run it just like "kvm -hda obsd4.8-32bit.qcow2 -snapshot -net none"
> (and it can use rtl8139 NIC). Root password is "12", but there's no
> need to login since all the problems happens before login.
>
> In order to trigger the error in $subject, wait till it's idle
> (which happens right after "login:" prompt) and send
> "system_powerdown" command (I use -monitor stdio) - in about
> 5 seconds from there it'll error out. In order to catch this
> error it's better to use kvm 0.12 (it works with current seabios
> under freebsd since graphics mode isn't used) -- current 0.14
> behaves badly after "KVM internal error" (which needs to be
> improved a bit too, I think)
>
> >> 47965.428799: kvm_mmio: mmio unsatisfied-read len 4 gpa 0xbfff8 val 0x0
> >> 47965.428801: kvm_mmio: mmio read len 4 gpa 0xbfff8 val 0x30
> >> 47965.428801: kvm_entry: vcpu 0
> >> 47965.428802: kvm_exit: reason vintr rip 0xd0202041
> >> 47965.428802: kvm_inj_virq: irq 81
> >> 47965.428802: kvm_inj_virq: irq 81
> >> 47965.428803: kvm_entry: vcpu 0
> >> 47965.428803: kvm_exit: reason npf rip 0xd0202041
> >> 47965.428804: kvm_page_fault: address bfffc error_code 6
> >> 47965.428804: kvm_emulate_insn: 0:d0202041: cf (prot32)
> >> 47965.428805: kvm_emulate_insn: 0:d0202041: cf (prot32) failed
> >
> > We don't emulate IRET-with-mmio-stack.
>
> Note that the whole this story - two issues with OpenBSD - is
> pure my "luck" - I don't use openbsd, never used it before, and
> don't actually plan to use in a near future. We debugged an
> unrelated problem (a bug in linux nfs server) and tried to
> perform various interoperability tests (installing various
> operating systems in kvm), and found out that OpenBSD behaves
> somewhat.. unexpectedly in kvm. So I went on and performed
> a few tests locally (installing OpenBSD for the first time
> ever), which resulted in 2 my "bugreports".
>
> I'm not sure how important OpenBSD support for kvm is, and if
> it's something which better be done in OpenBSD itself instead
> of kvm.
There's no such thing as OpenBSD support. We emulate a PC, and OpenBSD
runs on a PC. If it doesn't work well, there's a bug in one or the other.
It's true that the bug has relatively low priority if it's just OpenBSD
that triggers it.
> (This all is not to say I wont help resolving these issues -
> quite the opposite, I'm willing to help, but I think my help
> in a form of broken phone isn't of much value :)
Yes, it's better if we can reproduce this, and I understand from Gleb's
message that we can.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2011-03-21 10:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-11 11:54 openbsd system_powerdown: "KVM internal error. Suberror: 1" Michael Tokarev
2011-03-16 19:44 ` Marcelo Tosatti
2011-03-16 20:09 ` Michael Tokarev
2011-03-17 17:52 ` Marcelo Tosatti
2011-03-17 20:18 ` Michael Tokarev
2011-03-21 9:43 ` Avi Kivity
2011-03-21 9:57 ` Gleb Natapov
2011-03-21 10:12 ` Michael Tokarev
2011-03-21 10:28 ` Avi Kivity [this message]
2011-03-21 10:41 ` Gleb Natapov
2011-03-21 10:47 ` Avi Kivity
2011-03-21 10:49 ` Gleb Natapov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D872868.2010005@redhat.com \
--to=avi@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mjt@tls.msk.ru \
--cc=mtosatti@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.