[Bug 272319] FreeBSD kernel crash on MPD5 restart with PPP configuration.

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 02 Jul 2023 18:45:03 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272319

--- Comment #19 from ny <ny2007ltd@gmail.com> ---
I have tested patch under FreeBSD 13.2 / amd64.
Now mpd5 restart - no any crashes.

On telnet 127.0.0.1 57 - no connect, but new crash:

Unread portion of the kernel message buffer:
panic: _mtx_lock_sleep: recursed on non-recursive mutex socket @
/usr/src/sys/netgraph/ng_ksocket.c:1196

cpuid = 0
time = 1688330477
KDB: stack backtrace:
#0 0xffffffff80c423a5 at kdb_backtrace+0x65
#1 0xffffffff80bf5ff1 at vpanic+0x151
#2 0xffffffff80bf5df3 at panic+0x43
#3 0xffffffff80bd176c at __mtx_lock_sleep+0x43c
#4 0xffffffff80bd12b5 at __mtx_lock_flags+0xe5
#5 0xffffffff82d37d53 at ng_ksocket_accept+0x33
#6 0xffffffff80c99806 at solisten_wakeup+0x26
#7 0xffffffff80dc7037 at tcp_do_segment+0x15b7
#8 0xffffffff80dc4ddb at tcp_input_with_port+0xddb
#9 0xffffffff80dc59ab at tcp_input+0xb
#10 0xffffffff80db628b at ip_input+0x18b
#11 0xffffffff80d38cd1 at swi_net+0x1a1
#12 0xffffffff80bb2de9 at ithread_loop+0x279
#13 0xffffffff80bafcc0 at fork_exit+0x80
#14 0xffffffff8108df2e at fork_trampoline+0xe
Uptime: 1m46s
Dumping 175 out of 2004 MB:..10%..19%..28%..37%..46%..55%..64%..73%..82%..91%

__curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
55              __asm("movq %%gs:%P1,%0" : "=r" (td) : "n" (offsetof(struct
pcpu,
(kgdb) #0  __curthread () at /usr/src/sys/amd64/include/pcpu_aux.h:55
#1  doadump (textdump=<optimized out>)
    at /usr/src/sys/kern/kern_shutdown.c:396
#2  0xffffffff80bf5bff in kern_reboot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:484
#3  0xffffffff80bf605e in vpanic (fmt=<optimized out>, 
    ap=ap@entry=0xfffffe00037339c0) at /usr/src/sys/kern/kern_shutdown.c:923
#4  0xffffffff80bf5df3 in panic (fmt=<unavailable>)
    at /usr/src/sys/kern/kern_shutdown.c:847
#5  0xffffffff80bd176c in __mtx_lock_sleep (c=c@entry=0xfffff8000d95d018, 
    v=18446741874752305408, opts=opts@entry=0, 
    file=file@entry=0xffffffff82d39567 "/usr/src/sys/netgraph/ng_ksocket.c", 
    line=line@entry=1196) at /usr/src/sys/kern/kern_mutex.c:546
#6  0xffffffff80bd12b5 in __mtx_lock_flags (c=0xfffff8000d95d018, 
    opts=<unavailable>, 
    file=0xffffffff82d39567 "/usr/src/sys/netgraph/ng_ksocket.c", line=1196)
    at /usr/src/sys/kern/kern_mutex.c:284
#7  0xffffffff82d37d53 in ng_ksocket_accept (priv=0xfffff80014246180, 
    priv@entry=<error reading variable: value is not available>)
    at /usr/src/sys/netgraph/ng_ksocket.c:1196
#8  0xffffffff80c99806 in solisten_wakeup (sol=0xfffff8000d95d000, 
    sol@entry=0xfffff8000deb257c) at /usr/src/sys/kern/uipc_socket.c:985
#9  0xffffffff80c9fee8 in soisconnected (so=so@entry=0xfffff8000d961b10)
    at /usr/src/sys/kern/uipc_socket.c:4053
#10 0xffffffff80dc7037 in tcp_do_segment (m=0xfffff8000deb2500, 
    m@entry=<error reading variable: value is not available>, 
    th=0xfffff8000deb257c, 
    th@entry=<error reading variable: value is not available>, 
    so=<unavailable>, 
    so@entry=<error reading variable: value is not available>, 
    tp=0xfffffe0094589ca8, 
    tp@entry=<error reading variable: value is not available>, 
    drop_hdrlen=52, 
    drop_hdrlen@entry=<error reading variable: value is not available>, 
    tlen=<optimized out>, 
    tlen@entry=<error reading variable: value is not available>, 
    iptos=16 '\020', 
    iptos@entry=<error reading variable: value is not available>)
    at /usr/src/sys/netinet/tcp_input.c:2469
#11 0xffffffff80dc4ddb in tcp_input_with_port (mp=mp@entry=<unavailable>, 
    offp=offp@entry=<unavailable>, proto=<optimized out>, port=port@entry=0)
    at /usr/src/sys/netinet/tcp_input.c:1180
#12 0xffffffff80dc59ab in tcp_input (mp=<unavailable>, 
    mp@entry=<error reading variable: value is not available>, 
    offp=<unavailable>, 
    offp@entry=<error reading variable: value is not available>, 
    proto=<unavailable>, 
    proto@entry=<error reading variable: value is not available>)
    at /usr/src/sys/netinet/tcp_input.c:1509
#13 0xffffffff80db628b in ip_input (m=0x0, 
    m@entry=<error reading variable: value is not available>)
    at /usr/src/sys/netinet/ip_input.c:840
#14 0xffffffff80d38cd1 in netisr_process_workstream_proto (
    nwsp=0xffffffff82b876c0, proto=1) at /usr/src/sys/net/netisr.c:919
#15 swi_net (arg=0xffffffff82b876c0) at /usr/src/sys/net/netisr.c:966
#16 0xffffffff80bb2de9 in intr_event_execute_handlers (ie=0xfffff800034cd500, 
    p=<optimized out>) at /usr/src/sys/kern/kern_intr.c:1169
#17 ithread_execute_handlers (ie=0xfffff800034cd500, p=<optimized out>)
    at /usr/src/sys/kern/kern_intr.c:1182
#18 ithread_loop (arg=arg@entry=0xfffff800034704c0)
    at /usr/src/sys/kern/kern_intr.c:1270
#19 0xffffffff80bafcc0 in fork_exit (
    callout=0xffffffff80bb2b70 <ithread_loop>, arg=0xfffff800034704c0, 
    frame=0xfffffe0003733f40) at /usr/src/sys/kern/kern_fork.c:1093
#20 <signal handler called>
(kgdb)

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