[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnu
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL |
Date: |
Fri, 11 Sep 2015 14:43:50 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 |
On 09/11/2015 01:18 PM, Markus Armbruster wrote:
> Before commit 1d10b44, it crashed. Since then, it returns NULL, with
> a FIXME comment. The FIXME is valid: code that assumes QObject *
> can't be null exists. I'm not aware of a way to feed this problematic
> return value to code that actually chokes on null in the current code,
> but the next few commits will create one.
>
> Commit 481b002 solved a very similar problem by introducing a special
> null QObject. Use it here, and drop the FIXME.
>
> Update the test accordingly.
>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> qapi/qmp-output-visitor.c | 3 +--
> tests/test-qmp-output-visitor.c | 2 +-
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> +++ b/tests/test-qmp-output-visitor.c
> @@ -485,7 +485,7 @@ static void test_visitor_out_empty(TestOutputVisitorData
> *data,
> QObject *arg;
>
> arg = qmp_output_get_qobject(data->qov);
> - g_assert(!arg);
> + g_assert(qobject_type(arg) == QTYPE_QNULL);
> }
Missing
qobject_decref(arg);
Ultimately, the global qnull_ starts life with refcnt 1, and after this
test should be back to 1. But it is coming back as 3, so even with a
qobject_decref, that would get it back down to 2. So we are leaking a
reference to qnull somewhere.
I'm still investigating, and may be able to find the patch
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH v6 05/26] tests/qapi-schema: Convert test harness to QAPISchemaVisitor, (continued)
- [Qemu-devel] [PATCH v6 05/26] tests/qapi-schema: Convert test harness to QAPISchemaVisitor, Markus Armbruster, 2015/09/11
- [Qemu-devel] [PATCH v6 07/26] qapi-visit: Convert to QAPISchemaVisitor, fixing bugs, Markus Armbruster, 2015/09/11
- [Qemu-devel] [PATCH v6 11/26] qapi-event: Convert to QAPISchemaVisitor, fixing data with base, Markus Armbruster, 2015/09/11
- [Qemu-devel] [PATCH v6 17/26] qapi: De-duplicate parameter list generation, Markus Armbruster, 2015/09/11
- [Qemu-devel] [PATCH v6 13/26] qapi: Clean up after recent conversions to QAPISchemaVisitor, Markus Armbruster, 2015/09/11
- [Qemu-devel] [PATCH v6 01/26] qapi: Rename class QAPISchema to QAPISchemaParser, Markus Armbruster, 2015/09/11
- [Qemu-devel] [PATCH v6 23/26] qapi-schema: Fix up misleading specification of netdev_add, Markus Armbruster, 2015/09/11
- [Qemu-devel] [PATCH v6 19/26] qapi: Improve built-in type documentation, Markus Armbruster, 2015/09/11
- [Qemu-devel] [PATCH v6 18/26] qapi-commands: De-duplicate output marshaling functions, Markus Armbruster, 2015/09/11
- [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL, Markus Armbruster, 2015/09/11
- Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL,
Eric Blake <=
- Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL, Eric Blake, 2015/09/11
- Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL, Markus Armbruster, 2015/09/12
- Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL, Eric Blake, 2015/09/12
- Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL, Eric Blake, 2015/09/12
- Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL, Eric Blake, 2015/09/12
- Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL, Markus Armbruster, 2015/09/12
- Re: [Qemu-devel] [PATCH v6 20/26] qapi: Fix output visitor to return qnull() instead of NULL, Eric Blake, 2015/09/12
[Qemu-devel] [PATCH v6 15/26] qapi-commands: Rearrange code, Markus Armbruster, 2015/09/11
[Qemu-devel] [PATCH v6 26/26] qapi-introspect: Hide type names, Markus Armbruster, 2015/09/11
[Qemu-devel] [PATCH v6 24/26] qapi: Pseudo-type '**' is now unused, drop it, Markus Armbruster, 2015/09/11