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