DragonFly users List (threaded) for 2011-01
Re: HEADS UP: tcp wrongly persist timer detection
:HEAD users only.
:It could panic your system upon TCP activities, so please backup your
:working kernel :). If the panic happens, please send us the link to
:the core dumps.
:Thank you for your help in advance.
Crater crunched on this. I could not get a core dump but I was
able to get a backtrace.
In the particular crash I got it appears that a tcp timer callout
occurs (I believe it was the persist timer but now I'm not sure) and
the connection is dropped. tcp_drop() is called which:
tp->t_state = TCPS_CLOSED;
And that triggered the panic:
tcp_setpersist: not established yet
I do not know what state the connection was in prior to that point.
I have adjusted the conditionals in my local source tree to not panic
if the connection is in TCPS_CLOSED but I haven't commited this as I
do not know whether it is correct or not.
Unfortunately I don't know how the persist was meant to work (or not)
prior to entering an ESTABLISHED state.