【#dotnet】IPGlobalProperties.GetActiveTcpConnections()メソッドを呼び出すと派手にメモリーリークする件
関連記事
- なんと!今週の土曜日も仕事してますた.来週の土曜日も仕事臭い.TCPソケット通信をゴリゴリ書いてる 【2025年08月30日(土)】
- 【ChatGPT o4】祝日なのに仕事ーバテすぎー今夜こそ絶命だーモルモルモル 【2025年03月20日(木)】
- 【#CSharp】制御系が動き出したべ 【2025年02月20日(木)】
- 【#CSharp】ひっさしぶりにガッツリなC#案件をやっているぞー 【2025年02月19日(水)】
- 今週もひたすらモノ書き #JAVA 祭りがまだまだ続く そろそろC#を書かせろー 【2024年12月04日(水)】
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を使わんといかんはず
コメント
台風一過なのに今日も猛暑予想.秋が来ないぞい
【霧島山】新燃岳が噴火 噴煙高度火口上5500m(25/8/28)
日産「GT-R」生産終了 スポーツカーの開発環境 厳しさ増す
火球か?隕石か?「夜なのに明るく」「カメラが真っ白になるほどの光」九州や西日本各地で目撃あいつぐ 空気の振動も観測
ひょっとして,大規模にやらかしてました?ぎんゆぅ~さん,落ちてた模様(爆
【津波】宮崎県沿岸に若干の海面変動予報(25/8/17)
【特別警報】熊本県に大雨特別警報 発令 九州の高速道路も通行止め(25/8/11)