j...@wxcvbn.org (Jérémie Courrèges-Anglas) writes: > pe...@pyxis.ch 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 >> >> dera...@amd64.openbsd.org:/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