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) {

Reply via email to