ずっと起動してると tween 1.2.x がOSを巻き込んで死亡する件

Tweeen (ほとんど使ってないアカウント) とmofooter (メインのアカウント) を60時間起動してみたらこうなったという参考です。

追加情報 12/9
Tweenのリソースのログをとるソフトを作ってみた

追加情報 12/14 1.2.3について
Tween 1.2.3 リリース 不具合はどうなったか



tw5
ちなみに tween側は全く使っていないアカウントなので全部で244行

tw6
一方のもふったーはメインアカウントなので 全タブ合わせて2500行のTwitがあります。

tween4
Tweenの消費メモリ約900M、もふったーは約80M
(Win7x64なのでちょっと多めになります。下にあるもう一つのもふったーは2アカウント目のもふったー公式アカウントのやつです)

60時間で GDIオブジェクトが約4000増えた tween
つまり1分に1つずつ増えているということ。これは何を意味するか。

はい、広告のロードが1分に1回でしたね。

明らかにリソースが広告のせいでリークしてると思うんだ。

ちなみに、2回実験していずれとも80時間付近でOSごとお亡くなりに…

tw7

なくなる寸前のLOG見ると3分おきに2行ずつのエラーログ吐いて死んでます

動作環境:
   オペレーティング システム: Microsoft Windows NT 6.1.7600.0
   共通言語ランタイム          : 4.0.30319.1
   Tween.exeのバージョン    : 1.2.2.0
例外 System.OutOfMemoryException: メモリが不足しています。
   場所 System.Drawing.Graphics.FromHdcInternal(IntPtr hdc)
   場所 System.Drawing.BufferedGraphicsContext.CreateBuffer(IntPtr src, Int32 offsetX, Int32 offsetY, Int32 width, Int32 height)
   場所 System.Drawing.BufferedGraphicsContext.AllocBuffer(Graphics targetGraphics, IntPtr targetDC, Rectangle targetRectangle)
   場所 System.Drawing.BufferedGraphicsContext.Allocate(IntPtr targetDC, Rectangle targetRectangle)
   場所 System.Windows.Forms.Control.WmPaint(Message& m)
   場所 System.Windows.Forms.Control.WndProc(Message& m)
   場所 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   場所 System.Windows.Forms.ToolStrip.WndProc(Message& m)
   場所 System.Windows.Forms.StatusStrip.WndProc(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   場所 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

参考になるといいんだが、ここまで問題抱えてると 正直直るまで広告一時とめた方がいいと思うんだ|・ω・)

Tween の広告 が本当に 規約違反か 追加検証
Tween の新版で 広告が問題の続報
Tween の新版で 広告が問題になってるので調べてみたよ

おすすめ

4件のフィードバック

  1. きり より:

    お知らせどもです。
    Win7x32で18時間ほど走らせておいたのですが、バージョン1.1.0.0、1.2.2.0、開発版共にGDIオブジェクトは増加しませんでした。
    ただ、いずれのバージョンでも12時間すぎからメモリやハンドル数の保持スピードが上がり始めた傾向があるので、もうしばらくデータを取ってみます。
    こちらの環境はWin7x32 SP1、mem2GB、.NET Framework 4 Full(4.0.30319.239)、IE8(8.0.7601.17514)でした。
    x64でも試してみようと思います。
    また何か気づいた点があったら教えて下さい。m(_ _)m

  2. きり より:

    Win7 x64 IE9の環境で再現確認しました。
    WebBrowserコントロールもしくはIEコンポーネントが問題を抱えているようです。
    32bit環境をメインで使っているので気づきませんでした。
    MSさんになんとかしてもらうしかないかなぁ。

  3. blackwingcat より:

    > Win7 x64 IE9の環境で再現確認しました。
    なるほど
    Tweenの最新版が普段動かせる環境が Win7(x64)しかないので
    気づかなかったなぁ
    支援用のロガーソフト作ったので使い道があれば、リーク解決に役立ててください|・ω・)ノ
    いっそ、x64版作るとか(ボソッ)

  4. より:

    Win7Pro-64-8GB-IE9環境で広告表示のトライデントコンポーネント関連予想でメモリーリークがある模様。
    1.2.3.0では動作時間が短いので未確認。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です