Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 04 Aug 2023 21:11:48 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 272947] cxgbei: kernel panic in soreceive when hw.cxgbe.nofldtxq="-24"
Message-ID:  <bug-272947-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D272947

            Bug ID: 272947
           Summary: cxgbei: kernel panic in soreceive when
                    hw.cxgbe.nofldtxq=3D"-24"
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: asomers@FreeBSD.org

I just hit this kernel panic four times in a row when attempting to use cxg=
bei
to serve zvol-backed CTL targets.  The key thing seems to be that
hw.cxgbe.{nofldtxq,nofldrxq}=3D"-24".  The panic did not happen when the va=
lue
was "-8" or the default.  After starting ctld, the panic happens within a
second or two of connecting the clients.

< in /boot/loader.conf >
hw.cxgbe.nofldtxq=3D"-24"
hw.cxgbe.nofldrxq=3D"-24"
t4_tom_load=3D"YES"
cxgbei_load=3D"YES"

< in /etc/ctl.conf >
portal-group pg0 {
    discovery-auth-group ag0
    discovery-filter portal-name-auth
    listen 172.30.10.58
    offload cxgbei
}
<Repeats for pg1-pg3>
target iqn.2018-10.net.MYDOMAIN.MYHOST:zd0 {
        auth-group no-authentication
        portal-group pg0
        portal-group pg1
        portal-group pg2
        portal-group pg3
        lun 0 {
                path /dev/zvol/MYPOOL/MYDATASET
                blocksize 4096
                option pblocksize 32768
        }
}
<Repeats for 63 more targets>

$ sudo ifconfig cc0 toe
$ sudo ifconfig cc1 toe
$ sudo ifconfig cc2 toe
$ sudo ifconfig cc3 toe
$ sudo zfs load-key -a
$ sudo service ctld onestart
< Connect clients, if they weren't already connected from before reboot >
<panics>

Fatal trap 12: page fault while in kernel mode
cpuid =3D 13; apic id =3D 42=20
fault virtual address   =3D 0x0
fault code              =3D supervisor read instruction, page not present
instruction pointer     =3D 0x20:0x0
stack pointer           =3D 0x28:0xfffffe06058c2d38
frame pointer           =3D 0x28:0xfffffe06058c2d50
code segment            =3D base 0x0, limit 0xfffff, type 0x1b
                        =3D DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        =3D interrupt enabled, resume, IOPL =3D 0
current process         =3D 2255 (ctld)
rdi: fffff8018e70e000 rsi: 0000000000000000 rdx: fffffe06058c2da0
rcx: 0000000000000000  r8: 0000000000000000  r9: 0000000000000000
rax: ffffffff81d5c148 rbx: fffffe04dedf2ac0 rbp: fffffe06058c2d50
r10: d55588aa548cb865 r11: fffffe04dedf2fe0 r12: 0000000000000000
r13: 0000000000000000 r14: 0000000000000000 r15: fffffe04dedf2ac0
trap number             =3D 12
panic: page fault
cpuid =3D 13
time =3D 1691182043
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe06058c2=
af0
vpanic() at vpanic+0x148/frame 0xfffffe06058c2b40
panic() at panic+0x43/frame 0xfffffe06058c2ba0
trap_fatal() at trap_fatal+0x40b/frame 0xfffffe06058c2c00
trap_pfault() at trap_pfault+0x4f/frame 0xfffffe06058c2c60
calltrap() at calltrap+0x8/frame 0xfffffe06058c2c60
--- trap 0xc, rip =3D 0, rsp =3D 0xfffffe06058c2d38, rbp =3D 0xfffffe06058c=
2d50 ---
??() at 0/frame 0xfffffe06058c2d50
dofileread() at dofileread+0x83/frame 0xfffffe06058c2d90
sys_read() at sys_read+0xbc/frame 0xfffffe06058c2e00
amd64_syscall() at amd64_syscall+0x770/frame 0xfffffe06058c2f30
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe06058c2f30
--- syscall (3, FreeBSD ELF64, read), rip =3D 0x36bdda97469a, rsp =3D
0x36bdd3d2c558, rbp =3D 0x36bdd3d2c580 ---
KDB: enter: panic

