netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: soukjin.bae@samsung.com, Eric Dumazet <eric.dumazet@gmail.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"lorenzo@google.com" <lorenzo@google.com>
Cc: 유금환 <geumhwan.yu@samsung.com>
Subject: Re: (2) FW: [Resource Leak] Suggesting patch for tcp_close
Date: Wed, 28 Nov 2018 06:40:40 -0800	[thread overview]
Message-ID: <d54f7e53-cb84-b4f6-f16e-74ca64bc2796@gmail.com> (raw)
In-Reply-To: <20181128061715epcms1p18e21f112dea8cdf67481c35af52419bd@epcms1p1>



On 11/27/2018 10:17 PM, 배석진 wrote:
>>> we saw hundreds of not closed tcp session with FIN_WAIT1 and LAST_ACK.
>>
>> These sessions should have a timer, and eventually disappear.
> 
> FIN_WAIT2 and TIME_WAIT have a timer.
> but FIN_WAIT1 and LAST_ACK are have too?

Sure. Otherwise we have a more serious bug than tcp_abort().


> 
>> Do you have a test to demonstrate the issue ?
>>  
>> I know Lorenzo wrote tests, so presumably new tests are needed.
> 
> yes, i had a test myself, and attached the result.
> step is easy, with android device.
> 
> 1. remove simcard (no mobile online)
> 2. connect wifi and check tcp sessions
> 3. disconnect wifi and check again.
> 4. repeat step 2~3
> 

A real test is something that can be automated.

Like a packetdrill test.

> as i said, gms make this problem often at port 443 or 5228. 
> i've confirm session owner is them by pid, when session was ESTABLISH state.
> and i found this at speedguide.net
> 
> - Port(s)  : 5228
> - Protocol : tcp,udp
> - Service  : android
> - Details  : Port 5228 is used by the Google Playstore (Android market). 
>              Google talk also uses ports 443, 5222 and 5228. 
>              Google Chrome user settings sync (facorites, history, passwords) uses port 5228. 
> - Related ports : 443 5222
> 
> 
> below is report we have received.
> i omitted full list shortly. its list up to 900 line.
> 
> ------ NETSTAT (netstat -npWae) ------
> Active Internet connections (established and servers)
> Proto Recv-Q Send-Q Local Address               Foreign Address             State       User  Inode   PID/Program Name
> tcp   0      0      127.0.0.1:5037              0.0.0.0:*                   LISTEN      0     617046  2768/adbd
> tcp   0      1      192.168.0.112:53828         211.231.100.211:443         FIN_WAIT1   0     0       -
> tcp   0      1      192.168.0.112:33908         27.0.236.141:443            FIN_WAIT1   0     0       -
> tcp   0      1      192.168.0.112:58480         183.111.43.14:443           LAST_ACK    0     0       -
> tcp   0      1      192.168.0.112:56558         203.133.167.207:443         FIN_WAIT1   0     0       -
> ...                                                                                                  
> tcp6  0     32      ::ffff:192.168.0.112:50072  ::ffff:74.125.203.188:5228  FIN_WAIT1   0     0       -
> tcp6  0      1      ::ffff:192.168.1.5:59744    ::ffff:216.58.197.238:443   FIN_WAIT1   0     0       -
> tcp6  0     32      ::ffff:192.168.0.112:40512  ::ffff:108.177.125.188:5228 FIN_WAIT1   0     0       -
> tcp6  0     32      ::ffff:192.168.0.112:46560  ::ffff:108.177.97.188:5228  FIN_WAIT1   0     0       -
> 
> 
>> BTW your patch title is confusing.
>> You are changing tcp_abort(), not tcp_close()
> 
> yes right, i meant tcp session close as title.
> but my finger put the underbar himself :o
> 

      parent reply	other threads:[~2018-11-29  1:42 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20181123072258epcms1p8c41425598751be28f8cc05b91c7ac4b5@epcms1p8>
2018-11-23  7:22 ` Suggesting patch for tcp_close 배석진
     [not found]   ` <CGME20181123072258epcms1p8c41425598751be28f8cc05b91c7ac4b5@epcms1p7>
2018-11-28  1:09     ` FW: [Resource Leak] " 배석진
2018-11-28  4:57       ` Eric Dumazet
2018-11-28  4:58         ` Eric Dumazet
     [not found]       ` <CGME20181123072258epcms1p8c41425598751be28f8cc05b91c7ac4b5@epcms1p1>
2018-11-28  6:17         ` 배석진
2018-11-28  7:36           ` (2) " Lorenzo Colitti
     [not found]           ` <CGME20181123072258epcms1p8c41425598751be28f8cc05b91c7ac4b5@epcms1p6>
2018-11-28  8:49             ` 배석진
2018-11-28 14:40           ` Eric Dumazet [this message]

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=d54f7e53-cb84-b4f6-f16e-74ca64bc2796@gmail.com \
    --to=eric.dumazet@gmail.com \
    --cc=geumhwan.yu@samsung.com \
    --cc=lorenzo@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=soukjin.bae@samsung.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).