修正:.NET Framework 2.0 ベースのアプリケーションを実行すると、System.AccessViolationException 例外が発生すると、またはアプリケーション ドメイン内の 2 つのスレッドで、デッドロックが発生します。

現象

発生する以下の問題のいずれかの Microsoft.NET Framework 2.0 でアプリケーションを実行するとします。

問題 1

データ破損が発生したか、 System.AccessViolationException例外が発生します。例外が発生する、次のエラー メッセージも表示されます。
読み取りまたは書き込み保護されているメモリを実行しようとします。これは多くの場合、他のメモリが破損していることを示します。
この問題は、次の条件すべてに該当する場合に発生します。

  • アセンブリは、複数のドメイン間で共有されています。
  • 軽量コード生成 (LCG) メソッドは、共有アセンブリ内の型に関連付けられます。
  • LCG メソッドは、複数のドメインで収集されます。次に、アセンブリ内のコードはジャスト イン タイム (JIT) コンパイラでコンパイルされます。
  • JIT コードと LCG メソッドの両方は、インターフェイス呼び出しを実行します。

問題 2

高いメモリ使用量を搭載したコンピューターでアプリケーションを実行すると、アプリケーションが応答を停止します。Windbg.exe ツールを使用して、問題をデバッグする場合、アプリケーション ドメイン内の 2 つのスレッドで、デッドロックが発生することがわかります。

原因

1 の問題の原因

関数になってコミットされるメモリの後、アプリケーション ドメインがリサイクルされる共通言語ランタイム (CLR) スタブであるために、データの破損が発生します。関数は、動的に生成されました。

2 の問題の原因

アプリケーションでは、1 つのスレッドは、 m_prCachedMethodPermissionsLock関数を実行するのにはロックを取得するため、応答を停止します。スレッドのガベージ コレクションに参加するが中断し、ロックを解放しません。ただし、同じアプリケーション ドメインでの協力モードでは、別のスレッドは、ロックを待機し続けます。

解決策

修正プログラムの情報

サポートされている修正プログラムは、マイクロソフトから使用できます。ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。この修正プログラムは、この資料に記載された問題があったシステムのみに対して適用してください。この修正プログラムは、今後さらにテストを行う場合があります。したがって、この問題の影響が深刻でない場合は、この修正プログラムが含まれる次のソフトウェア更新プログラムがリリースされるまで待つことをお勧めします。この修正プログラムを Microsoft Developer Network (MSDN) コード ギャラリーからダウンロードするには、次のマイクロソフト Web サイトを参照してください。
注: MSDN コード ギャラリーの修正プログラムは利用可能な言語を表示します。自分の言語が一覧に表示されない場合は、その言語用のコード ギャラリー リソース ページが使用できないためです。



または、次のマイクロソフト接続 Web サイトからこの修正プログラム ロールアップをダウンロードできます。

必要条件

.NET Framework 2.0 Service Pack 2 (SP2) または.NET Framework 3.5 Service Pack (SP1) この修正プログラムを適用するためにインストールする必要があります。

再起動の必要性

.NET Framework のインスタンスが使用されていない場合にこの修正プログラムを適用した後コンピューターを再起動する必要はありません。

修正プログラムの置き換えに関する情報

この修正プログラムは他の修正プログラムを置き換えません。

ファイル情報

