Hi On Mon, Aug 24, 2026 at 6:19 PM Daniel P. Berrangé <[email protected]> wrote: > > On Mon, Aug 24, 2026 at 03:17:06PM +0100, Daniel P. Berrangé wrote: > > On Sun, Aug 16, 2026 at 11:13:02PM +0400, Marc-André Lureau wrote: > > > Instead of passing a Monitor pointer through error_vprintf_mon() and > > > error_printf_mon(), call monitor_cur_hmp() directly. This removes the > > > monitor parameter from the internal helpers and the manual > > > object_dynamic_cast() in vreport(). > > > > > > Signed-off-by: Marc-André Lureau <[email protected]> > > > --- > > > util/error-report.c | 72 > > > +++++++++++++++++++++++++---------------------------- > > > 1 file changed, 34 insertions(+), 38 deletions(-) > > > > > > diff --git a/util/error-report.c b/util/error-report.c > > > index aaa15bc79827..70cbd174ffae 100644 > > > --- a/util/error-report.c > > > +++ b/util/error-report.c > > > @@ -30,34 +30,31 @@ bool error_with_guestname; > > > const char *error_guest_name; > > > > > > /* > > > - * Print to the current human monitor if we have one, else to stderr. > > > + * Print to the current HMP monitor if we have one, else to stderr. > > > */ > > > -static int G_GNUC_PRINTF(2, 0) > > > -error_vprintf_mon(Monitor *cur_mon, const char *fmt, va_list ap) > > > +static int G_GNUC_PRINTF(1, 0) > > > +error_vprintf_mon(const char *fmt, va_list ap) > > > > Please don't remove this 'cur_mon' parameter. > > > > > { > > > - /* > > > - * This will return -1 if 'cur_mon' is NULL, or is QMP. > > > - * IOW this will only print if in HMP, otherwise we > > > - * fallback to stderr for QMP / no-monitor scenarios. > > > - */ > > > - int ret = monitor_vprintf(cur_mon, fmt, ap); > > > - if (ret == -1) { > > > - ret = vfprintf(stderr, fmt, ap); > > > + MonitorHMP *hmp = monitor_cur_hmp(); > > > > This calls qemu_mutex_lock/unlock, which have trace points. > > As a result if you have 'log' tracing enabled, error messages > > will get trace point output splattered on top. > > > > We must fetch monitor_cur_hmp once only at the top of > > vreport() and never query it again. > > See my previous fix for this problem in: > > commit 2eb00abcfebc3fa0a7c2915d1d29fa8fe0b88379 > Author: Daniel P. Berrangé <[email protected]> > Date: Wed Sep 10 17:32:37 2025 +0100 > > util: fix interleaving of error & trace output > >
Ok, I will update the patch and adjust the doc comments. thanks
