読者です 読者をやめる 読者になる 読者になる

ゆるふわで雑な日記

Microsoft系の技術情報を中心にゆるふわに綴っていく予定です

先日のCenterCLRの愚痴に含まれなかった愚痴

先日(5/10)CenterCLRで登壇(愚痴)してきたんですが、
その時の内容に含めなかった(若干趣旨から外れている気がした)内容も、
この場で愚痴にします。
≪注意≫この後の内容は、自分自身が直接担当した案件ではありませんが、
目の前(位の距離)で起こったことです。

とある機能(詳細は伏せます)の為、某社有償ライブラリを使用していました。
しばらく使用すると、OracleExceptionが発生しました。(カーソル多すぎ!!的なやつです)
こちらで作成した当該ライブラリ内のobjectのinstanceは、
using句を用いて逐次開放していたため、
某社に質問をしたそうです。
それに対する回答が中々あれだったので、ついでに紹介します。
「.NETアプリではメモリ管理にGCを利用しており、
Disposeを実施しても即座に開放される保証はありません。
GC.Collect()を逐次実行してください」
ほう… unmanage resourceの管理にGCを使用しているというのは初めて聞いた
(いや、ODP.Net自体はmanagedだからGCに管理されているのは間違いないけど)
こんなの単純にそちらのライブラリ内でのDispose(開放)漏れしょ?
回答も怖いけど、それで納得しかかっていた方も怖い…