修正プログラム (英語版) のファイル属性は次表のとおりです。ただし、これより新しい修正プログラムがリリースされている可能性もあります。各ファイルの日付および時刻は、世界協定時刻 (UTC) で示されています。ファイル情報に表示される時刻は、ローカル時刻に変換されています。UTC とローカル時刻との時差を確認するには、コントロール パネルの [日付と時刻] の [タイム ゾーン] タブを使用してください。
すべてサポートされている x86 ベースのバージョンの Windows Vista の SP2 および Windows Server 2008 SP2 の
ファイル名ファイル バージョンファイル サイズ日付時刻
Mscorlib.dll2.0.50727.44084,550,65621-Oct-200907:24
Mscordacwks.dll2.0.50727.4408989,00021-Oct-200907:24
Mscorwks.dll2.0.50727.44085,818,68821-Oct-200907:24
Sos.dll2.0.50727.4408388,92021-Oct-200907:24
すべてサポートされている x64 ベース バージョンの Windows Vista の SP2 および Windows Server 2008 SP2 の
ファイル名ファイル バージョンファイル サイズ日付時刻
Mscorlib.dll2.0.50727.44084,567,04021-Oct-200907:24
Mscordacwks.dll2.0.50727.44081,758,53621-Oct-200907:24
Mscorwks.dll2.0.50727.440810,061,12021-Oct-200907:24
Sos.dll2.0.50727.4408485,17621-Oct-200907:24
Itanium ベース バージョンの Windows Server 2008 SP2 がサポートされているすべての
ファイル名ファイル バージョンファイル サイズ日付時刻
Mscorlib.dll2.0.50727.44084,009,98421-Oct-200907:26
Mscordacwks.dll2.0.50727.44083,085,12821-Oct-200907:26
Mscorwks.dll2.0.50727.440820,173,12021-Oct-200907:26
Sos.dll2.0.50727.4408872,76021-Oct-200907:27
サポートされている x86 ベース バージョンの Windows 7.0 のすべての
ファイル名ファイル バージョンファイル サイズ日付時刻
Mscorlib.dll2.0.50727.49344,550,65603-Nov-200923:27
Mscordacwks.dll2.0.50727.4934995,16003-Nov-200923:27
Mscorwks.dll2.0.50727.49345,816,65603-Nov-200923:27
Sos.dll2.0.50727.4934388,93603-Nov-200923:28
サポートされている x64 ベースのすべてのバージョン 7.0 の Windows および Windows Server 2008 R2 の
ファイル名ファイル バージョンファイル サイズ日付時刻
Mscorlib.dll2.0.50727.49344,567,04003-Nov-200923:33
Mscordacwks.dll2.0.50727.49341,764,16803-Nov-200923:33
Mscorwks.dll2.0.50727.493410,058,56003-Nov-200923:33
Sos.dll2.0.50727.4934485,19203-Nov-200923:34
Itanium ベース バージョンの Windows Server 2008 R2 がサポートされているすべての
ファイル名ファイル バージョンファイル サイズ日付時刻
Mscorlib.dll2.0.50727.49344,009,98403-Nov-200923:32
Mscordacwks.dll2.0.50727.49343,085,64003-Nov-200923:32
Mscorwks.dll2.0.50727.493420,164,94403-Nov-200923:32
Sos.dll2.0.50727.4934872,76003-Nov-200923:32
すべてサポートされている x86 ベース バージョンの Windows XP、Windows Server 2000、および Windows Server 2003
ファイル名ファイル バージョンファイル サイズ日付時刻プラットフォーム
Mscordacwks.dll2.0.50727.4408989,00030-Sep-200905:12x86
Mscorlib.dll2.0.50727.44084,550,65630-Sep-200905:12x86
Mscorwks.dll2.0.50727.44085,818,68830-Sep-200905:12x86
Sos.dll2.0.50727.4408388,92030-Sep-200905:12x86

すべての x64 ベース バージョンの Windows XP、Windows Server 2000、および Windows Server 2003 をサポート
ファイル名ファイル バージョンファイル サイズ日付時刻プラットフォーム
Mscordacwks.dll2.0.50727.44081,758,53629-Sep-200923:57x64
Mscorlib.dll2.0.50727.44084,567,04029-Sep-200923:51x64
Mscorwks.dll2.0.50727.440810,061,12029-Sep-200923:55x64
Sos.dll2.0.50727.4408485,17629-Sep-200923:52x64

Itanium ベース バージョンの Windows XP、Windows Server 2000、および Windows Server 2003 のサポートされているすべての
ファイル名ファイル バージョンファイル サイズ日付時刻プラットフォーム
Mscordacwks.dll2.0.50727.44083,085,12830-Sep-200901:05IA-64
Mscorlib.dll2.0.50727.44084,009,98430-Sep-200901:03IA-64
Mscorwks.dll2.0.50727.440820,173,12030-Sep-200900:58IA-64
Sos.dll2.0.50727.4408872,76030-Sep-200901:02IA-64

状況

マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
プロパティ

文書番号:975954 - 最終更新日: 2017/02/06 - リビジョン: 1

Microsoft .NET Framework 2.0 Service Pack 2, Microsoft .NET Framework 3.5 Service Pack 1, Microsoft .NET Framework 2.0

フィードバック