任务单 #32468

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

开放日期: 2013-11-21 14:18 最后更新: 2013-11-22 14:52

报告人:
(匿名)
属主:
(del#1144)
类型:
状态:
关闭
组件:
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
Fixed
文件:
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はソケットのクローズをし忘れているような気がする。

任务单历史 (3/4 Histories)

2013-11-21 14:18 Updated by: None
  • New Ticket "ポートフォワードソケットのクローズ漏れ" created
2013-11-21 23:34 Updated by: (del#1144)
  • 处理结果 Update from to Fixed
  • 属主 Update from (无) to maya
  • 里程碑 Update from (无) to Tera Term 4.80 (关闭)
评论

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

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

2013-11-22 09:07 Updated by: None
评论

良いと思います。

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

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

2013-11-22 14:52 Updated by: (del#1144)
  • 状态 Update from 开启 to 关闭
  • Ticket Close date is changed to 2013-11-22 14:52
评论

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

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

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

Attachment File List

No attachments

编辑

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