From: Gonglei <arei.gonglei@huawei.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: "Huangpeng (Peter)" <peter.huangpeng@huawei.com>,
"kraxel@redhat.com" <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [Question] QEMU 2.3 Assertion with `existing->mr->subpage || existing->mr == &io_mem_unassigned' failed
Date: Fri, 18 Sep 2015 15:34:31 +0800 [thread overview]
Message-ID: <55FBBE87.9070308@huawei.com> (raw)
In-Reply-To: <55F84C2E.2060806@redhat.com>
On 2015/9/16 0:49, Paolo Bonzini wrote:
>
>
> Sorry, I haven't looked at it yet. I'll have to study the code. In the
> meanwhile, perhaps you can print "section" and "existing" please from gdb?
>
> Paolo
>
Hi, Paolo
We reproduced the issue today, and get below information by gdb (we hardcode a dead loop):
[Switching to thread 7 (Thread 0x7f085a260700 (LWP 13677))]
#0 register_subpage (d=0x7f085432af50, section=0x7f085a25f220) at /home/uvp_v2r2_opensrc_qemu/exec.c:1191
1191 while(1);
(gdb) bt
#0 register_subpage (d=0x7f085432af50, section=0x7f085a25f220) at /home/uvp_v2r2_opensrc_qemu/exec.c:1191
#1 0x00007f08647cb133 in mem_add (listener=0x7f0865066968 <address_space_io+72>, section=0x7f085a25f3e0) at /home/uvp_v2r2_opensrc_qemu/exec.c:1234
#2 0x00007f086481af8b in address_space_update_topology_pass (as=0x7f0865066920 <address_space_io>, old_view=0x7f0854122430, new_view=0x7f085432cff0, adding=true)
at /home/uvp_v2r2_opensrc_qemu/memory.c:725
#3 0x00007f086481b570 in address_space_update_topology (as=0x7f0865066920 <address_space_io>) at /home/uvp_v2r2_opensrc_qemu/memory.c:754
#4 0x00007f086481b6b0 in memory_region_transaction_commit () at /home/uvp_v2r2_opensrc_qemu/memory.c:794
#5 0x00007f086481dff3 in memory_region_update_container_subregions (subregion=0x7f08676171b0) at /home/uvp_v2r2_opensrc_qemu/memory.c:1657
#6 0x00007f086481e062 in memory_region_add_subregion_common (mr=0x7f0866485720, offset=49216, subregion=0x7f08676171b0) at /home/uvp_v2r2_opensrc_qemu/memory.c:1667
#7 0x00007f086481e0f0 in memory_region_add_subregion_overlap (mr=0x7f0866485720, offset=49216, subregion=0x7f08676171b0, priority=1) at /home/uvp_v2r2_opensrc_qemu/memory.c:1686
#8 0x00007f0864a206c3 in pci_update_mappings (d=0x7f0867616930) at hw/pci/pci.c:1128
#9 0x00007f0864a209b0 in pci_default_write_config (d=0x7f0867616930, addr=4, val_in=259, l=2) at hw/pci/pci.c:1180
#10 0x00007f0864a962d6 in virtio_write_config (pci_dev=0x7f0867616930, address=4, val=259, len=2) at hw/virtio/virtio-pci.c:430
#11 0x00007f0864a29746 in pci_host_config_write_common (pci_dev=0x7f0867616930, addr=4, limit=256, val=259, len=2) at hw/pci/pci_host.c:57
#12 0x00007f0864a2984a in pci_data_write (s=0x7f08664a6ff0, addr=2147491844, val=259, len=2) at hw/pci/pci_host.c:84
#13 0x00007f0864a2996c in pci_host_data_write (opaque=0x7f08664a56e0, addr=0, val=259, len=2) at hw/pci/pci_host.c:137
#14 0x00007f08648198d2 in memory_region_write_accessor (mr=0x7f08664a5ae0, addr=0, value=0x7f085a25f968, size=2, shift=0, mask=65535) at /home/uvp_v2r2_opensrc_qemu/memory.c:430
#15 0x00007f08648199db in access_with_adjusted_size (addr=0, value=0x7f085a25f968, size=2, access_size_min=1, access_size_max=4, access=0x7f086481984d <memory_region_write_accessor>,
mr=0x7f08664a5ae0) at /home/uvp_v2r2_opensrc_qemu/memory.c:467
#16 0x00007f086481c361 in memory_region_dispatch_write (mr=0x7f08664a5ae0, addr=0, data=259, size=2) at /home/uvp_v2r2_opensrc_qemu/memory.c:1103
#17 0x00007f086481f27e in io_mem_write (mr=0x7f08664a5ae0, addr=0, val=259, size=2) at /home/uvp_v2r2_opensrc_qemu/memory.c:2003
#18 0x00007f08647ce034 in address_space_rw (as=0x7f0865066920 <address_space_io>, addr=3324, buf=0x7f0864719000 "\003\001", len=2, is_write=true) at /home/uvp_v2r2_opensrc_qemu/exec.c:2533
#19 0x00007f0864816b1f in kvm_handle_io (port=3324, data=0x7f0864719000, direction=1, size=2, count=1) at /home/uvp_v2r2_opensrc_qemu/kvm-all.c:1707
#20 0x00007f0864817005 in kvm_cpu_exec (cpu=0x7f0866508a50) at /home/uvp_v2r2_opensrc_qemu/kvm-all.c:1864
#21 0x00007f08647fe466 in qemu_kvm_cpu_thread_fn (arg=0x7f0866508a50) at /home/uvp_v2r2_opensrc_qemu/cpus.c:972
#22 0x00007f08632eedf5 in start_thread () from /lib64/libpthread.so.0
#23 0x00007f085e4061ad in clone () from /lib64/libc.so.6
(gdb) p/x *d
$1 = {rcu = {next = 0x0, func = 0x0}, phys_map = {skip = 0x1, ptr = 0x0}, map = {rcu = {next = 0x0, func = 0x0}, sections_nb = 0x48, sections_nb_alloc = 0x80, nodes_nb = 0x6,
nodes_nb_alloc = 0x24, nodes = 0x7f0854480550, sections = 0x7f08542e6a50}, as = 0x7f0865066920}
(gdb) p/x *section
$2 = {mr = 0x7f08676562c8, address_space = 0x7f0865066920, offset_within_region = 0x0, size = {lo = 0x14, hi = 0x0}, offset_within_address_space = 0xae00, readonly = 0x0}
(gdb) p/x *existing
$3 = {mr = 0x7f086740b4b8, address_space = 0x7f0865066920, offset_within_region = 0xf00, size = {lo = 0xb000, hi = 0x0}, offset_within_address_space = 0x1000, readonly = 0x0}
(gdb) p/x *existing->mr
$4 = {parent_obj = {class = 0x7f086646fbb0, free = 0x0, properties = {tqh_first = 0x7f086740be80, tqh_last = 0x7f086740c1f0}, ref = 0x1, parent = 0x7f086740b430}, ops = 0x7f0864f1bca0,
iommu_ops = 0x0, opaque = 0x7f086740b430, container = 0x7f0866485720, size = {lo = 0x1, hi = 0x0}, addr = 0x5658, destructor = 0x7f086481b74b, ram_addr = 0xffffffffffffffff, align = 0x0,
subpage = 0x0, terminates = 0x1, romd_mode = 0x1, ram = 0x0, skip_dump = 0x0, readonly = 0x0, enabled = 0x1, rom_device = 0x0, warning_printed = 0x0, flush_coalesced_mmio = 0x0, alias = 0x0,
alias_offset = 0x0, priority = 0x0, may_overlap = 0x0, subregions = {tqh_first = 0x0, tqh_last = 0x7f086740b560}, subregions_link = {tqe_next = 0x7f08673bb708, tqe_prev = 0x7f08673b4490},
coalesced = {tqh_first = 0x0, tqh_last = 0x7f086740b580}, name = 0x7f086740c250, dirty_log_mask = 0x0, ioeventfd_nb = 0x0, ioeventfds = 0x0, iommu_notify = {notifiers = {lh_first = 0x0}}}
(gdb) p *existing->mr
$5 = {parent_obj = {class = 0x7f086646fbb0, free = 0x0, properties = {tqh_first = 0x7f086740be80, tqh_last = 0x7f086740c1f0}, ref = 1, parent = 0x7f086740b430}, ops = 0x7f0864f1bca0 <vmport_ops>,
iommu_ops = 0x0, opaque = 0x7f086740b430, container = 0x7f0866485720, size = {lo = 1, hi = 0}, addr = 22104, destructor = 0x7f086481b74b <memory_region_destructor_none>,
ram_addr = 18446744073709551615, align = 0, subpage = false, terminates = true, romd_mode = true, ram = false, skip_dump = false, readonly = false, enabled = true, rom_device = false,
warning_printed = false, flush_coalesced_mmio = false, alias = 0x0, alias_offset = 0, priority = 0, may_overlap = false, subregions = {tqh_first = 0x0, tqh_last = 0x7f086740b560},
subregions_link = {tqe_next = 0x7f08673bb708, tqe_prev = 0x7f08673b4490}, coalesced = {tqh_first = 0x0, tqh_last = 0x7f086740b580}, name = 0x7f086740c250 "vmport", dirty_log_mask = 0 '\000',
ioeventfd_nb = 0, ioeventfds = 0x0, iommu_notify = {notifiers = {lh_first = 0x0}}}
If you need any other information, pls let me know, I'm reserving the issued VM. Thanks.
Regards,
-Gonglei
prev parent reply other threads:[~2015-09-18 7:35 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-14 8:01 [Qemu-devel] [Question] QEMU 2.3 Assertion with `existing->mr->subpage || existing->mr == &io_mem_unassigned' failed Gonglei (Arei)
2015-09-14 9:28 ` Paolo Bonzini
2015-09-15 1:16 ` Gonglei
2015-09-15 6:33 ` Gonglei
2015-09-15 9:20 ` Gonglei
2015-09-15 16:49 ` Paolo Bonzini
2015-09-18 7:34 ` Gonglei [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55FBBE87.9070308@huawei.com \
--to=arei.gonglei@huawei.com \
--cc=kraxel@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.huangpeng@huawei.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.