アプリケーションはVC++6.0で開発されています。これをマルチスレッドおよびマルチプロセッサ環境でその依存サービスとともに実行すると、文字列形式や文字列コピーなどの文字列操作を試行すると、依存サービスの1つがクラッシュします。ただし、これはシングルプロセッサ環境では観察されず、ほとんどの場合、コールスタックは次のようになります。
mfc42u!CFixedAlloc :: Alloc + 82 005b5b64 00000038 005b5b64
mfc42u!CString :: AllocBuffer + 3f 00000038 00000038 005b5b64
mfc42u!CString :: AllocBeforeWrite + 31 00000038 0a5bfdbc 005b5b64
mfc42u!CString :: AssignCopy + 13 00000038 057cb83f 0a5bfe90
mfc42u!CString :: operator = + 4b
誰もがそのような問題に直面しました。