.Net フレーム ワークを更新した後、アプリケーションが頻繁にクラッシュします。以下は、イベント ビューアで見つかったアプリケーション イベント ログです。
エラーが発生しているアプリケーション名: MyApp.exe、バージョン: Version of my App、タイム スタンプ: 0x5885f545 エラーが発生しているモジュール名: ntdll.dll、バージョン: 6.1.7601.23677、タイム スタンプ: 0x589c957a 例外コード: 0xc015000f エラー オフセット: 0x00084269 エラーが発生しているプロセス ID: 0x %9 障害のあるアプリケーションの開始時刻: 0x%10 障害のあるアプリケーションのパス: %11 障害のあるモジュールのパス: %12 レポート ID: %13 障害のあるパッケージの完全な名前: %14 障害のあるパッケージ相対アプリケーション ID: %15
また、イベントログにも以下のエラーが見つかりました。
アプリケーション: MyApp.exe .Net Framework バージョン: v4.0.30319
説明: 未処理の例外が発生したため、プロセスが終了しました。例外情報: 例外コード c015000f、例外アドレス 77994269
私にとっては、ntdll.dll と .Net バージョンの間に互換性の問題があるようです。.Net 4.0.30319 と共にインストールする必要のある KB はありますか?
クラッシュ ダンプを分析しています。コール スタックの下に表示されます。
0 0042eb84 7566171a ntdll!NtWaitForMultipleObjects+0x15
01 0042ec20 75551a08 KERNELBASE!WaitForMultipleObjectsEx+0x100
02 0042ec68 75554200 kernel32!WaitForMultipleObjectsExImplementation+0xe0
03 0042ec84 755780ec kernel32!WaitForMultipleObjects+0x18
04 0042ecf0 75577fab kernel32!WerpReportFaultInternal+0x186
05 0042ed04 755778a0 kernel32!WerpReportFault+0x70
06 0042ed14 7557781f kernel32!BasepReportFault+0x20
07 0042eda0 77395b67 kernel32!UnhandledExceptionFilter+0x1af
08 0042eda8 77395a44 ntdll!__RtlUserThreadStart+0x62
09 0042edbc 773958d1 ntdll!_EH4_CallFilterFunc+0x12
0a 0042ede4 773834c9 ntdll!_except_handler4+0x8e
0b 0042ee08 7738349b ntdll!ExecuteHandler2+0x26
0c 0042ee2c 7738343c ntdll!ExecuteHandler+0x24
0d 0042eeb8 77330143 ntdll!RtlDispatchException+0x127
0e 0042eeb8 773a41c9 ntdll!KiUserExceptionDispatcher+0xf
0f 0042f3e0 7555544c ntdll!RtlDeactivateActivationContext+0x154
10 0042f3f0 055e70ce kernel32!DeactivateActCtx+0x31
11 0042f434 013e1fd1 mydll!Mydll::Function+0x8e
問題は Windows 2008 にあります。同じ .Net バージョンと ntdll.dll バージョン 6.1.7601.17514 を持つマシンの 1 つで、アプリケーションは正常に動作します。
ただし、ntdll.dll バージョン6.1.7601.23677でのみ、アプリケーションがクラッシュします。