[email protected] (Jérémie Courrèges-Anglas) writes:
> [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).
Let's not print the same comparison twice...
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:55:29 -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__,
intotcpcb(inp)->t_inpcb, 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