From: Markus Armbruster <armbru@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
QEMU Developers <qemu-devel@nongnu.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Pedro Barbuda <pbarbuda@microsoft.com>,
Mohamed Mediouni <mohamed@unpredictable.fr>,
Nicholas Piggin <npiggin@gmail.com>,
Harsh Prateek Bora <harshpb@linux.ibm.com>,
Cornelia Huck <cohuck@redhat.com>,
Eric Farman <farman@linux.ibm.com>,
Matthew Rosato <mjrosato@linux.ibm.com>
Subject: Re: what is qemu_system_guest_panicked() for?
Date: Mon, 13 Jul 2026 20:09:27 +0200 [thread overview]
Message-ID: <874ii2ep7s.fsf@pond.sub.org> (raw)
In-Reply-To: <alT-BXlG2EmIS-pD@redhat.com> ("Daniel P. Berrangé"'s message of "Mon, 13 Jul 2026 16:02:29 +0100")
Daniel P. Berrangé <berrange@redhat.com> writes:
> On Mon, Jul 13, 2026 at 03:57:25PM +0200, Markus Armbruster wrote:
>> Daniel P. Berrangé <berrange@redhat.com> writes:
[...]
>> > When libvirt see a GUEST_PANICKED, it will transition the state to
>> > "CRASHED" and assign a reason of "PANICKED" as the trigger / cause.
>> >
>> > Then depending on the guest XML config for <on_crash> it will do one
>> > of
>> >
>> > * Take a core dump of QEMU
>> > * Terminate QEMU
>> > * Restart QEMU
>> > * Take a core dump of QEMU and restart
>> > * Leave it in crashed state (to allow a debugger to attach)
>> >
>> >
>> > The "machine check" and "unknown VM exit" scenarios, would still map
>> > to libvirt's "CRASHED" state, but we would want to assign distinct
>> > "cause" for each of them.
>>
>> Say we add event GUEST_MACHINE_CHECK, then send it instead of
>> GUEST_PANICKED on a machine check.
>>
>> With an updated version of libvirt, this changes exactly the "cause"
>> recorded for a machine check in the "CRASHED" state. This change is
>> desirable.
>>
>> Older versions of libvirt ignore the unknown GUEST_MACHINE_CHECK event.
>> They therefore no longer take the <on_crash> action. This is
>> undesirable, I'm afraid. Is it?
>>
>> An orderly transition could look like this:
>>
>> 1. Add a new event for each distinct cause, and emit the appropriate
>> event in addition to GUEST_PANICKED.
>>
>> 2. Deprecate GUEST_PANICKED.
>>
>> 3. Remove GUEST_PANICKED after a suitable grace period.
>
> Another option is to accept "GUEST_PANICKED" as a sub-optimal name
> forever and add a "source" field to the event to explain what actually
> triggered it, where "source" can be "guest-os", "machine-check", ...
> etc...
Yes, that's a compatible extension.
> Which would probably be better compatible with libvirt too
>
> With regards,
> Daniel
next prev parent reply other threads:[~2026-07-13 18:09 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-10 16:02 what is qemu_system_guest_panicked() for? Peter Maydell
2026-07-11 15:01 ` Harsh Prateek Bora
2026-07-13 8:39 ` Daniel P. Berrangé
2026-07-13 8:57 ` Markus Armbruster
2026-07-13 9:06 ` Daniel P. Berrangé
2026-07-13 10:30 ` Cornelia Huck
2026-07-13 11:43 ` Markus Armbruster
2026-07-13 12:14 ` Daniel P. Berrangé
2026-07-13 13:57 ` Markus Armbruster
2026-07-13 15:02 ` Daniel P. Berrangé
2026-07-13 18:09 ` Markus Armbruster [this message]
2026-07-13 12:30 ` Peter Maydell
2026-07-13 10:22 ` Cornelia Huck
2026-07-13 13:53 ` Christian Borntraeger
2026-07-13 13:36 ` Fabiano Rosas
2026-07-14 10:24 ` Aditya Gupta
2026-07-14 14:47 ` Shivang Upadhyay
2026-07-13 14:49 ` Fabiano Rosas
2026-07-13 15:03 ` Peter Maydell
2026-07-13 16:11 ` Fabiano Rosas
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=874ii2ep7s.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=cohuck@redhat.com \
--cc=farman@linux.ibm.com \
--cc=harshpb@linux.ibm.com \
--cc=mjrosato@linux.ibm.com \
--cc=mohamed@unpredictable.fr \
--cc=npiggin@gmail.com \
--cc=pbarbuda@microsoft.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.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.