バグ チェック 0x4E: PFN_LIST_CORRUPT
PFN_LIST_CORRUPT バグ チェックの値は 0x0000004E です。 これは、ページ フレーム番号 (PFN) リストが破損していることを示します。
重要
この記事は、プログラマー向けです。 コンピューターを使用中に、ブルー スクリーン エラーが表示された場合は、「ブルー スクリーン エラーのトラブルシューティング」を参照してください。
PFN_LIST_CORRUPT パラメーター
パラメーター 1 は違反の種類を示します。 他のパラメーターの意味は、パラメーター 1 の値によって異なります。
パラメーター 1 | パラメータ 2 | パラメーター 3 | パラメーター 4 | エラーの原因 |
---|---|---|---|---|
0x01 |
破損した ListHead 値 |
使用可能なページ数 |
0 |
リストの先頭が破損しています。 |
0x02 |
削除されるリスト内のエントリ |
物理ページ番号の最大数 |
削除されるエントリの参照カウント |
リスト エントリが破損しています。 |
0x06 |
ページ フレーム番号 |
プロトタイプ PTE |
PTE コンテンツ |
ハードウェア PTE またはプロトタイプ PTE データ構造体が破損しています。 これは、ハードウェアの単一ビット エラー、DMA 転送の破損などが原因で発生する可能性があります。 |
0x07 |
ページ フレーム番号 |
現在の共有数 |
0 |
ドライバーがロックした回数よりも多い回数をロック解除しました。 |
0x8D |
状態に一貫性がないページ フレーム番号 |
0 |
0 |
ページのないリストが破損しています。 このエラー コードは、ハードウェアの問題を示している可能性が最も高いです。 |
0x8F |
新しいページ番号 |
古いページ番号 |
0 |
空きページ リストヘッドまたはゼロ ページ リストヘッドが破損しています。 |
0x99 |
ページ フレーム番号 |
現在のページの状態 |
0 |
ページ テーブル エントリ (PTE) または PFN が破損しています。 |
0x9A |
ページ フレーム番号 |
現在のページの状態 |
削除されるエントリの参照カウント |
ドライバーは、IO 用にロックされているページを解放しようとしました。 |
原因
このエラーは通常、ドライバーが不適切なメモリ記述子リストを渡すことによって発生します。 たとえば、ドライバーが同じリストで MmUnlockPages を 2 回呼び出した場合です。
カーネル デバッガーを使用できる場合は、スタック トレースを分析します。そのためには、まず !analyze デバッグ拡張機能を使用して、バグ チェックに関する情報を表示します。この拡張機能は、根本原因を特定するために役立ちます。次に、k (スタック バックトレースの表示) コマンドのいずれかを入力して、コール スタックを表示します。