Bug 1724008
Summary: | QEMU core dumped "memory_region_get_ram_ptr: Assertion `mr->ram_block' failed" | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux Advanced Virtualization | Reporter: | Yumei Huang <yuhuang> |
Component: | qemu-kvm | Assignee: | Stefan Hajnoczi <stefanha> |
Status: | CLOSED ERRATA | QA Contact: | Yumei Huang <yuhuang> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 8.1 | CC: | aarcange, chayang, ddepaula, juzhang, pagupta, philmd, stefanha, virt-maint, xuelian.guo |
Target Milestone: | rc | Keywords: | Regression |
Target Release: | 8.1 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | qemu-kvm-4.1.0-11.module+el8.1.0+4250+4f5fbfdc | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-11-06 07:17:15 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: |
Description
Yumei Huang
2019-06-26 02:38:37 UTC
Backtrace: (gdb) bt #0 0x00007f1ffe9c18af in raise () at /lib64/libc.so.6 #1 0x00007f1ffe9abcc5 in abort () at /lib64/libc.so.6 #2 0x00007f1ffe9abb99 in _nl_load_domain.cold.0 () at /lib64/libc.so.6 #3 0x00007f1ffe9b9e66 in .annobin_assert.c_end () at /lib64/libc.so.6 #4 0x0000562944139a0e in memory_region_get_ram_ptr () #5 0x000056294423a0bc in host_memory_backend_memory_complete () #6 0x000056294436669f in user_creatable_add_type () #7 0x000056294436686a in user_creatable_add_opts () #8 0x00005629443669e1 in user_creatable_add_opts_foreach () #9 0x00005629444419c2 in qemu_opts_foreach () #10 0x00005629440d9cf3 in main () Full backtrace: (gdb) bt full #0 0x00007f1ffe9c18af in raise () at /lib64/libc.so.6 #1 0x00007f1ffe9abcc5 in abort () at /lib64/libc.so.6 #2 0x00007f1ffe9abb99 in _nl_load_domain.cold.0 () at /lib64/libc.so.6 #3 0x00007f1ffe9b9e66 in .annobin_assert.c_end () at /lib64/libc.so.6 #4 0x0000562944139a0e in memory_region_get_ram_ptr (mr=<optimized out>, mr@entry=0x56294635a060) at /usr/src/debug/qemu-kvm-4.0.0-4.module+el8.1.0+3356+cda7f1ee.x86_64/memory.c:2155 ptr = <optimized out> offset = <optimized out> __PRETTY_FUNCTION__ = "memory_region_get_ram_ptr" #5 0x000056294423a0bc in host_memory_backend_memory_complete (uc=<optimized out>, errp=0x7ffccd36cb70) at backends/hostmem.c:324 lastbit = <optimized out> maxnode = <optimized out> flags = <optimized out> backend = 0x56294635a000 __func__ = "host_memory_backend_memory_complete" bc = <optimized out> local_err = 0x0 ptr = <optimized out> sz = <optimized out> #6 0x000056294436669f in user_creatable_add_type (type=type@entry=0x56294630b060 "memory-backend-file", id=id@entry=0x56294630b040 "mem0", qdict=qdict@entry=0x5629463999d0, v=v@entry=0x56294639a9f0, errp=errp@entry=0x562944cb7b10 <error_fatal>) at qom/object_interfaces.c:86 obj = 0x56294635a000 klass = <optimized out> e = <optimized out> local_err = 0x0 __func__ = "user_creatable_add_type" __PRETTY_FUNCTION__ = "user_creatable_add_type" #7 0x000056294436686a in user_creatable_add_opts (opts=opts@entry=0x56294630aff0, errp=errp@entry=0x562944cb7b10 <error_fatal>) at qom/object_interfaces.c:127 v = 0x56294639a9f0 pdict = 0x5629463999d0 obj = <optimized out> id = 0x56294630b040 "mem0" type = 0x56294630b060 "memory-backend-file" __func__ = "user_creatable_add_opts" #8 0x00005629443669e1 in user_creatable_add_opts_foreach (opaque=0x562944224ce0 <object_create_delayed>, opts=0x56294630aff0, errp=0x562944cb7b10 <error_fatal>) at qom/object_interfaces.c:150 type_opt_predicate = 0x562944224ce0 <object_create_delayed> obj = 0x0 type = <optimized out> #9 0x00005629444419c2 in qemu_opts_foreach (list=<optimized out>, func=0x5629443669a0 <user_creatable_add_opts_foreach>, opaque=0x562944224ce0 <object_create_delayed>, errp=0x562944cb7b10 <error_fatal>) at util/qemu-option.c:1171 loc = {kind = LOC_CMDLINE, num = 2, ptr = 0x7ffccd36cec0, prev = 0x562944cb7b30 <std_loc>} opts = 0x56294630aff0 rc = 0 __PRETTY_FUNCTION__ = "qemu_opts_foreach" #10 0x00005629440d9cf3 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at vl.c:4442 i = <optimized out> snapshot = 0 linux_boot = <optimized out> initrd_filename = 0x0 kernel_filename = 0x0 kernel_cmdline = <optimized out> boot_order = 0x5629444eade0 "cad" boot_once = <optimized out> ds = <optimized out> opts = <optimized out> machine_opts = <optimized out> icount_opts = 0x0 accel_opts = 0x0 olist = <optimized out> optind = 3 optarg = 0x7ffccd36d4a7 "memory-backend-file,id=mem0,mem-path=/dev/pmem4,size=1G,share,pmem=on" loadvm = 0x0 machine_class = 0x562946341760 cpu_model = 0x0 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 = <optimized out> ram_slots = <optimized out> vmstate_dump_file = 0x0 main_loop_err = 0x0 err = 0x0 list_data_dirs = <optimized out> dir = <optimized out> bdo_queue = {sqh_first = 0x0, sqh_last = 0x7ffccd36cd50} __func__ = "main" Reproduced with qemu-kvm-4.1.0-1.module+el8.1.0+3966+4a23dca1. # /usr/libexec/qemu-kvm -object memory-backend-file,id=mem0,mem-path=/dev/pmem0,size=1G,share,pmem=on qemu-kvm: /builddir/build/BUILD/qemu-4.1.0-rc4/memory.c:2203: memory_region_get_ram_ptr: Assertion `mr->ram_block' failed. Aborted (core dumped) *** Bug 1732683 has been marked as a duplicate of this bug. *** *** Bug 1732683 has been marked as a duplicate of this bug. *** I have posted a backport for bz1736788 which also fixed this BZ. I'm not marking it as a duplicate because the root cause is different and this BZ should still be verified. Verify: qemu-kvm-4.1.0-11.module+el8.1.0+4250+4f5fbfdc kernel-4.18.0-145.el8.x86_64 Same steps as comment 0, generate /dev/pmem0 by modify host kernel line, then boot guest with /dev/pmem0. No core dumped, only got a warning, and guest can boot up normally. # /usr/libexec/qemu-kvm -M pc,nvdimm \ -object memory-backend-file,id=mem0,mem-path=/dev/pmem0,size=4G,share,pmem=on \ -device nvdimm,memdev=mem0,id=nv0 ... Warning: requesting persistence across crashes for backend file /dev/pmem0 failed. Proceeding without persistence, data might become corrupted in case of host crash. QEMU 4.1.0 monitor - type 'help' for more information (qemu) Also tried with a real nvdimm device on host, but still got the same warning. Stefan, would you please help confirm if it is expected? Thanks. Thanks for the update, Pankaj! Duplicated issue BUG 1732683 still reproduced on RHEL8.1 rc1: Kernel version: 4.18.0-147.el8.x86_64 Qemu version: 4.1.0 (qemu-kvm-4.1.0-7.module+el8.1.0+4177+896cb282) (In reply to belinda from comment #16) > Duplicated issue BUG 1732683 still reproduced on RHEL8.1 rc1: > Kernel version: 4.18.0-147.el8.x86_64 > Qemu version: 4.1.0 (qemu-kvm-4.1.0-7.module+el8.1.0+4177+896cb282) Hi Belinda, This bug is fixed in qemu-kvm-4.1.0-11.module+el8.1.0+4250+4f5fbfdc, please test with fixed version, thanks. 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 |