[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions |
Date: |
Sun, 4 Oct 2015 22:24:39 +0100 |
On 2 October 2015 at 18:20, Markus Armbruster <address@hidden> wrote:
> QMP command device-list-properties regressed in 2.1: it can crash or
> leave dangling pointers behind.
>
> -device FOO,help regressed in 2.2: it no longer works for
> non-pluggable devices. I tried to fix that some time ago[*], but my
> fix failed review. This is my second, more comprehensive try.
>
> PATCH 1-3 fix one class of bugs involved in the regressions, PATCH 4-5
> are libqtest preliminaries, PATCH 6 adds tests to demonstrate the
> remaining bugs, PATCH 7-9 fix them to a degree (see PATCH 8 for
> limitations), and PATCH 10 cleans up.
This ordering breaks bisection of 'make check', as I found out when
I tried to figure out which of the patches in this pull was causing
an OSX test failure. Please can you reorder them so that 'make check'
works at all points in the series?
> The following changes since commit ff770b07f34d28b79013a83989bd6c85f8f16b2f:
>
> Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into
> staging (2015-10-02 11:01:18 +0100)
>
> are available in the git repository at:
>
> git://repo.or.cz/qemu/armbru.git tags/pull-monitor-2015-10-02
>
> for you to fetch changes up to e927162a6fa2fa6144de9d1d11cc9448a2143671:
>
> Revert "qdev: Use qdev_get_device_class() for -device <type>,help"
> (2015-10-02 16:45:53 +0200)
>
> ----------------------------------------------------------------
> Fix device introspection regressions
>
> ----------------------------------------------------------------
'make check' failure on OSX:
/aarch64/device/introspect/list: OK
/aarch64/device/introspect/none: OK
/aarch64/device/introspect/abstract: OK
/aarch64/device/introspect/concrete: **
ERROR:/Users/pm215/src/qemu-for-merges/qom/object.c:333:void
object_initialize_with_type(void *, size_t, TypeImpl *): assertion
failed: (type != NULL)
Broken pipe
FAIL
I have no idea why this only failed on OSX...
Backtrace:
(gdb) bt
#0 0x00007fff9145e286 in __pthread_kill ()
#1 0x00007fff912529f9 in pthread_kill ()
#2 0x00007fff956db9b3 in abort ()
#3 0x0000000110d21c50 in g_assertion_message ()
#4 0x0000000110d21c95 in g_assertion_message_expr ()
#5 0x00000001102909ad in object_initialize_with_type (data=<value
temporarily unavailable, due to optimizations>, size=<value
temporarily unavailable, due to optimizations>, type=<value
temporarily unavailable, due to optimizations>) at
/Users/pm215/src/qemu-for-merges/qom/object.c:333
#6 0x000000011007513b in virtio_instance_init_common
(proxy_obj=0x7ffae2841000, data=0x7ffae2849120, vdev_size=6,
vdev_name=0x0) at
/Users/pm215/src/qemu-for-merges/hw/virtio/virtio.c:1468
#7 0x00000001102908ee in type_get_parent [inlined] () at
/Users/pm215/src/qemu-for-merges/qom/object.c:344
#8 type_get_by_name [inlined] () at
/Users/pm215/src/qemu-for-merges/qom/object.c:325
#9 type_table_lookup [inlined] () at
/Users/pm215/src/qemu-for-merges/qom/object.c:165
#10 type_table_get [inlined] () at
/Users/pm215/src/qemu-for-merges/qom/object.c:159
#11 object_post_init_with_type [inlined] () at
/Users/pm215/src/qemu-for-merges/qom/object.c:93
#12 0x00000001102908ee in object_initialize_with_type
(data=0x7ffae2841000, size=<value temporarily unavailable, due to
optimizations>, type=0x7ffae1547be0) at
/Users/pm215/src/qemu-for-merges/qom/object.c:345
#13 0x000000011029124b in object_new_with_type [inlined] () at
/Users/pm215/src/qemu-for-merges/qom/object.c:430
#14 0x000000011029124b in object_new (typename=<value temporarily
unavailable, due to optimizations>) at
/Users/pm215/src/qemu-for-merges/qom/object.c:440
#15 0x000000011013ec1c in qmp_device_list_properties
(typename=0x7ffae1608ac0 "virtio-tablet-pci", errp=<value temporarily
unavailable, due to optimizations>) at
/Users/pm215/src/qemu-for-merges/qmp.c:529
#16 0x0000000110136987 in qmp_marshal_device_list_properties
(args=<value temporarily unavailable, due to optimizations>,
ret=0x7fff4fc26198, errp=0x7fff4fc261a0) at qmp-marshal.c:1693
#17 0x000000011000f6c5 in handle_qmp_command (parser=<value
temporarily unavailable, due to optimizations>, tokens=<value
temporarily unavailable, due to optimizations>) at
/Users/pm215/src/qemu-for-merges/monitor.c:3860
#18 0x00000001103206ba in json_message_process_token (lexer=<value
temporarily unavailable, due to optimizations>, token=<value
temporarily unavailable, due to optimizations>, type=<value
temporarily unavailable, due to optimizations>, x=<value temporarily
unavailable, due to optimizations>, y=0) at
/Users/pm215/src/qemu-for-merges/qobject/json-streamer.c:87
#19 0x0000000110320367 in json_lexer_feed_char () at
/Users/pm215/src/qemu-for-merges/qobject/json-lexer.c:303
#20 0x00000001103202ad in json_lexer_feed (lexer=0x7ffae1600d70,
buffer=<value temporarily unavailable, due to optimizations>,
size=<value temporarily unavailable, due to optimizations>) at
/Users/pm215/src/qemu-for-merges/qobject/json-lexer.c:356
#21 0x000000011000eb00 in monitor_qmp_read (opaque=<value temporarily
unavailable, due to optimizations>, buf=0x7d <Address 0x7d out of
bounds>, size=<value temporarily unavailable, due to optimizations>)
at /Users/pm215/src/qemu-for-merges/monitor.c:3875
#22 0x0000000110126e5a in qemu_chr_be_write [inlined] () at
/Users/pm215/src/qemu-for-merges/qemu-char.c:305
#23 0x0000000110126e5a in tcp_chr_read (chan=<value temporarily
unavailable, due to optimizations>, cond=<value temporarily
unavailable, due to optimizations>, opaque=0x7ffae1576ac0) at
/Users/pm215/src/qemu-for-merges/qemu-char.c:2873
#24 0x0000000110d020bd in g_main_context_dispatch ()
#25 0x00000001102a19a2 in main_loop_wait (nonblocking=<value
temporarily unavailable, due to optimizations>) at
/Users/pm215/src/qemu-for-merges/main-loop.c:211
#26 0x000000011012f6da in qemu_main (argc=<value temporarily
unavailable, due to optimizations>, argv=<value temporarily
unavailable, due to optimizations>, envp=0x4fc262c000000000) at
/Users/pm215/src/qemu-for-merges/vl.c:1880
#27 0x00007fff905f75c9 in start ()
thanks
-- PMM
- [Qemu-devel] [PULL 05/10] libqtest: Clean up unused QTestState member sigact_old, (continued)
- [Qemu-devel] [PULL 05/10] libqtest: Clean up unused QTestState member sigact_old, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PULL 08/10] qmp: Fix device-list-properties not to crash for abstract device, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PULL 07/10] device-introspect-test: New, covering device introspection, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PULL 10/10] Revert "qdev: Use qdev_get_device_class() for -device <type>, help", Markus Armbruster, 2015/10/08
- [Qemu-devel] [PULL 02/10] hw: do not pass NULL to memory_region_init from instance_init, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PULL 04/10] tests: Fix how qom-test is run, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PULL 09/10] qdev: Protect device-list-properties against broken devices, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PULL 01/10] memory: allow destroying a non-empty MemoryRegion, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PULL 06/10] libqtest: New hmp() & friends, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PULL 03/10] macio: move DBDMA_init from instance_init to realize, Markus Armbruster, 2015/10/08
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions,
Peter Maydell <=
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions, Markus Armbruster, 2015/10/08
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions, Peter Maydell, 2015/10/08
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions, Markus Armbruster, 2015/10/08
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions, Peter Maydell, 2015/10/08
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions, Paolo Bonzini, 2015/10/08
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions, Peter Maydell, 2015/10/08
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions, Markus Armbruster, 2015/10/08
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions, Peter Maydell, 2015/10/08
- Re: [Qemu-devel] [PULL 00/10] Fix device introspection regressions, Markus Armbruster, 2015/10/08