[Bug 265869] mmio_rb_lookup finds wrong entry, triggering assertion

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 16 Aug 2022 03:12:59 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265869

--- Comment #1 from Harris Snyder <harris.snyder@gmail.com> ---
In addition, here is the backtrace from GDB at the time of the assertion: 

#1  0x0000000801569e61 in __assert (func=<optimized out>, file=<optimized out>,
line=<optimized out>, failedexpr=<optimized out>) at
/usr/src/lib/libc/gen/assert.c:51
#2  0x00000000010557c7 in unregister_mem (memp=memp@entry=0x7fffdebf2cf8) at
/usr/src/usr.sbin/bhyve/mem.c:350
#3  0x00000000010647b0 in modify_bar_registration (pi=0x801c4a300, idx=1,
registration=0) at /usr/src/usr.sbin/bhyve/pci_emul.c:578
#4  0x00000000010636a8 in pci_emul_cmd_changed (pi=0x801c4a300, old=<optimized
out>) at /usr/src/usr.sbin/bhyve/pci_emul.c:1983
#5  0x0000000001064497 in pci_emul_cmdsts_write (pi=0x801c16d00,
coff=<optimized out>, new=<optimized out>, bytes=<optimized out>)
    at /usr/src/usr.sbin/bhyve/pci_emul.c:2047
#6  0x00000000010640c0 in pci_cfgrw (ctx=<optimized out>, vcpu=<optimized out>,
in=<optimized out>, bus=<optimized out>, slot=<optimized out>, func=<optimized
out>,
    coff=0, bytes=2, eax=0x7fffdebf2e88) at
/usr/src/usr.sbin/bhyve/pci_emul.c:2205
#7  0x0000000001064c51 in pci_emul_cfgdata (ctx=0x801c16d00, vcpu=0, in=0,
port=<optimized out>, bytes=582, eax=0x0, arg=0x0) at
/usr/src/usr.sbin/bhyve/pci_emul.c:2254
#8  0x0000000001053f4d in emulate_inout (ctx=0x801c16d00, vcpu=0,
vmexit=<optimized out>) at /usr/src/usr.sbin/bhyve/inout.c:228
#9  0x0000000001048ae0 in vmexit_inout (ctx=0x801c16d00, vme=0x73,
pvcpu=<optimized out>) at /usr/src/usr.sbin/bhyve/bhyverun.c:628
#10 0x00000000010489b3 in vm_loop (ctx=0x801c19780, vcpu=vcpu@entry=0,
startrip=<optimized out>) at /usr/src/usr.sbin/bhyve/bhyverun.c:987
#11 0x0000000001047374 in fbsdrun_start_thread (param=0x801d51000) at
/usr/src/usr.sbin/bhyve/bhyverun.c:542
#12 0x00000008014ba96a in thread_start (curthread=0x801c16d00) at
/usr/src/lib/libthr/thread/thr_create.c:292
#13 0x0000000000000000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffdebf3000

-- 
You are receiving this mail because:
You are the assignee for the bug.