-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Jérémie, The next panic - again exactly at the same place. Your patch below produced the following output:
panic: tcp_input:647: 0xfffffe84f10ac658 != 0xfffffe8522ecb1b0 - see screenshot appended. Again the console was frozen - I had to reset the box. Memory wise there are two things, which I used: For the database: kern.shminfo.shmall=32768 Furthermore, I use a RAM disk (mfs) for tmp space: In /etc/fstab: swap /rd mfs rw,-s=1000000 0 0 However, This all worked for years under 5.2 and older releases. It seems, the system is running for about 3 - 5 days, and then the kernel crashes. Is there a way to patch the kernel at tcp_input to automatically generate a core, if it crases? Any further suggestions? - Peter On 20.05.14 00:58, Jérémie Courrèges-Anglas wrote: > 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) Comment: GPGTools - http://gpgtools.org iD8DBQFTgvFXZFR7Ae3oDfYRAgCUAJ0YH5SSp0HSMeUP2VFB2ClXz/KobgCeOcJN fas57LO4XwWYshz1lRse7IQ= =F7++ -----END PGP SIGNATURE-----