[Bug 284057] vmxnet3/iflib: crash in vmxnet3_isc_txd_credits_update

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 14 Jan 2025 07:52:39 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284057

--- Comment #2 from Andriy Gapon <avg@FreeBSD.org> ---
More details from the crashing thread:
(kgdb) bt
#0  __curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:53
#1  doadump (textdump=1) at /usr/src/sys/kern/kern_shutdown.c:408
#2  0xffffffff80421b92 in db_command (last_cmdp=<optimized out>,
cmd_table=<optimized out>, dopager=false) at /usr/src/sys/ddb/db_command.c:498
#3  0xffffffff80421c16 in db_command_script
(command=command@entry=0xffffffff810f082b <db_recursion_data+43> "textdump
dump") at /usr/src/sys/ddb/db_command.c:563
#4  0xffffffff80426e18 in db_script_exec
(scriptname=scriptname@entry=0xfffffe04f0854b90 "kdb.enter.trap",
warnifnotfound=warnifnotfound@entry=0) at /usr/src/sys/ddb/db_script.c:302
#5  0xffffffff80426c42 in db_script_kdbenter (eventname=<optimized out>) at
/usr/src/sys/ddb/db_script.c:324
#6  0xffffffff80424de1 in db_trap (type=<optimized out>, code=<optimized out>)
at /usr/src/sys/ddb/db_main.c:267
#7  0xffffffff80841f16 in kdb_trap (type=type@entry=12, code=code@entry=0,
tf=tf@entry=0xfffffe04f0854d90) at /usr/src/sys/kern/subr_kdb.c:734
#8  0xffffffff80b27f65 in trap_fatal (frame=frame@entry=0xfffffe04f0854d90,
eva=eva@entry=18446741883588706312) at /usr/src/sys/amd64/amd64/trap.c:933
#9  0xffffffff80b2806f in trap_pfault (frame=0xfffffe04f0854d90,
usermode=false, signo=<optimized out>, ucode=<optimized out>) at
/usr/src/sys/amd64/amd64/trap.c:759
#10 <signal handler called>
#11 vmxnet3_isc_txd_credits_update (vsc=<optimized out>, txqid=<optimized out>,
clear=false) at /usr/src/sys/dev/vmware/vmxnet3/if_vmx.c:1433
#12 0xffffffff80922778 in iflib_fast_intr_rxtx (arg=<optimized out>) at
/usr/src/sys/net/iflib.c:1591
#13 0xffffffff807c1695 in intr_event_handle (ie=ie@entry=0xfffff801140de000,
frame=frame@entry=0xfffffe04f0854f40) at /usr/src/sys/kern/kern_intr.c:1373
#14 0xffffffff80aee529 in intr_execute_handlers (isrc=0xfffff801140cb300,
frame=0xfffffe04f0854f40) at /usr/src/sys/x86/x86/intr_machdep.c:356

(kgdb) fr 11
#11 vmxnet3_isc_txd_credits_update (vsc=<optimized out>, txqid=<optimized out>,
clear=false) at /usr/src/sys/dev/vmware/vmxnet3/if_vmx.c:1433
1433    /usr/src/sys/dev/vmware/vmxnet3/if_vmx.c: No such file or directory.
(kgdb) i loc
sc = <optimized out>
txq = <optimized out>
txc = <optimized out>
processed = 0
txcd = <optimized out>
txr = <optimized out>

(kgdb) up 
#12 0xffffffff80922778 in iflib_fast_intr_rxtx (arg=<optimized out>) at
/usr/src/sys/net/iflib.c:1591
1591    /usr/src/sys/net/iflib.c: No such file or directory.
(kgdb) i loc
info = <optimized out>
gtask = 0xfffffe02129d63f0
rxq = 0xfffffe02129d6340
result = <optimized out>
ctx = 0xfffff80114132c00
sc = 0xfffff80114132800
intr_enable = false
i = 0
txq = <optimized out>
txqid = <optimized out>
cidx = <optimized out>
intr_legacy = <optimized out>

(kgdb) p rxq->ifr_txqid[i]
$1 = 1 '\001'
(kgdb) p sc->vmx_txq[$1]
Attempt to dereference a generic pointer.
(kgdb) set $sc = (struct vmxnet3_softc *)sc
(kgdb) p $sc->vmx_txq[$1]
$2 = {vxtxq_sc = 0xfffff80114132800, vxtxq_id = 1, vxtxq_last_flush = 1845,
vxtxq_intr_idx = 10, vxtxq_cmd_ring = {vxtxr_next = 1842, vxtxr_ndesc = 2048,
vxtxr_gen = 1, vxtxr_txd = 0xfffffe0213780000, vxtxr_paddr = 37224448}, 
  vxtxq_comp_ring = {vxcr_u = {txcd = 0xfffffe02129f8000, rxcd =
0xfffffe02129f8000}, vxcr_next = 0, vxcr_ndesc = 2048, vxcr_gen = 0, vxcr_paddr
= 4632936448, vxcr_zero_length = 0, vcxr_zero_length_frag = 0, vxcr_pkt_errors
= 0}, 
  vxtxq_ts = 0xfffff801140c6100, vxtxq_sysctl = 0xfffff80114d48800, vxtxq_name
= "vmx0-tx1\000\000\000\000\000\000\000"}

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