Ticket #32468

ポートフォワードソケットのクローズ漏れ

Open Date: 2013-11-21 14:18 Last Update: 2013-11-22 14:52

Reporter:
(Anonymous)
Owner:
(del#1144)
Type:
Status:
Closed
Component:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

TeraTermでポートフォワードを行っているとサーバ側(試したのはDebian Linux)の sshdがオープンしているFD数がどんどん増加していき、そのうち

error: socket: Too many open files

となり新規のポートフォワード接続が出来なくなる。この時、

ls -1 /proc/<sshdのPID>/fd | wc -l
1024

と、FD数が同時ファイルオープン数のリミットに達していることも確認出来る。 時間が経過してもこのFD数は減ることはない。

他の数種類のSSHクライアントと比較してみたが、他はいずれも時間の経過とともに sshdがオープンしているFD数が減少していく。

TeraTermはソケットのクローズをし忘れているような気がする。

Ticket History (3/4 Histories)

2013-11-21 14:18 Updated by: None
  • New Ticket "ポートフォワードソケットのクローズ漏れ" created
2013-11-21 23:34 Updated by: (del#1144)
  • Milestone Update from (None) to Tera Term 4.80 (closed)
  • Owner Update from (None) to maya
  • Resolution Update from None to Fixed
Comment

修正してみました。これでどうでしょうか。

http://ttssh2.sourceforge.jp/snapshot/snapshot-20131121.zip

2013-11-22 09:07 Updated by: None
Comment

良いと思います。

以前のようにサーバ側のsshdのFD数が増え続けるような現象は無くなりました。 今のところエラーなども発生しません。

今回の現象は解析に非常に手間取ったので、ポートフォワードしているセッション数とかが確認出来るステータス画面とかがあると便利ですね。

2013-11-22 14:52 Updated by: (del#1144)
  • Ticket Close date is changed to 2013-11-22 14:52
  • Status Update from Open to Closed
Comment

私も1分に1回 POP3 を見に行くのに転送をしていますが、16時間以上連続で使うことはないので気付きませんでした。

# 100回くらいで発生するバグには気付いたことがあります。

TeraTerm は CHANNEL_CLOSE を受け取って CHANNEL に使うリソースなどを開放してしまっていましたので、ステータス画面があっても分からなかったでしょう。(CHANNEL_CLOSE の ACK を送っていなかったので、リモートが CHANNEL に使うリソースを開放できない状況になっていました)

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login