NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-macppc/57110: socket locking assertion on macppc



>Number:         57110
>Category:       port-macppc
>Synopsis:       socket locking assertion on macppc
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-macppc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Dec 13 17:45:00 +0000 2022
>Originator:     Martin Husemann
>Release:        NetBSD 9.99.108
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD gethsemane.aprisoft.de 9.99.108 NetBSD 9.99.108 (GETHSEMANE) #233: Tue Dec 13 14:03:21 CET 2022 martin%seven-days-to-the-wolves.aprisoft.de@localhost:/work/src/sys/arch/macppc/compile/GETHSEMANE macppc
Architecture: powerpc
Machine: macppc
>Description:

I am not sure this is macppc specific, but I noticed I had filed a
whole bunch of very similar but slightly different similar PRs already
in the kern category: PRs 55614, 56989 and 55738 have happened during
ATF runs on this same machine (and I haven't seen anything similar on
other architectures).

This time:

[ 4296.4703353] panic: kernel diagnostic assertion "solocked((&so->so_rcv)->sb_so)" failed: file "../../../../kern/uipc_socket.c", line 1536 
[ 4296.5003463] cpu1: Begin traceback...
[ 4296.5003463] 0x1f54fd20: at vpanic+0x158
[ 4296.5203562] 0x1f54fd50: at kern_assert+0x60
[ 4296.5303636] 0x1f54fd90: at soreceive+0x11fc
[ 4296.5403670] 0x1f54fe60: at dofileread+0x88
[ 4296.5403670] 0x1f54feb0: at syscall+0x350
[ 4296.5603779] 0x1f54ff20: user SC trap #3 by 0xfdbe0db8: srr1=0xd032
[ 4296.5703819]             r1=0xffffd5b0 cr=0x44002242 xer=0 ctr=0xfdbe0db0
[ 4296.5803867] cpu1: End traceback...
[ 4296.5903923] Failed to pause: cpu0
Stopped in pid 1886.1886 (rump.ifconfig) at     netbsd:vpanic+0x15c:    or      
r3, r26, r26

(gdb) list *(soreceive+0x11fc)
0x7f9dec is in soreceive (../../../../kern/uipc_socket.c:1536).
1531                                            m->m_nextpkt = nextrecord;
1532                                            if (nextrecord == NULL)
1533                                                    so->so_rcv.sb_lastrecord = m;
1534                                    } else {
1535                                            so->so_rcv.sb_mb = nextrecord;
1536                                            SB_EMPTY_FIXUP(&so->so_rcv);
1537                                    }
1538                                    SBLASTRECORDCHK(&so->so_rcv, "soreceive 3");
1539                                    SBLASTMBUFCHK(&so->so_rcv, "soreceive 3");
1540                            }




>How-To-Repeat:
Not exactly repeatable. I only did boot the machine and (basically)
ran:	cd /usr/tests && atf-run | atf-report

>Fix:
n/a



Home | Main Index | Thread Index | Old Index