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-current" 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>
