アプリケーションが辞書翻訳中にクラッシュする可能性があります。この問題が発生すると、Windows Applicationイベント ログに下記のようなエントリーが出力されます:
Faulting application name: w3wp.exe, version: X.X.XXXX.XXXX, time stamp: 0x23456789
Faulting module name: clr.dll, version: X.X.XXXX.X, time stamp: 0x12345678
Exception code: 0xc00000fd
この問題は言語フォールバック機能が有効化された状態で、2つ以上の言語が循環言語フォールバック依存関係を形成している際に発生します。循環言語フォールバックの例としては、日本語のフォールバック言語が英語で、英語のフォールバック言語が日本語となっている場合などがこれに該当します。
ソリューションがこの問題の影響を受けているかどうかを確認するには、以下の手順を実施してください:
- KB1000546の「メモリ ダンプ ファイルの収集:条件付き」セクション配下の「2. 特定の初回マネージド例外に基づいてメモリ ダンプ ファイルを収集する」を参考に、「StackOverflowException (0xc00000fd」に基づいてメモリダンプ ファイルを収集します。
- 影響を受けているスレッドのスタック トレースを調査します。
問題が発生している場合、スタック トレースには「Sitecore.Globalization.DefaultTranslate.TryTranslateTextByLanguage(string key, DictionaryDomain domain, Language language, out string phrase, params object[] parameters)」メソッドの呼び出しを行う複数の連続したフレームが含まれています。
この問題を解決するには、以下の手順に従ってください:
- ソリューションをSitecore XP 10.3.0またはそれ以降のバージョンにアップグレードします。
- Sitecore XP 10.2.0の場合、以下のオプションのいずれかを検討してください:
- ソリューションをSitecore XP10.2.1にアップグレードします。
- KB1001564から最新の累積的hotfixをダウンロードし、インストールします。
- Sitecore XP 10.1.0~10.1.2の場合、以下のオプションのいずれかを検討してください:
- ソリューションをSiteccore XP 10.1.3にアップグレードします。
- KB1001554から最新の累積的hotfixをダウウンロードし、インストールします。
- Sitecore XP 10.0.0の場合、KB1001419から最新の累積的hotfixをダウンロードし、インストールします。
- Sitecore XP 9.3の場合、KB1001415から最新の累積的hotfixをダウンロードし、インストールします。
(上記のHotfixをインストールせずに)この問題の影響を緩和するには、循環言語フォールバック依存関係を手動で止める必要があります。これは、「/sitecore/system/Languages/」配下の各言語の「Fallback Language」フィールドの値から循環的な依存関係を引き起こしている言語を特定し、必要に応じて1つ以上の言語の「Fallback Language」フィールドの値を変更してください。