[GSOD]win32kfull!SetMagnificat... ノート

[GSOD]win32kfull!SetMagnificationInputTransform で SYSTEM_SERVICE_EXCEPTION が発生し、プロセスが終了する

Windows 11 Insider Experimental Build 26340.9233 では、2 回の SYSTEM_SERVICE_EXCEPTION ブルースクリーン クラッシュが発生しました。対応するミニダンプの分析により、障害のある関数、コールスタック、およびプロセスが完全に一致するなど、同一の障害詳細が明らかになりました。クラッシュは一貫して Windows のプロセス終了シーケンス中に発生しました。具体的には、システムはプロセスの関連デスクトップ オブジェクトの破棄と、拡大鏡入力変換状態のクリーンアップ中に失敗しました。WinDbg による分析では、問題は win32kfull!SetMagnificationInputTransform に特定されました。この関数でのヌル ポインターの逆参照、特にメモリ アドレス 0 からの読み取りの試みが、0xC0000005 例外を引き起こしました。コールスタックは、クラッシュが NtTerminateProcess から発生し、プロセスおよびデスクトップのクリーンアップに関連する複数のカーネル関数を介して連鎖していることを示しています。クリティカル パスには、デスクトップの破棄と、それに続く拡大鏡入力変換の無効化が含まれます。両方のクラッシュは、同じストップ コード、例外タイプ、障害ハッシュ、およびトリガー プロセスである codex-command-runner-0.149.0-alpha.4.1.exe を示しました。これは高い再現性を示しており、ランダムなハードウェア エラーの可能性を排除します。この問題は、codex-command-runner アプリケーションの終了時にトリガーされるようで、一時的または分離されたデスクトップの作成と破棄が関与している可能性があります。実際のメモリアクセス違反は、Windows のカーネルである win32kfull.sys 内で発生します。通常の状況では、Windows はユーザー モード プロセスが終了したり、そのデスクトップ オブジェクトが破棄されたりする際に、拡大鏡入力変換の状態を安全にクリーンアップする必要があります。現在の動作は、win32kfull!SetMagnificationInputTransform 関数がオブジェクトにアクセスする前に検証に失敗し、システム全体のクラッシュにつながるため、逸脱しています。Microsoft は、ビルド 26340.9233 におけるオブジェクトのライフサイクル、ヌル ポインター チェック、および拡大鏡入力変換クリーンアップ パス内の潜在的な競合状態を調査するよう求められています。特に、Magnifier に関する変更と、短命なデスクトップの処理方法に注意を払う必要があります。