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: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 13 Jan 2011 20:22:25 -0800 (PST)

: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.

    Unfortunately I don't know how the persist was meant to work (or not)
    prior to entering an ESTABLISHED state.

						-Matt




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