This pull request breaks make check, qemu-system-i386 segvs when running qtest. bisect blames the following commit. I confirmed this commit introduces the breakage too.
commit 19abade25242079f4b5582de17b2302fe185be2b Author: Max Reitz <mre...@redhat.com> Date: Fri Aug 30 14:34:29 2013 +0200 qcow2-refcount: Repair shared refcount blocks If the refcount of a refcount block is greater than one, we can at least try to repair that problem by duplicating the affected block. Signed-off-by: Max Reitz <mre...@redhat.com> Signed-off-by: Kevin Wolf <kw...@redhat.com> Backtrace is: Core was generated by `i386-softmmu/qemu-system-i386 -qtest unix:/tmp/qtest-30888.sock,nowait -qtest-l'. Program terminated with signal 11, Segmentation fault. #0 __strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp.S:259 259 ../sysdeps/x86_64/multiarch/strcmp.S: No such file or directory. in ../sysdeps/x86_64/multiarch/strcmp.S (gdb) bt #0 __strcmp_sse42 () at ../sysdeps/x86_64/multiarch/strcmp.S:259 #1 0x00002abc7727c395 in get_event_by_name (event=<synthetic pointer>, name=0x2abc77e69a96 "flush_to_os") at /home/anthony/git/qemu/block/blkdebug.c:195 #2 blkdebug_debug_breakpoint (bs=<optimized out>, event=0x2abc77e69a96 "flush_to_os", tag=0x2abc77e69aa2 "A") at /home/anthony/git/qemu/block/blkdebug.c:572 #3 0x00002abc773bab84 in break_f (bs=<optimized out>, argc=<optimized out>, argv=<optimized out>) at /home/anthony/git/qemu/qemu-io-cmds.c:1938 #4 0x00002abc773be088 in command (argv=0x2abc77e69dc0, argc=3, ct=<optimized out>, bs=0x2abc77de35c0) at /home/anthony/git/qemu/qemu-io-cmds.c:79 #5 qemuio_command (bs=0x2abc77de35c0, cmd=<optimized out>) at /home/anthony/git/qemu/qemu-io-cmds.c:2085 #6 0x00002abc772b8f4d in hmp_qemu_io (mon=0x7fffa0de1110, qdict=<optimized out>) at /home/anthony/git/qemu/hmp.c:1510 #7 0x00002abc77469749 in handle_user_command (mon=0x7fffa0de1110, cmdline=<optimized out>) at /home/anthony/git/qemu/monitor.c:4005 #8 0x00002abc77469908 in qmp_human_monitor_command ( command_line=0x2abc77e69a10 "qemu-io ide0-hd0 \"break flush_to_os A\"", has_cpu_index=false, cpu_index=<optimized out>, errp=0x7fffa0de11d0) at /home/anthony/git/qemu/monitor.c:710 #9 0x00002abc773c29a7 in qmp_marshal_input_human_monitor_command ( ---Type <return> to continue, or q <return> to quit--- mon=<optimized out>, qdict=<optimized out>, ret=0x7fffa0de1240) at qmp-marshal.c:1658 #10 0x00002abc774642a0 in qmp_call_cmd (params=0x2abc77e8a370, mon=0x2abc77dea430, cmd=<optimized out>) at /home/anthony/git/qemu/monitor.c:4506 #11 handle_qmp_command (parser=<optimized out>, tokens=<optimized out>) at /home/anthony/git/qemu/monitor.c:4572 #12 0x00002abc774fc2f1 in json_message_process_token (lexer=0x2abc77dea4e0, token=0x2abc77e69800, type=JSON_OPERATOR, x=143, y=0) at /home/anthony/git/qemu/qobject/json-streamer.c:87 #13 0x00002abc7750ea12 in json_lexer_feed_char (lexer=0x2abc77dea4e0, ch=125 '}', flush=false) at /home/anthony/git/qemu/qobject/json-lexer.c:303 #14 0x00002abc7750eba9 in json_lexer_feed (lexer=0x2abc77dea4e0, buffer=0x7fffa0de1440 "}nb 0x511\n 0x3\nn ioapic\nNt\"|\274*", size=1) at /home/anthony/git/qemu/qobject/json-lexer.c:356 #15 0x00002abc774626fb in monitor_control_read (opaque=<optimized out>, buf=<optimized out>, size=<optimized out>) at /home/anthony/git/qemu/monitor.c:4593 #16 0x00002abc773b6f87 in qemu_chr_be_write (len=<optimized out>, buf=0x7fffa0de1440 "}nb 0x511\n 0x3\nn ioapic\nNt\"|\274*", s=0x2abc77ddfbf0) at /home/anthony/git/qemu/qemu-char.c:165 #17 tcp_chr_read (chan=<optimized out>, cond=<optimized out>, opaque=0x2abc77ddfbf0) at /home/anthony/git/qemu/qemu-char.c:2509 #18 0x00002abc7840fa5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #19 0x00002abc7738a671 in glib_pollfds_poll () at /home/anthony/git/qemu/main-loop.c:189 #20 os_host_main_loop_wait (timeout=<optimized out>) at /home/anthony/git/qemu/main-loop.c:234 #21 main_loop_wait (nonblocking=<optimized out>) at /home/anthony/git/qemu/main-loop.c:484 #22 0x00002abc77260b9a in main_loop () at /home/anthony/git/qemu/vl.c:2090 #23 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /home/anthony/git/qemu/vl.c:4435 (gdb) Regards, Anthony Liguori On Fri, Aug 30, 2013 at 9:30 AM, Kevin Wolf <kw...@redhat.com> wrote: > The following changes since commit b5d54bd42158b90b239bb6ce9c13072eb3a53fd2: > > Merge remote-tracking branch 'qemu-kvm/uq/master' into stable-1.5 > (2013-08-29 17:21:51 -0500) > > are available in the git repository at: > > > git://repo.or.cz/qemu/kevin.git for-anthony > > for you to fetch changes up to edcbf2869829001b60b15ad32609138ae784a588: > > qemu-iotests: Overlapping cluster allocations (2013-08-30 15:48:59 +0200) > > ---------------------------------------------------------------- > Bharata B Rao (1): > gluster: Abort on AIO completion failure > > Kevin Wolf (6): > qcow2: Change default for new images to compat=1.1 > block: Remove redundant assertion > qapi-types.py: Split off generate_struct_fields() > Revert "block: Disable driver-specific options for 1.6" > qemu-iotests: Update reference output for 051 > block: Remove old raw driver > > Laszlo Ersek (7): > add skeleton for BSD licensed "raw" BlockDriver > raw_bsd: emit debug events in bdrv_co_readv() and bdrv_co_writev() > raw_bsd: add raw_create() > raw_bsd: introduce "special members" > raw_bsd: add raw_create_options > raw_bsd: register bdrv_raw > switch raw block driver from "raw.o" to "raw_bsd.o" > > Max Reitz (11): > option: Add assigned flag to QEMUOptionParameter > qcow2-refcount: Snapshot update for zero clusters > qemu-iotests: Snapshotting zero clusters > qcow2: Add corrupt bit > qcow2: Metadata overlap checks > qcow2: Employ metadata overlap checks > qcow2-refcount: Move OFLAG_COPIED checks > qcow2-refcount: Repair OFLAG_COPIED errors > qcow2-refcount: Repair shared refcount blocks > qcow2_check: Mark image consistent > qemu-iotests: Overlapping cluster allocations > > Peter Maydell (1): > block/qcow2.h: Avoid "1LL << 63" (shifts into sign bit) > > block.c | 1 - > block/Makefile.objs | 2 +- > block/gluster.c | 15 +- > block/qcow2-cache.c | 17 ++ > block/qcow2-cluster.c | 25 ++- > block/qcow2-refcount.c | 533 > ++++++++++++++++++++++++++++++++++++++++----- > block/qcow2-snapshot.c | 22 ++ > block/qcow2.c | 83 ++++++- > block/qcow2.h | 53 ++++- > block/{raw.c => raw_bsd.c} | 170 +++++++-------- > blockdev.c | 143 ------------ > docs/specs/qcow2.txt | 7 +- > include/block/block.h | 1 + > include/monitor/monitor.h | 1 + > include/qemu/option.h | 1 + > monitor.c | 1 + > scripts/qapi-types.py | 19 +- > tests/qemu-iotests/031.out | 12 +- > tests/qemu-iotests/036.out | 2 +- > tests/qemu-iotests/051.out | 1 - > tests/qemu-iotests/060 | 111 ++++++++++ > tests/qemu-iotests/060.out | 44 ++++ > tests/qemu-iotests/062 | 64 ++++++ > tests/qemu-iotests/062.out | 9 + > tests/qemu-iotests/group | 4 +- > util/qemu-option.c | 9 + > 26 files changed, 1028 insertions(+), 322 deletions(-) > rename block/{raw.c => raw_bsd.c} (57%) > create mode 100755 tests/qemu-iotests/060 > create mode 100644 tests/qemu-iotests/060.out > create mode 100755 tests/qemu-iotests/062 > create mode 100644 tests/qemu-iotests/062.out