[email protected] writes:

>>Synopsis:     OpenBSD 5.5 kernel panic tcp_inpuc.c line 644
>>Category:     panic
>>Environment:
>       System      : OpenBSD 5.5
>       Details     : OpenBSD 5.5 (GENERIC.MP) #315: Wed Mar  5 09:37:46 MST 
> 2014
>                        
> [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
>       Architecture: OpenBSD.amd64
>       Machine     : amd64
>>Description:
> Kernel panic:
> panic: kernel diagnostic assertion "sotoinpcp(inp->inp_socket) == inp" 
> failed: file "../../../tinet/tcp_input.c", line 644
>
> Console was frozen - nor further commands - ps, trace etc was possible.
>
>>How-To-Repeat:
> Happend twice withing 3 days

You should give details about your config.  Interfaces, addressing,
listening daemons, pf setup, etc.

Also, was it the exact same error?  If not, have you performed a memory
check?

The following diff might give more details (to be applied from
/usr/src/sys).

Index: netinet/tcp_input.c
===================================================================
RCS file: /cvs/src/sys/netinet/tcp_input.c,v
retrieving revision 1.272
diff -u -p -r1.272 tcp_input.c
--- netinet/tcp_input.c 24 Jan 2014 18:54:58 -0000      1.272
+++ netinet/tcp_input.c 19 May 2014 22:49:17 -0000
@@ -641,8 +641,10 @@ findpcb:
                        goto dropwithreset_ratelim;
                }
        }
-       KASSERT(sotoinpcb(inp->inp_socket) == inp);
-       KASSERT(intotcpcb(inp)->t_inpcb == inp);
+       if (sotoinpcb(inp->inp_socket) != inp)
+               panic("%s:%d: %p != %p", __func__, __LINE__, inp->inp_socket, 
inp);
+       if (intotcpcb(inp)->t_inpcb != inp)
+               panic("%s:%d: %p != %p", __func__, __LINE__, inp->inp_socket, 
inp);
 
        /* Check the minimum TTL for socket. */
        if (inp->inp_ip_minttl && inp->inp_ip_minttl > ip->ip_ttl)


-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to