From: Markus Armbruster <armbru@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: "Marc-André Lureau" <marcandre.lureau@gmail.com>,
"Markus Armbruster" <armbru@redhat.com>,
"open list:Block layer core" <qemu-block@nongnu.org>,
QEMU <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PULL v2 18/32] qmp: Don't let JSON errors jump the queue
Date: Wed, 11 Jul 2018 16:13:37 +0200 [thread overview]
Message-ID: <87efg9j1wu.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20180711083646.GB4266@localhost.localdomain> (Kevin Wolf's message of "Wed, 11 Jul 2018 10:36:46 +0200")
Kevin Wolf <kwolf@redhat.com> writes:
> Am 10.07.2018 um 16:02 hat Marc-André Lureau geschrieben:
>> Hi
>>
>> On Tue, Jul 10, 2018 at 3:20 PM, Kevin Wolf <kwolf@redhat.com> wrote:
>> > Am 03.07.2018 um 23:35 hat Markus Armbruster geschrieben:
>> >> handle_qmp_command() reports JSON syntax errors right away. This is
>> >> wrong when OOB is enabled, because the errors can "jump the queue"
>> >> then.
>> >>
>> >> The previous commit fixed the same bug for semantic errors, by
>> >> delaying the checking until dispatch. We can't delay the checking, so
>> >> delay the reporting.
>> >>
>> >> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> >> Reviewed-by: Eric Blake <eblake@redhat.com>
>> >> Message-Id: <20180703085358.13941-19-armbru@redhat.com>
>> >
>> > I'm observing a qemu crash in qemu-iotests 153 (which does however not
>> > seem to make the test case fail). git bisect points me to this patch.
>> >
>> > I'm getting output like this:
>> >
>> > *** Error in `/home/kwolf/source/qemu/tests/qemu-iotests/qemu': free(): invalid pointer: 0x0000555f7870f7e0 ***
>> > ======= Backtrace: =========
>> > /lib64/libc.so.6(+0x7cbac)[0x7fa9b29a2bac]
>> > /lib64/libc.so.6(+0x87a59)[0x7fa9b29ada59]
>> > /lib64/libc.so.6(cfree+0x16e)[0x7fa9b29b33be]
>> > /lib64/libglib-2.0.so.0(g_free+0xe)[0x7fa9ce462b4e]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x6eb9dc)[0x555f76f489dc]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x30ae4b)[0x555f76b67e4b]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x311558)[0x555f76b6e558]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x6e2d4e)[0x555f76f3fd4e]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x6e5fa0)[0x555f76f42fa0]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x6e2c2e)[0x555f76f3fc2e]
>> > /lib64/libglib-2.0.so.0(g_main_context_dispatch+0x157)[0x7fa9ce45d257]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x6e526e)[0x555f76f4226e]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x42349e)[0x555f76c8049e]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x2c27ef)[0x555f76b1f7ef]
>> > /lib64/libc.so.6(__libc_start_main+0xea)[0x7fa9b294688a]
>> > /home/kwolf/source/qemu/tests/qemu-iotests/qemu(+0x2c5b8a)[0x555f76b22b8a]
>> >
>> > Interestingly, this doesn't want to produce a core dump for me, so no
>> > backtrace with usable function names here. But I assume that you can
>> > easily reproduce this yourself.
>> >
>>
>> Looks like the double-free regression, you could try: "[PATCH]
>> monitor: fix double-free of request error"
>
> Thanks, that does fix it. Looks like it missed -rc0, though?
Yes. I'll work on a pull request for -rc1.
next prev parent reply other threads:[~2018-07-11 14:13 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-03 21:35 [Qemu-devel] [PULL v2 00/32] Monitor patches for 2018-07-03 Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 01/32] qmp: Say "out-of-band" instead of "Out-Of-Band" Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 02/32] monitor: Spell "I/O thread" consistently in comments Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 03/32] docs/interop/qmp: Improve OOB documentation Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 04/32] qmp: Document COMMAND_DROPPED design flaw Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 05/32] qmp: Get rid of x-oob-test command Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 06/32] tests/qmp-test: Test in-band command doesn't overtake Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 07/32] qmp: Make "id" optional again even in "oob" monitors Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 08/32] tests/test-qga: Demonstrate the guest-agent ignores "id" Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 09/32] qmp qemu-ga: Revert change that accidentally made qemu-ga accept "id" Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 10/32] tests/test-qga: Demonstrate the guest-agent ignores "control" Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 11/32] qmp qemu-ga: Fix qemu-ga not to accept "control" Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 12/32] qmp: Redo how the client requests out-of-band execution Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 13/32] qmp: Revert change to handle_qmp_command tracepoint Markus Armbruster
2018-07-19 11:07 ` Peter Maydell
2018-07-19 12:22 ` Markus Armbruster
2018-07-19 12:25 ` Peter Maydell
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 14/32] qmp: Always free QMPRequest with qmp_request_free() Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 15/32] qmp: Simplify code around monitor_qmp_dispatch_one() Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 16/32] tests/qmp-test: Demonstrate QMP errors jumping the queue Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 17/32] qmp: Don't let malformed in-band commands jump " Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 18/32] qmp: Don't let JSON errors " Markus Armbruster
2018-07-10 13:20 ` Kevin Wolf
2018-07-10 14:02 ` Marc-André Lureau
2018-07-11 8:36 ` Kevin Wolf
2018-07-11 14:13 ` Markus Armbruster [this message]
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 19/32] monitor: Rename use_io_thr to use_io_thread Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 20/32] monitor: Peel off @mon_global wrapper Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 21/32] qobject: New qdict_from_jsonf_nofail() Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 22/32] qmp: De-duplicate error response building Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 23/32] qmp: Use QDict * instead of QObject * for response objects Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 24/32] qmp: Replace monitor_json_emitter{, raw}() by qmp_{queue, send}_response() Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 25/32] qmp: Replace get_qmp_greeting() by qmp_greeting() Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 26/32] qmp: Simplify monitor_qmp_respond() Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 27/32] qmp: Add some comments around null responses Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 28/32] qmp: Switch timestamp_put() to qdict_from_jsonf_nofail() Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 29/32] qobject: Let qobject_from_jsonf() fail instead of abort Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 30/32] qmp: Clean up capability negotiation after commit 02130314d8c Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 31/32] monitor: Improve some comments Markus Armbruster
2018-07-03 21:35 ` [Qemu-devel] [PULL v2 32/32] qapi: Polish command flags documentation in qapi-code-gen.txt Markus Armbruster
2018-07-05 12:33 ` [Qemu-devel] [PULL v2 00/32] Monitor patches for 2018-07-03 Peter Maydell
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=87efg9j1wu.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=marcandre.lureau@gmail.com \
--cc=qemu-block@nongnu.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.