概要
端末のシャットダウン時に次のエラーが出てブルースクリーンになることがあります。
- 32bit の場合: STOP: 0x0000007E (0x80000003, ...)
- 64bit の場合: STOP: 0x0000007E (0xFFFFFFFF80000003, ...)
詳細
ReadCacheの導入された環境においては、vDisk やキャッシュ用ディスクへのアクセスは ReadCache のドライバを介して行われることになり、そのアクセスが終了した際には「完了処理」と呼ばれる処理が ReadCache ドライバ内で行われることになります。
今回の不具合は、「何らかのリクエストの完了処理が行われている間にシャットダウン処理が実行され、完了処理が終了するよりも前にシャットダウン処理が終了してしまった時」に発生するものでした。
このようなタイミングが生じることはそれ程頻度は高くないと考えられますが、 次のような環境や条件下においてシャットダウンが実行された際に発生する可能性が高くなるものと推測されます。
- ReadCache のキャッシュが溜まっていない時
- ディスクに対して高負荷なアクセスがある時
- サーバーとの通信における遅延が大きい環境
- 他のデバイスなどのシャットダウン処理にかかる時間が短い環境
また、この不具合は Visual Studio 2013 において「Visual Studio が提供するリスト形式の データ構造を扱うマクロの仕様が変わったこと」によるものでもあり、このバージョンで コンパイルするようになった ReadCache4.5 以降で発生した問題です。 (それ以前のバージョンは Visual Studio 2008 でコンパイルしていました)
この不具合に対する対処として、「シャットダウン処理が実行された後においては、 完了処理におけるリスト処理を変更する」という修正をおこないました。
対策
readcache.sys を 4.5.0.3 以降に更新してください。
更新手順は【文章番号14-003】ReadCache ドライバー (readcache.sys) の更新手順を参照してください。
更新モジュールのダウンロードはこちら