Test on qemu-kvm-3.1.0-18.module+el8+2834+fa8bb6e2.x86_64, also hit this issue. gdb info: (gdb) bt full #0 0x00005639d39d6198 in hbitmap_free (hb=0x0) at util/hbitmap.c:643 i = <optimized out> __PRETTY_FUNCTION__ = "hbitmap_free" #1 0x00005639d37b90c2 in qmp_transaction (dev_list=<optimized out>, has_props=<optimized out>, props=0x5639d583be70, errp=errp@entry=0x7ffe38a9e418) at blockdev.c:2315 dev_entry = <optimized out> block_job_txn = 0x0 state = 0x5639d46d8330 next = <optimized out> local_err = 0x0 snap_bdrv_states = {sqh_first = 0x5639d46d8330, sqh_last = 0x5639d46d8350} __PRETTY_FUNCTION__ = "qmp_transaction" #2 0x00005639d37d5275 in qmp_marshal_transaction (args=<optimized out>, ret=<optimized out>, errp=0x7ffe38a9e488) at qapi/qapi-commands-transaction.c:46 err = 0x0 v = 0x5639d46ee330 arg = {actions = 0x5639d544ac10, has_properties = false, properties = 0x0} _obj = <optimized out> __mptr = <optimized out> #3 0x00005639d39c3053 in do_qmp_dispatch (errp=0x7ffe38a9e480, allow_oob=<optimized out>, request=<optimized out>, cmds=0x5639d4202cb0 <qmp_commands>) at qapi/qmp-dispatch.c:129 local_err = 0x0 command = 0x5639d533a960 "transaction" dict = <optimized out> ret = 0x0 oob = false args = 0x5639d46d9e00 cmd = 0x5639d45810c0 local_err = <optimized out> oob = <optimized out> command = <optimized out> --Type <RET> for more, q to quit, c to continue without paging-- args = <optimized out> dict = <optimized out> cmd = <optimized out> ret = <optimized out> __PRETTY_FUNCTION__ = "do_qmp_dispatch" __func__ = "do_qmp_dispatch" _o = <optimized out> _obj = <optimized out> __mptr = <optimized out> _g_boolean_var_ = <optimized out> _obj = <optimized out> __mptr = <optimized out> _obj = <optimized out> __mptr = <optimized out> #4 qmp_dispatch (cmds=0x5639d4202cb0 <qmp_commands>, request=<optimized out>, allow_oob=<optimized out>) at qapi/qmp-dispatch.c:171 err = 0x0 ret = <optimized out> rsp = <optimized out> #5 0x00005639d36cd153 in monitor_qmp_dispatch (mon=0x5639d4630e00, req=<optimized out>, id=0x0) at /usr/src/debug/qemu-kvm-3.1.0-18.module+el8+2834+fa8bb6e2.x86_64/monitor.c:4085 old_mon = 0x0 rsp = <optimized out> error = <optimized out> #6 0x00005639d36d30c8 in monitor_qmp_bh_dispatcher (data=<optimized out>) at /usr/src/debug/qemu-kvm-3.1.0-18.module+el8+2834+fa8bb6e2.x86_64/monitor.c:4157 req_obj = 0x5639d4910b90 rsp = <optimized out> need_resume = 255 __PRETTY_FUNCTION__ = "monitor_qmp_bh_dispatcher" #7 0x00005639d39ce026 in aio_bh_call (bh=0x5639d45836d0) at util/async.c:118 --Type <RET> for more, q to quit, c to continue without paging-- No locals. #8 aio_bh_poll (ctx=ctx@entry=0x5639d4582380) at util/async.c:118 bh = 0x5639d45836d0 bhp = <optimized out> next = 0x5639d45828f0 ret = 1 deleted = false #9 0x00005639d39d1354 in aio_dispatch (ctx=0x5639d4582380) at util/aio-posix.c:440 No locals. #10 0x00005639d39cdf02 in aio_ctx_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at util/async.c:261 ctx = <optimized out> __PRETTY_FUNCTION__ = "aio_ctx_dispatch" #11 0x00007f1193f6f89d in g_main_dispatch (context=0x5639d45f8cd0) at gmain.c:3176 dispatch = 0x5639d39cdef0 <aio_ctx_dispatch> prev_source = 0x0 was_in_call = 0 user_data = 0x0 callback = 0x0 cb_funcs = 0x0 cb_data = 0x0 need_destroy = <optimized out> source = 0x5639d4582380 current = 0x5639d45f2e40 i = 0 current = <optimized out> i = <optimized out> __func__ = "g_main_dispatch" source = <optimized out> _g_boolean_var_ = <optimized out> was_in_call = <optimized out> --Type <RET> for more, q to quit, c to continue without paging-- user_data = <optimized out> callback = <optimized out> cb_funcs = <optimized out> cb_data = <optimized out> need_destroy = <optimized out> dispatch = <optimized out> prev_source = <optimized out> _g_boolean_var_ = <optimized out> #12 g_main_context_dispatch (context=context@entry=0x5639d45f8cd0) at gmain.c:3829 No locals. #13 0x00005639d39d05d8 in glib_pollfds_poll () at util/main-loop.c:215 context = 0x5639d45f8cd0 pfds = <optimized out> context = <optimized out> pfds = <optimized out> #14 os_host_main_loop_wait (timeout=<optimized out>) at util/main-loop.c:238 context = 0x5639d45f8cd0 ret = 1 context = <optimized out> ret = <optimized out> #15 main_loop_wait (nonblocking=<optimized out>) at util/main-loop.c:497 ret = <optimized out> timeout = 4294967295 timeout_ns = <optimized out> #16 0x00005639d37c34e9 in main_loop () at vl.c:1910 No locals. #17 0x00005639d36839b4 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at vl.c:4681 i = <optimized out> snapshot = 0 linux_boot = <optimized out> initrd_filename = 0x0 --Type <RET> for more, q to quit, c to continue without paging-- kernel_filename = 0x0 kernel_cmdline = <optimized out> boot_order = 0x5639d4586720 "cdn" boot_once = <optimized out> ds = <optimized out> opts = <optimized out> machine_opts = <optimized out> icount_opts = <optimized out> accel_opts = 0x0 olist = <optimized out> optind = 64 optarg = 0x7ffe38aa0478 "tcp:0:3000,server,nowait" loadvm = 0x0 machine_class = <optimized out> cpu_model = 0x7ffe38aa03b4 "Penryn,+kvm_pv_unhalt" vga_model = 0x0 qtest_chrdev = 0x0 qtest_log = 0x0 incoming = 0x0 userconfig = <optimized out> nographic = false display_remote = <optimized out> log_mask = <optimized out> log_file = <optimized out> trace_file = <optimized out> maxram_size = 4294967296 ram_slots = 0 vmstate_dump_file = 0x0 main_loop_err = 0x0 err = 0x0 list_data_dirs = <optimized out> --Type <RET> for more, q to quit, c to continue without paging-- dir = <optimized out> dirs = <optimized out> bdo_queue = {sqh_first = 0x0, sqh_last = 0x7ffe38a9e7b0} __func__ = "main"
Expected to be fixed by 360d4e4e9a501d92fb8866ac307d33a25f70c6d1 included in rebase to 4.0
Verified it on qemu-kvm-4.1.0-1.module+el8.1.0+3966+4a23dca1.x86_64, the issue has been resolved, set bug's status to 'Verified'. Test steps: 1.Start guest with qemu cmds /usr/libexec/qemu-kvm \ -S \ -name 'avocado-vt-vm1' \ -machine pc \ -nodefaults \ -device VGA,bus=pci.0,addr=0x2 \ -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/monitor-qmpmonitor1-20190123-032240-rOoB4cgD,server,nowait \ -mon chardev=qmp_id_qmpmonitor1,mode=control \ -chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/monitor-catch_monitor-20190123-032240-rOoB4cgD,server,nowait \ -mon chardev=qmp_id_catch_monitor,mode=control \ -device pvpanic,ioport=0x505,id=id8Ec4Bn \ -chardev socket,id=serial_id_serial0,path=/var/tmp/serial-serial0-20190123-032240-rOoB4cgD,server,nowait \ -device isa-serial,chardev=serial_id_serial0 \ -chardev socket,id=seabioslog_id_20190123-032240-rOoB4cgD,path=/var/tmp/seabios-20190123-032240-rOoB4cgD,server,nowait \ -device isa-debugcon,chardev=seabioslog_id_20190123-032240-rOoB4cgD,iobase=0x402 \ -device ich9-usb-ehci1,id=usb1,addr=0x1d.7,multifunction=on,bus=pci.0 \ -device ich9-usb-uhci1,id=usb1.0,multifunction=on,masterbus=usb1.0,addr=0x1d.0,firstport=0,bus=pci.0 \ -device ich9-usb-uhci2,id=usb1.1,multifunction=on,masterbus=usb1.0,addr=0x1d.2,firstport=2,bus=pci.0 \ -device ich9-usb-uhci3,id=usb1.2,multifunction=on,masterbus=usb1.0,addr=0x1d.4,firstport=4,bus=pci.0 \ -blockdev driver=file,node-name=file_base,filename=/home/kvm_autotest_root/images/rhel77-64-virtio.qcow2,auto-read-only=on \ -blockdev driver=qcow2,file=file_base,node-name=drive_image1,auto-read-only=on \ -device virtio-blk-pci,id=image1,drive=drive_image1,bus=pci.0 \ -device virtio-net-pci,mac=9a:39:3a:3b:3c:3d,id=id1JNQsL,vectors=4,netdev=idVpZZ6A,bus=pci.0 \ -netdev tap,id=idVpZZ6A,vhost=on \ -m 4096 \ -smp 2,maxcpus=2,cores=1,threads=1,sockets=2 \ -cpu 'Penryn',+kvm_pv_unhalt \ -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \ -vnc :0 \ -rtc base=utc,clock=host,driftfix=slew \ -boot order=cdn,once=c,menu=off,strict=off \ -enable-kvm \ -monitor stdio \ -qmp tcp:0:3000,server,nowait \ 2. Add bitmap0 on "drive_image1" { "execute": "block-dirty-bitmap-add", "arguments": { "node": "drive_image1", "name": "bitmap0"}} 3. Merge bitmap1 to bitmap0 in transaction mode { "execute": "transaction", "arguments": { "actions": [{"type":"block-dirty-bitmap-merge", "data": { "node": "drive_image1", "bitmaps": ["bitmap1"], "target":"bitmap0"} }]}} {"error": {"class": "GenericError", "desc": "Dirty bitmap 'bitmap1' not found"}}
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2019:3723