【#dotnet】IPGlobalProperties.GetActiveTcpConnections()メソッドを呼び出すと派手にメモリーリークする件
関連記事
- 【ChatGPT o4】祝日なのに仕事ーバテすぎー今夜こそ絶命だーモルモルモル 【2025年03月20日(木)】
- 【#CSharp】制御系が動き出したべ 【2025年02月20日(木)】
- 【#CSharp】ひっさしぶりにガッツリなC#案件をやっているぞー 【2025年02月19日(水)】
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
NetFramework4.8時代のアプリを.Net5に載せ替え(試作じゃげ)
ソケット通信サーバ化しているサービスアプリですわん(クライアント側はIoTセンサ群)
移植終わって
(けっこうWindowsベッタリな記述しておった.べったり部の分離がめんどくせーじゃったが)
試走.あっさり動いた(sjisな文字コード起因で2,3度Exceptionしたけど汗)
んじゃ,IoTセンサをソケット通信で繋いでみるかねぇ~
データも上がってくる,まぁ,問題無しじゃな....
ん?
なんじゃ,この派手な使用メモリーの増加わわわっ!
これは人類滅亡級にヤバい!!
Net4.8時代には出てなかったぞ,これ(出てれば10秒で気がつくレベル)
なんか,うち実装のシステム側でメモリ解放orリソース解放が漏れてるかねぇ?
メモリ使用のスナップショットを取ってみたが,レポート内容はメモリ量に大きな変化はなし
っちゅうか,ガベージコレクタGCが走りまくっているのに,グラフは一本調子で上がりまくり
GCが効いてないってことは
マネージメモリじゃなくて
アンマネージ系が解放漏れしてるか?
こやつにアンマネージな実装は一切無いんで,なら,dotNet5側の問題の香り...モルモルモル
ソースを追っかけたら,TCPIPソケットのコネクション死活監視部がおかしいのが判明
(これ10ミリ秒おきに呼ばれる...呼び出し数がちと多すぎな気も微汗)
protected bool isClientConnected(TcpClient ClientSocket) { int cnt = 0; IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties(); //↓この行がおかしい TcpConnectionInformation[] tcpConnections = ipProperties.GetActiveTcpConnections(); foreach (TcpConnectionInformation c in tcpConnections) { TcpState stateOfConnection = c.State; if (c.LocalEndPoint.Equals(ClientSocket.Client.LocalEndPoint) && c.RemoteEndPoint.Equals(ClientSocket.Client.RemoteEndPoint)) { if (stateOfConnection == TcpState.Established) { cnt++; } else { } } } tcpConnections = null; ipProperties = null; return (cnt > 0); }IPGlobalProperties.GetActiveTcpConnections()メソッドを呼び出すたんびに,メモリが増えていくぞー
ぐぐってみたら...
IPGlobalProperties.GetActiveTcpConnections()を使うとメモリが増える@MSDN
フレームワークの下層で
メモリの解放ロジックがバグっているって書いてある...ドロドロドロ
unityとのクロス運用のため実装の変更やったらバグったとかなんとか?
こりゃ,更新版がリリースされるまで
IPGlobalProperties.GetActiveTcpConnections()メソッドは使用禁止じゃな(爆
そのうち,更新版が出てくるやろ,大丈夫やろっ!?
dotNet5はかなり良さげじゃげ
細かい不具合(↑のはデカイ不具合じゃけど)はあるけど,まぁ,使えるわこりゃ
dotNet5時代に入っているし,Windows11やし
本格的にdotNet5を使わんといかんはず
コメント
兵庫 城崎温泉 旅館で火事 ほぼ消し止められる
東海道新幹線 停電のため運転見合わせ 区間が拡大 原因調査中
【霧島山】新燃岳:活発化してた火山性地震,ピタッと止まった(25/4/26)
今日は落雷,ひょうに厳重警戒じゃげな(25/4/14)
中日本高速道路 ETCシステム障害 7都県 一部の専用レーン閉鎖(25/4/6)
iPhone米価格は相互関税で30─40%上昇か、上位機種は2300ドルも
【地震】大隅半島東方沖で地震:宮崎市などで震度4 津波の心配なし(25/4/3)
「ジャパニーズウイスキー」の基準“法律で明確化を”業界団体
【#桜】国富:大坪の一本桜を見物に行った!咲いてなかったドロドロドロ(25/3/22)