DragonFly BSD
DragonFly users List (threaded) for 2011-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: HEADS UP: tcp wrongly persist timer detection


From: Sepherosa Ziehau <sepherosa@xxxxxxxxx>
Date: Sat, 15 Jan 2011 20:13:34 +0800

On Fri, Jan 14, 2011 at 12:22 PM, Matthew Dillon
<dillon@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




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]