On Sun, Apr 13, 2014 at 01:27 -0400, Luke Tidd wrote: > march 7th snapshot and before, no problem > > next upgrade was april 9th snapshot, nfsd usage for more than a minute > or so will bring down the system reproducibly. > > tried again with a bit ago (april 12th) snapshot, still crashing > > OpenBSD/amd64 (largemarge.arikui.org) (tty00) > > login: panic: nfs getstream > Stopped at Debugger+0x5: leave > RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC! > IF RUNNING SMP, USE 'mach ddbcpu <#>' AND 'trace' ON OTHER PROCESSORS, TOO. > DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION! > ddb{0}> trace > Debugger() at Debugger+0x5 > panic() at panic+0xfe > nfsrv_getstream() at nfsrv_getstream+0x29c > nfsrv_rcv() at nfsrv_rcv+0x1b3 > tcp_input() at tcp_input+0x1db7 > ip_ours() at ip_ours+0x1e9 > ipv4_input() at ipv4_input+0x362 > ipintr() at ipintr+0x7f > netintr() at netintr+0x85 > softintr_dispatch() at softintr_dispatch+0x5d > Xsoftnet() at Xsoftnet+0x2d > --- interrupt --- > end trace frame: 0x0, count: -11 > 0x8:
hi, sounds like an spl got lost somewhere. can you please run with this diff and 'sysctl kern.splassert=2' (tweaking in /etc/sysctl.conf is easier though). cheers diff --git sys/nfs/nfs_socket.c sys/nfs/nfs_socket.c index 6946a28..918ee21 100644 --- sys/nfs/nfs_socket.c +++ sys/nfs/nfs_socket.c @@ -1678,10 +1678,12 @@ nfsrv_getstream(struct nfssvc_sock *slp, int waitflag) char *cp1, *cp2; int len; struct mbuf *om, *m2, *recm; u_int32_t recmark; + splsoftassert(IPL_SOFTNET); + if (slp->ns_flag & SLP_GETSTREAM) panic("nfs getstream"); slp->ns_flag |= SLP_GETSTREAM; for (;;) { if (slp->ns_reclen == 0) {