【#dotnet】IPGlobalProperties.GetActiveTcpConnections()メソッドを呼び出すと派手にメモリーリークする件
関連記事
- 【#CSHARP】ソリューション内でサービス,Winformアプリを混在で作成させ,バイナリ出力先を同じにするとサービスが起動しない 【2024年02月08日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- 【C#】謎な改造アプリ,SIMD命令を導入して高速化しようか,思案中 【2023年11月14日(火)】
- Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング 【2023年10月18日(水)】
- 【#CSHARP】次の案件のスケルトン書いてgitサーバに登録するなどと 【2023年05月16日(火)】
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を使わんといかんはず
コメント
【#RUANG】インドネシア:ルアング山で火山が大規模噴火:愛媛で震度6弱な緊急地震速報(24/4/18)
イオンモール宮崎の辺りにイノシシが登場した,らしい
コンビニ誤交付、富士通に行政指導 原因究明と再発防止を要求―総務省
【#桜】花立公園で桜見物してきた!都井岬まで足を伸ばした!遠かった(爆
【#大谷翔平】水原一平氏、米連邦検察が銀行詐欺容疑で訴追…大谷翔平選手の口座から24億5千万円以上を不正送金
【#緊急地震速報】宮崎県日南市で震度5弱 津波の心配なし M5.2(24/2/8)
ずっと天気が悪いのぉ.菜種梅雨とはよく言ったものやじ(24/4/5)
【#暴風警報】宮崎市に暴風警報発令(24/3/26)