ClockLauncher 置き場

スレッド:ver1.16で強制終了が頻発します
ver1.16で強制終了が頻発します 投稿者:ada 投稿日:2023/09/20(Wed) 08:48:29 No.6117
大変便利に使わせていただいております、ありがとうございます。

フォルダ/ファイルの格納数が多いフォルダをサブメニュにー展開すると高頻度で強制終了してしまいます。格納数が数百単位になると起こるようです。
ver1.11辺りから低確率で発生していましたがver1.16で頻発するようになってしまいました。

稀にエラーメッセージを出すことがありましたので以下に添付します。





Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。

************** 例外テキスト **************
System.Runtime.InteropServices.ExternalException (0x80004005): GDI+ で汎用エラーが発生しました。
場所 System.Drawing.Image.FromHbitmap(IntPtr hbitmap, IntPtr hpalette)
場所 System.Drawing.Image.FromHbitmap(IntPtr hbitmap)
場所 System.Drawing.Icon.BmpFrame()
場所 CLaunch2.Item.BaseItem.DrawMenuIcon(Graphics g, SolidBrush br_font, MouseStat mstat, Int32 x, Int32 y, Int32 w, Int32 h)
場所 CLaunch2.Item.BaseItem.DrawMenu(Graphics g, Point opos, MouseStat mstat)
場所 CLaunch2.CLaunchMenu.Draw(Graphics g, Rectangle clipRect, List`1 itmList)
場所 CLaunch2.CLaunchMenu.CLaunchMenu_Paint(Object sender, PaintEventArgs e)
場所 System.Windows.Forms.Control.OnPaint(PaintEventArgs e)
場所 System.Windows.Forms.Form.OnPaint(PaintEventArgs e)
場所 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
場所 System.Windows.Forms.Control.WmPaint(Message& m)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.Form.WndProc(Message& m)
場所 CLaunch2.BaseForm.WndProc(Message& m)
場所 CLaunch2.CLaunchMenu.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 読み込まれたアセンブリ **************
mscorlib
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9181.0 built by: NET481REL1LAST_C
コードベース:file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
CLaunch2
アセンブリ バージョン:1.16.0.0
Win32 バージョン:1.16.0.0
コードベース:file:///F:/free%20aprication/aprication/ClockLauncher2/CLaunch2.exe
----------------------------------------
System.Windows.Forms
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9181.0 built by: NET481REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9172.0 built by: NET481REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9181.0 built by: NET481REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Management
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
mscorlib.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Drawing.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing.resources/v4.0_4.0.0.0_ja_b03f5f7f11d50a3a/System.Drawing.resources.dll
----------------------------------------
System.Windows.Forms.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピューター (machine.config) の構成ファイルの jitDebugging
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。

例:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピューターに登録された
JIT デバッガーに設定されなければなりません。









Just-In-Time (JIT) デバッグを呼び出すための詳細については、
ダイアログ ボックスではなく、このメッセージの最後を参照してください。

************** 例外テキスト **************
System.ArgumentException: 使用されたパラメーターが有効ではありません。
場所 System.Drawing.Graphics.GetHdc()
場所 System.Drawing.Internal.WindowsGraphics.FromGraphics(Graphics g, ApplyGraphicsProperties properties)
場所 System.Drawing.Icon.Draw(Graphics graphics, Rectangle targetRect)
場所 System.Drawing.Icon.BmpFrame()
場所 CLaunch2.Item.BaseItem.DrawMenuIcon(Graphics g, SolidBrush br_font, MouseStat mstat, Int32 x, Int32 y, Int32 w, Int32 h)
場所 CLaunch2.Item.BaseItem.DrawMenu(Graphics g, Point opos, MouseStat mstat)
場所 CLaunch2.CLaunchMenu.Draw(Graphics g, Rectangle clipRect, List`1 itmList)
場所 CLaunch2.CLaunchMenu.CLaunchMenu_Paint(Object sender, PaintEventArgs e)
場所 System.Windows.Forms.Control.OnPaint(PaintEventArgs e)
場所 System.Windows.Forms.Form.OnPaint(PaintEventArgs e)
場所 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
場所 System.Windows.Forms.Control.WmPaint(Message& m)
場所 System.Windows.Forms.Control.WndProc(Message& m)
場所 System.Windows.Forms.Form.WndProc(Message& m)
場所 CLaunch2.BaseForm.WndProc(Message& m)
場所 CLaunch2.CLaunchMenu.WndProc(Message& m)
場所 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** 読み込まれたアセンブリ **************
mscorlib
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9181.0 built by: NET481REL1LAST_C
コードベース:file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
CLaunch2
アセンブリ バージョン:1.16.0.0
Win32 バージョン:1.16.0.0
コードベース:file:///F:/free%20aprication/aprication/ClockLauncher2/CLaunch2.exe
----------------------------------------
System.Windows.Forms
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9181.0 built by: NET481REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9172.0 built by: NET481REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9181.0 built by: NET481REL1LAST_C
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Management
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
mscorlib.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Drawing.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing.resources/v4.0_4.0.0.0_ja_b03f5f7f11d50a3a/System.Drawing.resources.dll
----------------------------------------
System.Windows.Forms.resources
アセンブリ バージョン:4.0.0.0
Win32 バージョン:4.8.9037.0 built by: NET481REL1
コードベース:file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ja_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** JIT デバッグ **************
Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、
またはコンピューター (machine.config) の構成ファイルの jitDebugging
値を system.windows.forms セクションで設定しなければなりません。
アプリケーションはまた、デバッグを有効にしてコンパイルされなければ
なりません。

例:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、
ハンドルされていない例外はすべてコンピューターに登録された
JIT デバッガーに設定されなければなりません。
Re: ver1.16で強制終了が頻発します 投稿者:mikimaru 投稿日:2023/09/20(Wed) 12:18:52 No.6118
> フォルダ/ファイルの格納数が多いフォルダをサブメニュにー展開すると高頻度で強制終了してしまいます。格納数が数百単位になると起こるようです。
> ver1.11辺りから低確率で発生していましたがver1.16で頻発するようになってしまいました。

アイコンの取得を非同期にした以降のプログラムで、バグが発生しているようです。
エラーメッセージで、アイコンの表示あたりで落ちているのが分かりました。
近日中に対策入れたお試し版を提供しますので、しばらくお待ちください。
Re^2: ver1.16で強制終了が頻発します 投稿者:ada 投稿日:2023/09/20(Wed) 12:45:49 No.6119
対応ありがとうございます。よろしくお願いします。
Re^3: ver1.16で強制終了が頻発します 投稿者:mikimaru 投稿日:2023/09/21(Thu) 08:29:44 No.6121
https://www2s.biglobe.ne.jp/~geoph/zip/claunch2_debug.zip

↑落ちているであろう箇所に例外処理を入れた暫定版を用意しました。
落ちなくなったか確認してもらえると助かります。
また、logフォルダ配下に、debug.logができていた場合は、どのプログラムのアイコン表示で落ちたか出るようにしたのでもし特定のプログラムなど法則性があれば教えてください。
Re^4: ver1.16で強制終了が頻発します 投稿者:ada 投稿日:2023/09/21(Thu) 11:51:21 No.6123
ありがとうございます。しかし残念ながら同じような頻度で落ちてしまいます。
10回ほど意図的に落としてみましたがdebug.logは生成されませんでした。しばらく使ってみて生成されたら添付させていただきますね。
Re^5: ver1.16で強制終了が頻発します 投稿者:mikimaru 投稿日:2023/09/21(Thu) 12:30:11 No.6124
> ありがとうございます。しかし残念ながら同じような頻度で落ちてしまいます。

あれ、おかしいな?落ちてる箇所見誤ったかな。
一応確認ですがVerは1.16.0.1ですよね…

もう一度、プログラム見直してみます。

6124.png

Re^6: ver1.16で強制終了が頻発します 投稿者:ada 投稿日:2023/09/21(Thu) 13:26:01 No.6125
はい、間違いなくver1.16.1です。

error.logというファイルが生成される場合がありました。しかし写真のファイルを格納しているフォルダでエラーが発生しまして、
フォルダ名やファイル名がプライベートな情報が含まれてしまうので申し訳ありませんが添付するのははばかられます。

エラーメッセージ内容としては

[System.Drawing.Image.FromHbitmap] - DrawMenuIcon:[ファイル名]/D:\[フォルダ名]\[ファイル名]:GDI+ で汎用エラーが発生しました。

