[XADM] 深い階層で子フォルダを削除中にスタック オーバーフロー

この記事は、以前は次の ID で公開されていました: JP254035
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
概要
この資料では、フォルダを階層ごと削除しようとした際に、インフォメーション ストア (以下、IS) でスタック オーバーフローとなる現象について記述しています。

この問題は、フォルダの階層の深さとコンピュータの構成 (メモリのサイズやプロセッサ速度) に依存します。

なお、Windows NT および Exchange Server の正しいデバッグ用シンボル ファイルがインストールされている場合、Dr.Watson ログに以下のようなスタックが記録されます。
  FramePtr  RetAddr   Param1   Param2   Param3   Function Name  066a2ffc  1015fa82  04ee7348 05af0108 066a302c ESE!DwUtilGetCurrentThreadId  066a300c  1015f561  066a3024 1000f800 00000001 ESE!CRIT::FAssertMine+0x12  066a302c  1000f7e7  066a3058 1000ae18 05ad0501 ESE!CRIT::Enter+0x11  066a3034  1000ae18  05ad0501 00000021 78001103    ESE!BFICRITPGNOEnterCriticalSection+0x17  066a3058  100080d1  05ad0500 05ad0501 00000021 ESE!FBFAssertReadLatch+0x38  066a3214  1002f560  05ad0500 04ee7300 04ee7301 ESE!ErrBFReadLatchPage+0xb1  066a3254  1002f4ef  05ad0500 05ad0501 00000021    ESE!CPAGE::ErrGetReadPage_+0x60  066a3270  100300c1  05ad0500 00000001 00000021 ESE!CPAGE::ErrGetReadPage+0x1f  066a329c  1003003b  05ad0500 00000001 00000021 ESE!CSR::ErrGetReadPage+0x61  066a32c0  1002bbc6  05ad0500 00000001 00000021 ESE!CSR::ErrGetPage+0x6b  066a32ec  10026ba3  04ee72d8 00000002 1018fafc ESE!ErrBTIGotoRoot+0x76  066a33a8  10027aa8  04ee72d8 066a33f8 00000002 ESE!ErrBTDown+0x233  066a3408  1007da01  04ee72d8 04ee7330 00000002    ESE!ErrBTGotoBookmark+0x118({...})  066a3448  101088c6  04ee72d8 066a34ac 1020767c    ESE!ErrDIRGotoBookmark+0x101({...})  066a34dc  10109998  04ee72d8 00000001 00000000 ESE!ErrRECIMove+0x516  066a3648  10063ebd  05ad0500 04ee72d8 00000008 ESE!ErrIsamSeek+0xee8  066a3668  100ca1c6  05ad0500 04ee72d8 00000008 ESE!ErrDispSeek+0x4d  066a36ac  100ca153  05ad0500 04ee72d8 00000008 ESE!JetSeek+0xd6  066a36f0  0040251c  05ad0500 04ee72d8 00000008 ESE!JetSeek+0x63  066a3708  00536d5e  00000008 0679f844 00000000 STORE!JTAB_BASE::EcSeek+0x23  066a3838  00594bae  00000000 06c27060 066a394c    STORE!EcDeleteFolderChildren+0x61  066a3908  00536e28  00000000 06c27060 066a3b64 STORE!EcDeleteFolderHier+0x230  066a3a50  00594bae  00000000 06c27060 066a3b64    STORE!EcDeleteFolderChildren+0x12b  066a3b20  00536e28  00000000 06c27060 066a3d7c STORE!EcDeleteFolderHier+0x230  066a3c68  00594bae  00000000 06c27060 066a3d7c    STORE!EcDeleteFolderChildren+0x12b  066a3d38  00536e28  00000000 06c27060 066a3f94 STORE!EcDeleteFolderHier+0x230  066a3e80  00594bae  00000000 06c27060 066a3f94    STORE!EcDeleteFolderChildren+0x12b  066a3f50  00536e28  00000000 06c27060 066a41ac STORE!EcDeleteFolderHier+0x230  066a4098  00594bae  00000000 06c27060 066a41ac    STORE!EcDeleteFolderChildren+0x12b  066a4168  00536e28  00000000 06c27060 066a43c4    STORE!EcDeleteFolderHier+0x230  066a42b0  00594bae  00000000 06c27060 066a43c4    STORE!EcDeleteFolderChildren+0x12b  066a4380  00536e28  00000000 06c27060 066a45dc STORE!EcDeleteFolderHier+0x230  066a44c8  00594bae  00000000 06c27060 066a45dc    STORE!EcDeleteFolderChildren+0x12b  066a4598  00536e28  00000000 06c27060 066a47f4 STORE!EcDeleteFolderHier+0x230  066a46e0  00594bae  00000000 06c27060 066a47f4    STORE!EcDeleteFolderChildren+0x12b  066a47b0  00536e28  00000000 06c27060 066a4a0c STORE!EcDeleteFolderHier+0x230  066a48f8  00594bae  00000000 06c27060 066a4a0c    STORE!EcDeleteFolderChildren+0x12b  066a49c8  00536e28  00000000 06c27060 066a4c24 STORE!EcDeleteFolderHier+0x230  066a4b10  00594bae  00000000 06c27060 066a4c24    STORE!EcDeleteFolderChildren+0x12b  066a4be0  00536e28  00000000 06c27060 066a4e3c STORE!EcDeleteFolderHier+0x230  066a4d28  00594bae  00000000 06c27060 066a4e3c    STORE!EcDeleteFolderChildren+0x12b  ... 250 more iterations.
