HEADS UP: tcp wrongly persist timer detection
Sepherosa Ziehau
sepherosa at gmail.com
Sat Jan 15 04:19:36 PST 2011
On Fri, Jan 14, 2011 at 12:22 PM, Matthew Dillon
<dillon at apollo.backplane.com> wrote:
> :Hi all,
> :
> :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.
> :
> :Best Regards,
> :sephe
>
> 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;
> tcp_output(tp);
>
> 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.
Starting persistent timer in TCPS_CLOSED from tcp_drop() is valid
My bad, fix pushed :)
Best Regards,
sephe
--
Tomorrow Will Never Die
More information about the Users
mailing list