Date: Mon, 21 Feb 2000 13:47:24 +0100 From: Jeroen Ruigrok van der Werven <asmodai@bart.nl> To: Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp> Cc: sameh@fr.clara.net, freebsd-current@FreeBSD.ORG, freebsd-net@FreeBSD.ORG Subject: Re: Panic (TCP) Message-ID: <20000221134724.J84100@lucifer.bart.nl> In-Reply-To: <20000221212656L.shin@nd.net.fujitsu.co.jp>; from shin@nd.net.fujitsu.co.jp on Mon, Feb 21, 2000 at 09:26:56PM %2B0900 References: <20000221121246.F18727@noc.fr.clara.net> <20000221204008M.shin@nd.net.fujitsu.co.jp> <20000221125010.H84100@lucifer.bart.nl> <20000221212656L.shin@nd.net.fujitsu.co.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
-On [20000221 13:30], Yoshinobu Inoue (shin@nd.net.fujitsu.co.jp) wrote: >> >Might there be incorrect memory over writing? >> >> How you mean? > >I think one possibility of the problem is that some code is >incorrectly overwriting some part of the memory, and a tcpcb's >tt_persist->c_flags is happen to overwritten. Hmmm, this box is a real disk io and network io bastard. It serves as a newspeer transit box based on diablo 1.27 with a fxp card and an amr array. Let me know if a dmesg is needed. >Now I am very much interested in the value of >tp->tt_persist->c_flags at panic, if CALLOUT_PENDING and >possibly other flags are just set, or completely broken data >is written on it. (kgdb) up 10 #10 0xc018abc4 in tcp_setpersist (tp=0xd5ce6b60) at ../../netinet/tcp_output.c:893 warning: Source file is more recent than executable. 893 (kgdb) print tp->tt_persist->c_flags $1 = 0 [I am upgrading the box to the latest sources as we speak, hence the sourcecode is newer] >And if later, I am also interested in other values around >tp->tt_persist->c_flags, to check what kind of value is >written around there. (kgdb) print tp->tt_persist $2 = (struct callout *) 0xd5ce6c44 (kgdb) print *(tp->tt_persist) $3 = {c_links = {sle = {sle_next = 0x0}, tqe = {tqe_next = 0x0, tqe_prev = 0xcc401640}}, c_time = 22275044, c_arg = 0xd5ce6b60, c_func = 0, c_flags = 0} >> Debugging tips are welcome, since I am not the biggest bulb wrt >> debugging. > >I am not also, and you might have already known these things, >but in case they are useful, > > -If DDB is specified in kernel config file, and all src/sys > tree including sys/compile dir is saved onto another > machine, it will be very useful at next panic, because remote GDB > debugging is available by those data. I have a serial console active so I can do DDB from my workstation. Hence I always have a kernel and kernel.debug from the same sources. > (Though if the bug happens at very delicate timing, it > might prevent the bug from happening again.) > > -Adding some printfs in tcp_output.c:tcp_setpersist() panic > case might be useful. It might. -- Jeroen Ruigrok van der Werven Network- and systemadministrator <asmodai@bart.nl> bART Internet Services / BSD: Technical excellence at its best VIA NET.WORKS Netherlands Tel: +31 - (0) 10 - 240 39 70 http://www.bart.nl To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000221134724.J84100>