From: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: handle_pio looping during domain shutdown, with qemu 4.2.0 in stubdom
Date: Thu, 4 Jun 2020 03:46:21 +0200 [thread overview]
Message-ID: <20200604014621.GA203658@mail-itl> (raw)
[-- Attachment #1: Type: text/plain, Size: 3066 bytes --]
Hi,
(continuation of a thread from #xendevel)
During system shutdown quite often I hit infinite stream of errors like
this:
(XEN) d3v0 Weird PIO status 1, port 0xb004 read 0xffff
(XEN) domain_crash called from io.c:178
This is all running on Xen 4.13.0 (I think I've got this with 4.13.1
too), nested within KVM. The KVM part means everything is very slow, so
various race conditions are much more likely to happen.
It started happening not long ago, and I'm pretty sure it's about
updating to qemu 4.2.0 (in linux stubdom), previous one was 3.0.0.
Thanks to Andrew and Roger, I've managed to collect more info.
Context:
dom0: pv
dom1: hvm
dom2: stubdom for dom1
dom3: hvm
dom4: stubdom for dom3
dom5: pvh
dom6: pvh
It starts I think ok:
(XEN) hvm.c:1620:d6v0 All CPUs offline -- powering off.
(XEN) d3v0 handle_pio port 0xb004 read 0x0000
(XEN) d3v0 handle_pio port 0xb004 read 0x0000
(XEN) d3v0 handle_pio port 0xb004 write 0x0001
(XEN) d3v0 handle_pio port 0xb004 write 0x2001
(XEN) d4v0 XEN_DMOP_remote_shutdown domain 3 reason 0
(XEN) hvm.c:1620:d5v0 All CPUs offline -- powering off.
(XEN) d1v0 handle_pio port 0xb004 read 0x0000
(XEN) d1v0 handle_pio port 0xb004 read 0x0000
(XEN) d1v0 handle_pio port 0xb004 write 0x0001
(XEN) d1v0 handle_pio port 0xb004 write 0x2001
(XEN) d2v0 XEN_DMOP_remote_shutdown domain 1 reason 0
But then (after a second or so) when the toolstack tries to clean it up,
things go sideways:
(XEN) d0v0 XEN_DOMCTL_destroydomain domain 6
(XEN) d0v0 XEN_DOMCTL_destroydomain domain 6 got domain_lock
(XEN) d0v0 XEN_DOMCTL_destroydomain domain 6 ret -85
(XEN) d0v0 XEN_DOMCTL_destroydomain domain 6
(XEN) d0v0 XEN_DOMCTL_destroydomain domain 6 got domain_lock
(XEN) d0v0 XEN_DOMCTL_destroydomain domain 6 ret -85
(... long stream of domain destroy that can't really finish ...)
And then, similar also for dom1:
(XEN) d0v1 XEN_DOMCTL_destroydomain domain 1
(XEN) d0v1 XEN_DOMCTL_destroydomain domain 1 got domain_lock
(XEN) d0v1 XEN_DOMCTL_destroydomain domain 1 ret -85
(... now a stream of this for dom1 and dom6 interleaved ...)
At some point, domain 2 (stubdom for domain 1) and domain 5 join too.
Then, we get the main issue:
(XEN) d3v0 handle_pio port 0xb004 read 0x0000
(XEN) d3v0 Weird PIO status 1, port 0xb004 read 0xffff
(XEN) domain_crash called from io.c:178
Note, there was no XEN_DOMCTL_destroydomain for domain 3 nor its stubdom
yet. But XEN_DMOP_remote_shutdown for domain 3 was called already.
Full log of the shutdown:
https://gist.github.com/marmarek/fbfe1b5d8f4c7b47df5a5e28bd95ea66
And the patch adding those extra messages:
https://gist.github.com/marmarek/dc739a820928e641a1ed6b4759cdf6f3
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next reply other threads:[~2020-06-04 1:46 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-04 1:46 Marek Marczykowski-Górecki [this message]
2020-06-04 7:08 ` handle_pio looping during domain shutdown, with qemu 4.2.0 in stubdom Jan Beulich
2020-06-04 7:17 ` Jan Beulich
2020-06-04 11:13 ` Andrew Cooper
2020-06-04 12:36 ` Jan Beulich
2020-06-04 14:25 ` Marek Marczykowski-Górecki
2020-06-05 9:09 ` Jan Beulich
2020-06-05 9:22 ` Jan Beulich
2020-06-05 12:01 ` Marek Marczykowski-Górecki
2020-06-05 12:39 ` Paul Durrant
2020-06-05 13:04 ` 'Marek Marczykowski-Górecki'
2020-06-05 13:24 ` Paul Durrant
2020-06-05 12:44 ` Andrew Cooper
2020-06-05 14:13 ` Jan Beulich
2020-06-05 11:05 ` Paul Durrant
2020-06-05 11:25 ` Paul Durrant
2020-06-05 13:36 ` Jan Beulich
2020-06-05 13:43 ` Paul Durrant
2020-06-05 13:46 ` Jan Beulich
2020-06-05 13:49 ` Paul Durrant
2020-06-05 15:48 ` Paul Durrant
2020-06-05 17:13 ` 'Marek Marczykowski-Górecki'
2020-06-05 17:24 ` Paul Durrant
2020-06-05 20:43 ` 'Marek Marczykowski-Górecki'
2020-06-07 13:32 ` Paul Durrant
2020-06-05 13:32 ` Jan Beulich
2020-06-05 13:37 ` Paul Durrant
2020-06-05 13:57 ` Jan Beulich
2020-06-05 15:39 ` Paul Durrant
2020-06-05 16:18 ` 'Marek Marczykowski-Górecki'
2020-06-08 8:13 ` Jan Beulich
2020-06-08 9:15 ` Paul Durrant
2020-06-08 9:24 ` Jürgen Groß
2020-06-08 12:38 ` Paul Durrant
2020-06-08 12:46 ` Jan Beulich
2020-06-08 12:54 ` Paul Durrant
2020-06-05 9:38 ` Jan Beulich
2020-06-05 11:18 ` Marek Marczykowski-Górecki
2020-06-05 13:59 ` Jan Beulich
2020-06-05 15:10 ` Paul Durrant
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=20200604014621.GA203658@mail-itl \
--to=marmarek@invisiblethingslab.com \
--cc=xen-devel@lists.xenproject.org \
/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.