原因
本現象は、Exchange サーバーがフォルダを階層ごと削除する際に使用するメソッドが、削除されるフォルダの階層を上位層から下位層へ動き、逆の再帰的削除を行うために発生します。この階層の規模が大きい場合は、スタックが大きくなりすぎてシステムで確保しているスタックの格納域が不足し、スタック オーバーフローが発生します。
解決方法
この問題を回避するには、削除したいフォルダ以下にフォルダが存在する場合には、一番下の子フォルダから始めて、上へ向かってフォルダを削除してください。
状況
マイクロソフトでは、本現象を Microsoft Exchange Server, version 5.5 SP3 における障害として確認しました。この問題に対する修正モジュールは存在しますが、十分で広範囲にわたるテストは行われておりません。したがいましてこの特定の問題に直面し、それによって重大な影響を受けているシステムにのみこの修正モジュールを適応することをお勧めいたします。それ以外の場合にはマイクロソフトでは、この修正を含む次のサービス パックがリリースされるまで待つことを推奨します。
詳細に関しては、マイクロソフト テクニカル サポートにお問い合わせください。


なお、この問題は以下のバージョン以降で修正されています。
   File Name     Version  ---------------------------   STORE.EXE     5.5.2651.50
この修正が含まれた I386 用の修正モジュールは以下の Microsoft Download Center 「Exchange 5.5 インフォメーションストア修正プログラム」よりダウンロードすることが可能です。
Exchange 5.5 インフォメーションストア修正プログラム (日本語版)
I386 URL : http://www.microsoft.com/downloads/release.asp?ReleaseID=20920

注意

この修正モジュール適用後に Microsoft Exchange Information Store サービスを起動しますと、Information Store データベースのアップグレードが行われます。アップグレードされたデータベースは Exchange サーバー 5.5 SP3 以前の環境にリストアすることはできませんのでご注意ください。したがいまして、Exchange サーバーを再インストールしてデータベースのリストアを行う場合には、以下の手順で実行していただきますようお願いいたします。

リストア手順

  1. Exchange サーバー 5.5 をインストールします。この時、バックアップを取得した環境の組織名とサイト名を合わせます。[既存サイトへの追加] は選択しないようにご注意ください。
  2. Exchange サーバー 5.5 SP3 を適用します。
  3. Exchange 5.5 インフォメーション ストア修正プログラムを適用します
  4. データベースをリストアします。この時、[既存のデータをすべて削除] を選択します。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 254035 (最終更新日 2000-06-21) をもとに作成したものです。

プロパティ

文書番号:254035 - 最終更新日: 02/14/2014 02:03:43 - リビジョン: 3.0

  • Microsoft Exchange Server 5.5 Service Pack 3
  • kbnosurvey kbarchive childfolder delete folder kbbug kbfix kbfix KB254035
フィードバック