といったものでした。
Re^7: ver1.16で強制終了が頻発します 投稿者:mikimaru 投稿日:2023/09/21(Thu) 18:43:17 No.6126
確認ありがとうございます。

https://www2s.biglobe.ne.jp/~geoph/zip/claunch2_debug.zip

↑プログラム差し替えたので再度試してもらえますでしょうか?
これでダメなら、Ver1.11以前の非同期でアイコン取得しない方法にする設定設けるなどしたいと思います。
Re^8: ver1.16で強制終了が頻発します 投稿者:ada 投稿日:2023/09/21(Thu) 20:38:13 No.6127
ver1.16.0.2試させていただきましたがやはり落ちてしまうようです。今回は毎回error.logに記録されるようで、

[System.Drawing.Graphics.FromHdcInternal] - TaskGetIcon:[ファイル名]/D:\[フォルダ名]\[ファイル名]:メモリが不足しています。


というエラーと上記と同じ「GDI+ で汎用エラーが発生しました。」が出ているようです。



非同期にしない設定で改善するならそれでも良いです。よろしくお願いします。
Re^9: ver1.16で強制終了が頻発します 投稿者:ada 投稿日:2023/09/21(Thu) 21:17:35 No.6128
すみません、追記ですが

思い立ってver1.10に戻してみたところ基本的には落ちないのですが、
数百個のファイルが格納してある2つのフォルダを交互にしつこくサブメニューに展開し続けるということをやると最初に添付したようなGDI+のエラーを出して落ちました。

通常は行わないような操作なので実用上は問題ないのですが一応ご報告させていただきました。
Re^10: ver1.16で強制終了が頻発します 投稿者:mikimaru 投稿日:2023/09/21(Thu) 22:45:36 No.6129
> 思い立ってver1.10に戻してみたところ基本的には落ちないのですが、
> 数百個のファイルが格納してある2つのフォルダを交互にしつこくサブメニューに展開し続けるということをやると最初に添付したようなGDI+のエラーを出して落ちました。

非同期にする以前から問題あったようですね。
引き続き対策を考えたいと思います。
Re^11: ver1.16で強制終了が頻発します 投稿者:mikimaru 投稿日:2023/09/22(Fri) 19:06:35 No.6132
> > 思い立ってver1.10に戻してみたところ基本的には落ちないのですが、
> > 数百個のファイルが格納してある2つのフォルダを交互にしつこくサブメニューに展開し続けるということをやると最初に添付したようなGDI+のエラーを出して落ちました。

C:\Windows\WinSxS
C:\Windows\SysWOW64

などファイルが大量にあるフォルダで試したところ再現しました。
完全には解決できてないですが、下記プログラムでは Ver1.10 くらいの水準にはなったかと思います。
たびたび申し訳ないですが、確認いただけると助かります。

https://www2s.biglobe.ne.jp/~geoph/zip/claunch2_debug.zip
Re^12: ver1.16で強制終了が頻発します 投稿者:ada 投稿日:2023/09/22(Fri) 21:06:33 No.6134
確認したところ、サブメニュー展開が少なくとも数十回程度では落ちないようになりました。100回くらいしつこくやると落ちるようです。

あと「あのファイルどこにあったっけ?」というような体で階層を連続で移動したり違うフォルダを次々に展開すると落ちやすいみたいです。
Re^13: ver1.16で強制終了が頻発します 投稿者:mikimaru 投稿日:2023/09/22(Fri) 21:23:17 No.6135
> 確認したところ、サブメニュー展開が少なくとも数十回程度では落ちないようになりました。100回くらいしつこくやると落ちるようです。
> あと「あのファイルどこにあったっけ?」というような体で階層を連続で移動したり違うフォルダを次々に展開すると落ちやすいみたいです。

とりあえず落ちるの緩和されたようでよかったです。
根本原因特定できず根が深そうな問題なので、あとは気長に対策しようと思います。
確認ありがとうございました。
Re^14: ver1.16で強制終了が頻発します 投稿者:ada 投稿日:2023/09/22(Fri) 21:41:42 No.6136
対応ありがとうございました。根本原因特定を祈念いたします。
ページのトップへ戻る

- WebForum -