BAD_POOL_CALLER 解決レポート その1 | はるまき的日常録

BAD_POOL_CALLER 解決レポート その1

 ここ数日、Twitter上で何度もつぶやいていたブルースクリーン(BSoD)、BAD_POOL_CALLERの原因がわかり、症状が治ったので、ここに備忘録めいて掲載。

【発生した環境】
・Windows 7 Home Premium 32bit
・中古のノートPCに上記OSを新規インストール

【症状】
 Webブラウザ上でWebページを閲覧中に突然システムが停止し、ブルースクリーンが表示される。Webブラウザの種類問わず、特定のページにアクセスすると再発。

【原因】
 0x000000c2:BAD_POOL_CALLERとは、無効なメモリプールを呼び出した際に発生する。その多くはインストールしたアプリケーションのバグ、コンピュータの部品の制御をつかさどるデバイスドライバの組み合わせや競合によるものである。

【解決方法】
 というわけで、まずはこのBSoDを発生させたドライバを洗い出す必要がある。ブルースクリーンの文章中に、原因となったドライバの情報が記されているのだが、4つの16進数で表示されているため、これを見ただけではわからない。

 そこで、BSoDが発生した際にWindowsが落とし込むDumpファイルの内容からBSoDの原因を解析するソフト、BlueScreenView を使う。
 起動すると(ここでユーザーアカウント制御ダイアログが表示されるが「はい」を選択)、BSoDが発生した時刻のDumpファイルの一覧が表示される。


図1 BlueScreenView起動画面

 一覧の中から原因を知りたいDumpをダブルクリックすると、BSoDのプロパティウィンドウが表示される。


図2 Properties画面

 Caused By DriverとFileDescriptionの行に、今回のBSoDの原因となったドライバのファイル名と名称が表示されている。
 ここではNDIS6.20ドライバーがそれである。

 NDIS(Network Driver Interface Specification)ドライバーとは、Microsoftによる標準仕様により設計されたネットワーク機器用の制御ドライバーである。
 すなわち、原因はネットワークのハードウェアに関係していることが考えられる。

 まず見直すべきものは・・・・・・ デバイスマネージャである。

 続く