Skip to content
Snippets Groups Projects
  1. Feb 05, 2021
    • Vladimir Sementsov-Ogievskiy's avatar
      iotests: 30: drop from auto group (and effectively from make check) · e2c5093c
      Vladimir Sementsov-Ogievskiy authored
      
      I reproduced the following crash fast enough:
      
      0  raise () at /lib64/libc.so.6
      1  abort () at /lib64/libc.so.6
      2  _nl_load_domain.cold () at /lib64/libc.so.6
      3  annobin_assert.c_end () at /lib64/libc.so.6
      4  bdrv_reopen_multiple (bs_queue=0x55de75fa9b70, errp=0x0)
         at ../block.c:3820
      5  bdrv_reopen_set_read_only (bs=0x55de760fc020, read_only=true,
         errp=0x0) at ../block.c:3870
      6  stream_clean (job=0x55de75fa9410) at ../block/stream.c:99
      7  job_clean (job=0x55de75fa9410) at ../job.c:680
      8  job_finalize_single (job=0x55de75fa9410) at ../job.c:696
      9  job_txn_apply (job=0x55de75fa9410,
         fn=0x55de741eee27 <job_finalize_single>) at ../job.c:158
      10 job_do_finalize (job=0x55de75fa9410) at ../job.c:805
      11 job_completed_txn_success (job=0x55de75fa9410) at ../job.c:855
      12 job_completed (job=0x55de75fa9410) at ../job.c:868
      13 job_exit (opaque=0x55de75fa9410) at ../job.c:888
      14 aio_bh_call (bh=0x55de76b9b4e0) at ../util/async.c:136
      15 aio_bh_poll (ctx=0x55de75bc5300) at ../util/async.c:164
      16 aio_dispatch (ctx=0x55de75bc5300) at ../util/aio-posix.c:381
      17 aio_ctx_dispatch (source=0x55de75bc5300, callback=0x0,
         user_data=0x0) at ../util/async.c:306
      18 g_main_context_dispatch () at /lib64/libglib-2.0.so.0
      19 glib_pollfds_poll () at ../util/main-loop.c:232
      20 os_host_main_loop_wait (timeout=0) at ../util/main-loop.c:255
      21 main_loop_wait (nonblocking=0) at ../util/main-loop.c:531
      22 qemu_main_loop () at ../softmmu/runstate.c:722
      23 main (argc=20, argv=0x7ffe218f0268, envp=0x7ffe218f0310) at
         ../softmmu/main.c:50
      
      (gdb) fr 4
      4  bdrv_reopen_multiple (bs_queue=0x55de75fa9b70, errp=0x0) at
            ../block.c:3820
      3820                assert(perm == state->perm);
      (gdb) list
      3815
      3816            if (ret == 0) {
      3817                uint64_t perm, shared;
      3818
      3819                bdrv_get_cumulative_perm(state->bs, &perm,
                          &shared);
      3820                assert(perm == state->perm);
      3821                assert(shared == state->shared_perm);
      3822
      3823                bdrv_set_perm(state->bs);
      3824            } else {
      (gdb) p perm
      $1 = 1
      (gdb) p state->perm
      $2 = 0
      
      Then I had 38 successful iterations and another crash:
      0  bdrv_check_update_perm (bs=0x5631ac97bc50, q=0x0, new_used_perm=1,
         new_shared_perm=31, ignore_children=0x0, errp=0x7ffd9d477cf8) at
         ../block.c:2197
      1  bdrv_root_attach_child
          (child_bs=0x5631ac97bc50, child_name=0x5631aaf6b1f9 "backing",
          child_class=0x5631ab280ca0 <child_of_bds>, child_role=8,
          ctx=0x5631ab757300, perm=1, shared_perm=31, opaque=0x5631abb8c020,
          errp=0x7ffd9d477cf8)
          at ../block.c:2642
      2  bdrv_attach_child (parent_bs=0x5631abb8c020,
         child_bs=0x5631ac97bc50, child_name=0x5631aaf6b1f9 "backing",
         child_class=0x5631ab280ca0 <child_of_bds>, child_role=8,
         errp=0x7ffd9d477cf8)
          at ../block.c:2719
      3  bdrv_set_backing_hd (bs=0x5631abb8c020, backing_hd=0x5631ac97bc50,
         errp=0x7ffd9d477cf8) at ../block.c:2854
      4  stream_prepare (job=0x5631ac751eb0) at ../block/stream.c:74
      5  job_prepare (job=0x5631ac751eb0) at ../job.c:784
      6  job_txn_apply (job=0x5631ac751eb0, fn=0x5631aacb1156 <job_prepare>)
         at ../job.c:158
      7  job_do_finalize (job=0x5631ac751eb0) at ../job.c:801
      8  job_completed_txn_success (job=0x5631ac751eb0) at ../job.c:855
      9  job_completed (job=0x5631ac751eb0) at ../job.c:868
      10 job_exit (opaque=0x5631ac751eb0) at ../job.c:888
      11 aio_bh_call (bh=0x7f3d9c007680) at ../util/async.c:136
      12 aio_bh_poll (ctx=0x5631ab757300) at ../util/async.c:164
      13 aio_dispatch (ctx=0x5631ab757300) at ../util/aio-posix.c:381
      14 aio_ctx_dispatch (source=0x5631ab757300, callback=0x0,
         user_data=0x0) at ../util/async.c:306
      15 g_main_context_dispatch () at /lib64/libglib-2.0.so.0
      16 glib_pollfds_poll () at ../util/main-loop.c:232
      17 os_host_main_loop_wait (timeout=0) at ../util/main-loop.c:255
      18 main_loop_wait (nonblocking=0) at ../util/main-loop.c:531
      19 qemu_main_loop () at ../softmmu/runstate.c:722
      20 main (argc=20, argv=0x7ffd9d478198, envp=0x7ffd9d478240) at
         ../softmmu/main.c:50
      (gdb) list
      2192        QLIST_FOREACH(c, &bs->parents, next_parent) {
      2193            if (g_slist_find(ignore_children, c)) {
      2194                continue;
      2195            }
      2196
      2197            if ((new_used_perm & c->shared_perm) != new_used_perm)
                      {
      2198                char *user = bdrv_child_user_desc(c);
      2199                char *perm_names = bdrv_perm_names(new_used_perm &
                          ~c->shared_perm);
      2200
      2201                error_setg(errp, "Conflicts with use by %s as '%s',
                          which does not "
      (gdb) p c
      $1 = (BdrvChild *) 0x8585858585858585
      
      Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Message-id: 20210205111021.715240-1-vsementsov@virtuozzo.com
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      [PMM: trimmed the part of the commit message referring to
      as-yet-unapplied patchseries]
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      e2c5093c
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kraxel/tags/vga-ui-20210205-pull-request' into staging · 923abdb4
      Peter Maydell authored
      
      ui+virtio-gpu: opengl cleanups and fixes.
      qxl+spice: bugfixes
      
      # gpg: Signature made Fri 05 Feb 2021 06:56:04 GMT
      # gpg:                using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/vga-ui-20210205-pull-request: (24 commits)
        tests: add some virtio-gpu & vhost-user-gpu acceptance test
        chardev: check if the chardev is registered for yanking
        display/ui: add a callback to indicate GL state is flushed
        virtio-gpu: avoid re-entering cmdq processing
        ui: add egl dmabuf import to gtkglarea
        ui: check gtk-egl dmabuf support
        ui: add qemu_egl_has_dmabuf helper
        ui: check hw requirements during DCL registration
        ui: add a DCLOps callback to check dmabuf support
        ui: add an optional get_flags callback to GraphicHwOps
        vhost-user-gpu: add a configuration flag for dmabuf usage
        ui: remove console_has_gl_dmabuf()
        ui: annotate DCLOps callback requirements
        ui: add gd_gl_area_scanout_disable
        ui: remove gl_ctx_get_current
        ui: remove extra #ifdef CONFIG_OPENGL
        vhost-user-gpu: handle display-info in a callback
        vhost-user-gpu: use an extandable state enum for commands
        vhost-user-gpu: handle vhost-user-gpu features in a callback
        vhost-user-gpu: check backend for EDID support
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      923abdb4
  2. Feb 04, 2021
Loading