qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: qemu-iotest 267 got a FPE error when TARGET_PAGE_BITS 16K


From: gaosong
Subject: Re: qemu-iotest 267 got a FPE error when TARGET_PAGE_BITS 16K
Date: Mon, 6 Jun 2022 19:06:55 +0800
User-agent: Mozilla/5.0 (X11; Linux loongarch64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0

Cc: qemu-devel

On 2022/6/6 下午5:19, gaosong wrote:
Hi.
    I run './tests/qemu-iotests/check -qcow2 267 '  got a FPE error on x86 host emulation LoongArch , The log is :

...

+../migration/ram.c:2205:9: runtime error: division by zero
+AddressSanitizer:DEADLYSIGNAL
+=================================================================
+==1685462==ERROR: AddressSanitizer: FPE on unknown address 0x556e650eed6e (pc 0x556e650eed6e bp 0x7ffcba14ae20 sp 0x7ffcba14adc0 T0)
+    #0 0x556e650eed6d in ram_save_host_page ../migration/ram.c:2205
+    #1 0x556e650ef78f in ram_find_and_save_block ../migration/ram.c:2284
+    #2 0x556e650f53a1 in ram_save_iterate ../migration/ram.c:3010
+    #3 0x556e64c03aa2 in qemu_savevm_state_iterate ../migration/savevm.c:1296
+    #4 0x556e64c06ccc in qemu_savevm_state ../migration/savevm.c:1580
+    #5 0x556e64c0d497 in save_snapshot ../migration/savevm.c:2889
+    #6 0x556e64c29221 in hmp_savevm ../monitor/hmp-cmds.c:1095
+    #7 0x556e64c41b31 in handle_hmp_command_exec ../monitor/hmp.c:1103
+    #8 0x556e64c4234c in handle_hmp_command ../monitor/hmp.c:1155
+    #9 0x556e64c38292 in monitor_command_cb ../monitor/hmp.c:49
+    #10 0x556e6596ceca in readline_handle_byte ../util/readline.c:411
+    #11 0x556e64c44b78 in monitor_read ../monitor/hmp.c:1393
+    #12 0x556e656aa41e in qemu_chr_be_write_impl ../chardev/char.c:201
+    #13 0x556e656aa4c5 in qemu_chr_be_write ../chardev/char.c:213
+    #14 0x556e656b1302 in fd_chr_read ../chardev/char-fd.c:72
+    #15 0x556e652b635f in qio_channel_fd_source_dispatch ../io/channel-watch.c:84 +    #16 0x7f2b425c104d in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5204d)
+    #17 0x556e65949fac in glib_pollfds_poll ../util/main-loop.c:297
+    #18 0x556e6594a18a in os_host_main_loop_wait ../util/main-loop.c:320
+    #19 0x556e6594a486 in main_loop_wait ../util/main-loop.c:596
+    #20 0x556e64b2bb6b in qemu_main_loop ../softmmu/runstate.c:726
+    #21 0x556e64255a69 in qemu_main ../softmmu/main.c:36
+    #22 0x556e64255a9e in main ../softmmu/main.c:45
+    #23 0x7f2b40304082 in __libc_start_main ../csu/libc-start.c:308
+    #24 0x556e6425597d in _start (/root/code/github/qemu/build/qemu-system-loongarch64+0x236e97d)
+
+AddressSanitizer can not provide additional info.
+SUMMARY: AddressSanitizer: FPE ../migration/ram.c:2205 in ram_save_host_page
+==1685462==ABORTING

...

the ram.c

2199 static int ram_save_host_page(RAMState *rs, PageSearchStatus *pss)
2200 {
2201     int tmppages, pages = 0;
2202     size_t pagesize_bits =
2203         qemu_ram_pagesize(pss->block) >> TARGET_PAGE_BITS;
2204     unsigned long hostpage_boundary =
2205         QEMU_ALIGN_UP(pss->page + 1, pagesize_bits);
2206     unsigned long start_page = pss->page;
2207     int res;
...

qemu_ram_pagesize(pss->block) >> TARGET_PAGE_BITS;   === >  4096 >> 14
So  QEMU_ALIGN_UP(pss->page + 1, pagesize_bits);  got a FPE error,

I am not familar with qcow2,   Could you help me?

Steps to reproduce:

1  get code

    git clone https://github.com/loongson/qemu/tree/tcg-dev

2  build

    ./configure   --disable-rdma --disable-pvrdma --prefix=/usr \
            --target-list="loongarch64-softmmu"  \
            --disable-libiscsi --disable-libnfs --disable-libpmem \
            --disable-glusterfs --enable-libusb --enable-usb-redir \
            --disable-opengl --disable-xen --enable-spice --enable-werror \             --disable-capstone --disable-kvm --enable-debug --enable-sanitizers

    cd build

    make -j32

3  test

    ./tests/qemu-iotests/check -qcow2 267


Thanks.
Song Gao




reply via email to

[Prev in Thread] Current Thread [Next in Thread]