Bug 1200295
Summary: | QEMU segfault when doing unaligned zero write to non-512 disk | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Gu Nini <ngu> | ||||
Component: | qemu-kvm | Assignee: | Fam Zheng <famz> | ||||
Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 7.2 | CC: | hhuang, huding, juzhang, mazhang, michen, qzhang, rbalakri, virt-maint, xfu, xuhan, ypu, zhengtli | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
Fixed In Version: | qemu-kvm-1.5.3-89.el7 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | |||||||
: | 1207034 (view as bug list) | Environment: | |||||
Last Closed: | 2015-11-19 04:58:56 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1207034 | ||||||
Attachments: |
|
Description
Gu Nini
2015-03-10 08:56:18 UTC
Created attachment 999782 [details]
gdb_info_of_core_file
Patches posted to upstream: http://lists.gnu.org/archive/html/qemu-devel/2015-03/msg04617.html Fixing the component to qemu-kvm. qemu-kvm-rhev will pick up the patches automatically from upstream in the coming rebase to 2.3, so we only need to fix qemu-kvm here. Cloning to qemu-kvm-rhev and set to MODIFIED, in order to keep track for QE purpose. Fix included in qemu-kvm-1.5.3-89.el7 Reproduce this bug with qemu-kvm-1.5.3-88.el7.x86_64. Result: # qemu-img create -f raw test.raw 100M # (echo "open -o file.align=4k blkdebug::test.raw"; echo "write -z 512 1024") | qemu-io qemu-io> qemu-io> Segmentation fault (core dumped) Program received signal SIGSEGV, Segmentation fault. 0x0000555555568135 in bdrv_co_do_pwritev (bs=0x555555c12320, offset=512, bytes=1024, qiov=0x0, flags=BDRV_REQ_ZERO_WRITE) at block.c:3133 3133 qemu_iovec_init(&local_qiov, qiov->niov + 2); Missing separate debuginfos, use: debuginfo-install glib2-2.40.0-4.el7.x86_64 glibc-2.17-78.el7.x86_64 glusterfs-api-3.6.0.29-2.el7.x86_64 glusterfs-libs-3.6.0.29-2.el7.x86_64 libaio-0.3.109-13.el7.x86_64 libgcc-4.8.3-9.el7.x86_64 libgcrypt-1.5.3-12.el7.x86_64 libgpg-error-1.12-3.el7.x86_64 libiscsi-1.9.0-6.el7.x86_64 libstdc++-4.8.3-9.el7.x86_64 libuuid-2.23.2-22.el7_1.x86_64 nspr-4.10.8-1.el7_1.x86_64 nss-3.19.1-3.el7_1.x86_64 nss-util-3.19.1-3.el7.x86_64 openssl-libs-1.0.1e-42.el7.x86_64 zlib-1.2.7-15.el7.x86_64 (gdb) bt #0 0x0000555555568135 in bdrv_co_do_pwritev (bs=0x555555c12320, offset=512, bytes=1024, qiov=0x0, flags=BDRV_REQ_ZERO_WRITE) at block.c:3133 #1 0x0000555555563bef in bdrv_co_do_write_zeroes (bs=bs@entry=0x555555c0e0d0, sector_num=sector_num@entry=1, nb_sectors=nb_sectors@entry=2, flags=flags@entry=BDRV_REQ_ZERO_WRITE) at block.c:2992 #2 0x0000555555568045 in bdrv_aligned_pwritev (flags=2, qiov=0x0, bytes=1024, offset=<optimized out>, req=0x7ffff7fd1f10, bs=0x555555c0e0d0) at block.c:3047 #3 bdrv_co_do_pwritev (bs=0x555555c0e0d0, offset=<optimized out>, bytes=1024, qiov=qiov@entry=0x0, flags=BDRV_REQ_ZERO_WRITE) at block.c:3179 #4 0x000055555556891a in bdrv_co_do_writev (flags=<optimized out>, qiov=0x0, nb_sectors=<optimized out>, sector_num=<optimized out>, bs=<optimized out>) at block.c:3203 #5 bdrv_co_write_zeroes (bs=<optimized out>, sector_num=<optimized out>, nb_sectors=<optimized out>, flags=<optimized out>, flags@entry=(unknown: 0)) at block.c:3225 #6 0x00005555555b7c81 in co_write_zeroes_entry (opaque=0x7fffffffe120) at qemu-io.c:239 #7 0x000055555559cb2a in coroutine_trampoline (i0=<optimized out>, i1=<optimized out>) at coroutine-ucontext.c:118 #8 0x00007ffff50290f0 in ?? () from /lib64/libc.so.6 #9 0x00007fffffffb890 in ?? () #10 0x0000000000000000 in ?? () Verify this bug on qemu-kvm-1.5.3-97.el7 Result: # (echo "open -o file.align=4k blkdebug::test.raw"; echo "write -z 512 1024") | qemu-io qemu-io> qemu-io> wrote 1024/1024 bytes at offset 512 1 KiB, 1 ops; 0.0928 sec (10.769 KiB/sec and 10.7694 ops/sec) qemu-io> This bug has been fixed. 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://rhn.redhat.com/errata/RHBA-2015-2213.html |