[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