__curthread ()
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/amd64/include/pcpu_aux=
.h:59
59              __asm("movq %%gs:%P1,%0" : "=3Dr" (td) : "n" (offsetof(stru=
ct
pcpu,
(kgdb) #0  __curthread ()
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/amd64/include/pcpu_aux=
.h:59
#1  doadump (textdump=3Dtextdump@entry=3D0)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/kern/kern_shutdown.c:4=
07
#2  0xffffffff804a2c8a in db_dump (dummy=3D<optimized out>,
    dummy2=3D<unavailable>, dummy3=3D<unavailable>, dummy4=3D<unavailable>)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/ddb/db_command.c:593
#3  0xffffffff804a2a90 in db_command (last_cmdp=3D<optimized out>,
    cmd_table=3D<optimized out>, dopager=3Dfalse)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/ddb/db_command.c:506
#4  0xffffffff804a2bd6 in db_command_script (
    command=3Dcommand@entry=3D0xffffffff817986d0 <db_recursion_data> "dump")
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/ddb/db_command.c:571
#5  0xffffffff804a8198 in db_script_exec (
    scriptname=3Dscriptname@entry=3D0xfffffe06058c27d0 "kdb.enter.panic",
    warnifnotfound=3Dwarnifnotfound@entry=3D0)
    at /usr/home/asomers/src/github/Axcient/freebsd-src/sys/ddb/db_script.c=
:304
#6  0xffffffff804a7fb2 in db_script_kdbenter (eventname=3D<optimized out>)
    at /usr/home/asomers/src/github/Axcient/freebsd-src/sys/ddb/db_script.c=
:326
#7  0xffffffff804a6051 in db_trap (type=3D<optimized out>, code=3D<optimize=
d out>)
    at /usr/home/asomers/src/github/Axcient/freebsd-src/sys/ddb/db_main.c:2=
69
#8  0xffffffff80ba4956 in kdb_trap (type=3Dtype@entry=3D3, code=3D<unavaila=
ble>,
    code@entry=3D0, tf=3Dtf@entry=3D0xfffffe06058c2a30)
    at /usr/home/asomers/src/github/Axcient/freebsd-src/sys/kern/subr_kdb.c=
:792
#9  0xffffffff81028851 in trap (frame=3D0xfffffe06058c2a30)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/amd64/amd64/trap.c:610
#10 <signal handler called>
#11 kdb_enter (why=3D<optimized out>, msg=3D<optimized out>)
    at /usr/home/asomers/src/github/Axcient/freebsd-src/sys/kern/subr_kdb.c=
:558
#12 0xffffffff80b54dc9 in vpanic (fmt=3D<optimized out>,
    ap=3Dap@entry=3D0xfffffe06058c2b80)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/kern/kern_shutdown.c:9=
60
#13 0xffffffff80b54c43 in panic (
    fmt=3D0xffffffff816b7740 <gdb_consdev> "\020\2722\201\377\377\377\377\0=
01")
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/kern/kern_shutdown.c:8=
96
#14 0xffffffff81028d0b in trap_fatal (frame=3D0xfffffe06058c2c70, eva=3D0)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/amd64/amd64/trap.c:954
#15 0xffffffff81028d5f in trap_pfault (frame=3D0xfffffe06058c2c70,
    usermode=3Dfalse, signo=3D<optimized out>, ucode=3D<optimized out>)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/amd64/amd64/trap.c:762
#16 <signal handler called>
#17 0x0000000000000000 in ?? ()
#18 0xffffffff80c00cbf in soreceive (so=3D0xfffff8018e70e000, psa=3D0x0,
    uio=3D0xfffffe06058c2da0, mp0=3D0x0, controlp=3D0x0, flagsp=3D0x0)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/kern/uipc_socket.c:2910
#19 0xffffffff80bc65f3 in fo_read (uio=3D0xfffffe06058c2da0,
    active_cred=3D0xfffffe06058c2da0, td=3D0xfffffe04dedf2ac0,
    fp=3D<optimized out>, flags=3D<optimized out>)
    at /usr/home/asomers/src/github/Axcient/freebsd-src/sys/sys/file.h:343
#20 dofileread (td=3Dtd@entry=3D0xfffffe04dedf2ac0, fd=3Dfd@entry=3D11,
    fp=3D<optimized out>, auio=3Dauio@entry=3D0xfffffe06058c2da0,
    offset=3Doffset@entry=3D-1, flags=3Dflags@entry=3D0)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/kern/sys_generic.c:369
#21 0xffffffff80bc614c in kern_readv (td=3D0xfffffe04dedf2ac0, fd=3D11,
    auio=3D0xfffffe06058c2da0)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/kern/sys_generic.c:290
#22 sys_read (td=3D0xfffffe04dedf2ac0, uap=3D<optimized out>)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/kern/sys_generic.c:206
#23 0xffffffff81029c50 in syscallenter (td=3D0xfffffe04dedf2ac0)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/amd64/amd64/../../kern=
/subr_syscall.c:162
#24 amd64_syscall (td=3D0xfffffe04dedf2ac0, traced=3D0)
    at
/usr/home/asomers/src/github/Axcient/freebsd-src/sys/amd64/amd64/trap.c:1199
#25 <signal handler called>
#26 0x000036bdda97469a in ?? ()

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-272947-227>