Hi Kevin,
The following CI failure looks like it is related to this pull
request. Please take a look:
https://gitlab.com/qemu-project/qemu/-/jobs/5112083994
▶ 823/840 qcow2 iothreads-commit-active FAIL
823/840 qemu:block / io-qcow2-iothreads-commit-active ERROR 6.16s exit status 1
>>> MALLOC_PERTURB_=184 PYTHON=/home/gitlab-runner/builds/E8PpwMky/0/qemu-project/qemu/build/pyvenv/bin/python3 /home/gitlab-runner/builds/E8PpwMky/0/qemu-project/qemu/build/pyvenv/bin/python3 /home/gitlab-runner/builds/E8PpwMky/0/qemu-project/qemu/build/../tests/qemu-iotests/check -tap -qcow2 iothreads-commit-active --source-dir /home/gitlab-runner/builds/E8PpwMky/0/qemu-project/qemu/tests/qemu-iotests --build-dir /home/gitlab-runner/builds/E8PpwMky/0/qemu-project/qemu/build/tests/qemu-iotests
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
stderr:
--- /home/gitlab-runner/builds/E8PpwMky/0/qemu-project/qemu/tests/qemu-iotests/tests/iothreads-commit-active.out
+++ /home/gitlab-runner/builds/E8PpwMky/0/qemu-project/qemu/build/scratch/qcow2-file-iothreads-commit-active/iothreads-commit-active.out.bad
@@ -18,6 +18,35 @@
{"execute": "job-complete", "arguments": {"id": "job1"}}
{"return": {}}
{"data": {"device": "job1", "len": 131072, "offset": 131072, "speed":
0, "type": "commit"}, "event": "BLOCK_JOB_READY", "timestamp":
{"microseconds": "USECS", "seconds": "SECS"}}
-{"data": {"device": "job1", "len": 131072, "offset": 131072, "speed":
0, "type": "commit"}, "event": "BLOCK_JOB_COMPLETED", "timestamp":
{"microseconds": "USECS", "seconds": "SECS"}}
-{"execute": "job-dismiss", "arguments": {"id": "job1"}}
-{"return": {}}
+Traceback (most recent call last):
+ File "/home/gitlab-runner/builds/E8PpwMky/0/qemu-project/qemu/python/qemu/qmp/events.py",
line 557, in get
+ return await self._queue.get()
+ File "/usr/lib/python3.10/asyncio/queues.py", line 159, in get
+ await getter
+asyncio.exceptions.CancelledError
+
+During handling of the above exception, another exception occurred:
+
+Traceback (most recent call last):
+ File "/usr/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
+ return fut.result()
+asyncio.exceptions.CancelledError
+
+The above exception was the direct cause of the following exception:
On Fri, 15 Sept 2023 at 10:45, Kevin Wolf <kwolf@redhat.com> wrote:
>
> The following changes since commit 005ad32358f12fe9313a4a01918a55e60d4f39e5:
>
> Merge tag 'pull-tpm-2023-09-12-3' of https://github.com/stefanberger/qemu-tpm into staging (2023-09-13 13:41:57 -0400)
>
> are available in the Git repository at:
>
> https://repo.or.cz/qemu/kevin.git tags/for-upstream
>
> for you to fetch changes up to 5d96864b73225ee61b0dad7e928f0cddf14270fc:
>
> block-coroutine-wrapper: use qemu_get_current_aio_context() (2023-09-15 15:49:14 +0200)
>
> ----------------------------------------------------------------
> Block layer patches
>
> - Graph locking part 4 (node management)
> - qemu-img map: report compressed data blocks
> - block-backend: process I/O in the current AioContext
>
> ----------------------------------------------------------------
> Andrey Drobyshev via (2):
> block: add BDRV_BLOCK_COMPRESSED flag for bdrv_block_status()
> qemu-img: map: report compressed data blocks
>
> Kevin Wolf (21):
> block: Remove unused BlockReopenQueueEntry.perms_checked
> preallocate: Factor out preallocate_truncate_to_real_size()
> preallocate: Don't poll during permission updates
> block: Take AioContext lock for bdrv_append() more consistently
> block: Introduce bdrv_schedule_unref()
> block-coroutine-wrapper: Add no_co_wrapper_bdrv_wrlock functions
> block-coroutine-wrapper: Allow arbitrary parameter names
> block: Mark bdrv_replace_child_noperm() GRAPH_WRLOCK
> block: Mark bdrv_replace_child_tran() GRAPH_WRLOCK
> block: Mark bdrv_attach_child_common() GRAPH_WRLOCK
> block: Call transaction callbacks with lock held
> block: Mark bdrv_attach_child() GRAPH_WRLOCK
> block: Mark bdrv_parent_perms_conflict() and callers GRAPH_RDLOCK
> block: Mark bdrv_get_cumulative_perm() and callers GRAPH_RDLOCK
> block: Mark bdrv_child_perm() GRAPH_RDLOCK
> block: Mark bdrv_parent_cb_change_media() GRAPH_RDLOCK
> block: Take graph rdlock in bdrv_drop_intermediate()
> block: Take graph rdlock in bdrv_change_aio_context()
> block: Mark bdrv_root_unref_child() GRAPH_WRLOCK
> block: Mark bdrv_unref_child() GRAPH_WRLOCK
> block: Mark bdrv_add/del_child() and caller GRAPH_WRLOCK
>
> Stefan Hajnoczi (5):
> block: remove AIOCBInfo->get_aio_context()
> test-bdrv-drain: avoid race with BH in IOThread drain test
> block-backend: process I/O in the current AioContext
> block-backend: process zoned requests in the current AioContext
> block-coroutine-wrapper: use qemu_get_current_aio_context()
>
> qapi/block-core.json | 6 +-
> include/block/aio.h | 1 -
> include/block/block-common.h | 7 +
> include/block/block-global-state.h | 32 +-
> include/block/block-io.h | 1 -
> include/block/block_int-common.h | 34 +-
> include/block/block_int-global-state.h | 14 +-
> include/sysemu/block-backend-global-state.h | 4 +-
> block.c | 348 +++++++---
> block/blklogwrites.c | 4 +
> block/blkverify.c | 2 +
> block/block-backend.c | 64 +-
> block/copy-before-write.c | 10 +-
> block/crypto.c | 6 +-
> block/graph-lock.c | 26 +-
> block/io.c | 23 +-
> block/mirror.c | 8 +
> block/preallocate.c | 133 ++--
> block/qcow.c | 5 +-
> block/qcow2.c | 7 +-
> block/quorum.c | 23 +-
> block/replication.c | 9 +
> block/snapshot.c | 2 +
> block/stream.c | 20 +-
> block/vmdk.c | 15 +
> blockdev.c | 23 +-
> blockjob.c | 2 +
> hw/nvme/ctrl.c | 7 -
> qemu-img.c | 8 +-
> softmmu/dma-helpers.c | 8 -
> tests/unit/test-bdrv-drain.c | 31 +-
> tests/unit/test-bdrv-graph-mod.c | 20 +
> tests/unit/test-block-iothread.c | 3 +
> util/thread-pool.c | 8 -
> scripts/block-coroutine-wrapper.py | 24 +-
> tests/qemu-iotests/051.pc.out | 6 +-
> tests/qemu-iotests/122.out | 84 +--
> tests/qemu-iotests/146.out | 780 +++++++++++------------
> tests/qemu-iotests/154.out | 194 +++---
> tests/qemu-iotests/179.out | 178 +++---
> tests/qemu-iotests/209.out | 4 +-
> tests/qemu-iotests/221.out | 16 +-
> tests/qemu-iotests/223.out | 60 +-
> tests/qemu-iotests/241.out | 10 +-
> tests/qemu-iotests/244.out | 24 +-
> tests/qemu-iotests/252.out | 10 +-
> tests/qemu-iotests/253.out | 20 +-
> tests/qemu-iotests/274.out | 48 +-
> tests/qemu-iotests/tests/nbd-qemu-allocation.out | 16 +-
> tests/qemu-iotests/tests/qemu-img-bitmaps.out | 24 +-
> 50 files changed, 1376 insertions(+), 1036 deletions(-)
>
>