From: Vlad Yasevich <vyasevich@gmail.com>
To: linux-sctp@vger.kernel.org
Subject: Re: undetected closed apps
Date: Thu, 19 Dec 2013 17:24:09 +0000 [thread overview]
Message-ID: <52B32BB9.9020102@gmail.com> (raw)
In-Reply-To: <52AC7375.6010505@mojatatu.com>
On 12/19/2013 09:26 AM, Jamal Hadi Salim wrote:
> On 12/18/13 12:58, Vlad Yasevich wrote:
>> On 12/18/2013 07:30 AM, Jamal Hadi Salim wrote:
>
>> could you post an output for /proc/net/sctp/assocs for the association
>> in this bad state?
>
> It's not eye candy (lines wrap around). But here's one i just
> reproduced with client/server on same machine via lo. It requires
> a few tries to make sure we have send failed for this to happen.
>
> ----
> SSOC SOCK STY SST ST HBKT ASSOC-ID TX_QUEUE RX_QUEUE UID INODE
> LPORT RPORT LADDRS <-> RADDRS HBINT INS OUTS MAXRT T1X T2X RTXC wmema
> wmemq sndbuf rcvbuf
> 0 0 2 7 4 29808 11 0 0 0 0
So, on this line socket state (SST) is 7 which is SCTP_SS_CLOSED. This
means that you performed a close() call. The association state (ST) is
4 which is SHUTDOWN_PENDING. This means that when you tried to close
the socket, the association thought that there was some pending data.
I seem to remember you and I discussing this situation before, but I
can't find that thread.
I'll take another look at how PR interacts with queue state to see if
we can detect the proper empty state to send a SHUTDOWN.
However, what the above tells me is that you don't actually set
SO_LINGER on this socket. If you did, instead of attempting SHUTDOWN,
we would have sent an abort. That might be a good workaround until
we solve this "queue empty" problem.
-vlad
> 50902 30330 127.0.0.1 10.0.0.195 192.168.122.1 <-> *127.0.0.1 7500
> 10 10 10 0 0 0 1 0 212992 212992
> 0 0 2 1 3 31695 12 0 0 1000 55928
> 30330 50902 127.0.0.1 <-> *127.0.0.1 10.0.0.195 192.168.122.1 1500
> 10 10 10 0 0 0 1 0 212992 212992
> ---------
>
> Server is at port 30330.
>
> Actually i take back what i said earlier: When i write to this app,
> after it disconnects, i do see the socket queues grow for a short
> period and then get drained to zero. I dont know where those messages
> go. I monitor this by having the watch utility polling every second.
>
> cheers,
> jamal
next prev parent reply other threads:[~2013-12-19 17:24 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-14 15:04 undetected closed apps Jamal Hadi Salim
2013-12-14 15:16 ` Jamal Hadi Salim
2013-12-14 15:27 ` Jamal Hadi Salim
2013-12-14 17:06 ` Michael Tuexen
2013-12-14 17:21 ` Jamal Hadi Salim
2013-12-14 17:23 ` Michael Tuexen
2013-12-14 17:36 ` Jamal Hadi Salim
2013-12-14 18:35 ` Jamal Hadi Salim
2013-12-14 18:47 ` Michael Tuexen
2013-12-14 19:09 ` Jamal Hadi Salim
2013-12-14 19:27 ` Jamal Hadi Salim
2013-12-14 20:06 ` Michael Tuexen
2013-12-15 15:21 ` Jamal Hadi Salim
2013-12-15 15:32 ` Michael Tuexen
2013-12-15 19:08 ` Jamal Hadi Salim
2013-12-16 15:19 ` Vlad Yasevich
2013-12-17 13:49 ` Jamal Hadi Salim
2013-12-17 15:11 ` Vlad Yasevich
2013-12-18 12:30 ` Jamal Hadi Salim
2013-12-18 17:58 ` Vlad Yasevich
2013-12-19 14:26 ` Jamal Hadi Salim
2013-12-19 17:24 ` Vlad Yasevich [this message]
2013-12-19 18:16 ` Vlad Yasevich
2013-12-20 12:23 ` Jamal Hadi Salim
2013-12-20 12:29 ` Jamal Hadi Salim
2013-12-20 17:00 ` Jamal Hadi Salim
2013-12-20 18:44 ` Jamal Hadi Salim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52B32BB9.9020102@gmail.com \
--to=vyasevich@gmail.com \
--cc=linux-sctp@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.