BASECORD / HARDWARE DIAGNOSIS

SH-PC「起動して数分でフリーズ」障害 調査レポート

2026年8月27日〜28日に多発した、メインPC(SH-PC)の連続フリーズ障害の全経緯と実測データ。COM のAIが、故障したOSを起動せずに、別SSDから起動した正常なWindows経由で読み取った記録です。

3件 CPUハードウェアエラー
4回 ブルースクリーン
7回 完全フリーズ
7個 常駐を停止済み

0. 結論(2026-08-28 04:30 更新・決定的証拠を取得)

フリーズの正体は「CPUのコアが1つ、割り込み(IPI)に応答しなくなり、他のコアが全員それを待ったまま止まる」現象です。

8/28 03:50 のフリーズで、設置したブラックボックスの効果でついにカーネルダンプ(2.18GB)が保存され、Windows純正デバッガ(WinDbg)で解析できました。
6個のCPU(#0,1,2,3,8,9)が全員 KeFlushProcessWriteBuffers → KiIpiStallOnPacketTargetsPrcb=「他のコアからの返事待ち」で固まり、同じ状態が約43秒間まったく変化しませんでした(同一スタックを2,762回連続で採取)。その他のコアは全部アイドル。
つまりソフトの暴走・メモリ不足・ディスク待ちではありません。1つのコアが割り込みに答えなくなり、システム全体が巻き込まれて停止しています。

引き金(フリーズの直前に必ずやっていた操作)=「全プロセスの一覧を取る」問い合わせ

落ちたスレッドは NtQuerySystemInformation / NtQueryInformationProcess(=プロセス一覧の取得)でした。この処理は32スレッド全部に割り込みを一斉送信して返事を待つため、応答しないコアがあると即座に全体が止まります。
これを毎秒〜数秒おきに行うもの=タスクマネージャー・各種モニターツール・監視スクリプト。「重いな」と思ってタスクマネージャーを開くと固まる、という体感はこれで説明が付きます。
対処済み:私が設置したブラックボックスも5秒ごとにこの問い合わせをしていたため、60秒ごとに変更しました(=記録は続けつつ、引き金を引く回数を1/12に)。

安定しているOS(C:)との唯一の決定的な違い=ハイパーバイザ(メモリ整合性 / VBS)が動いているかどうか

同じ機体・同じBIOSなのに、片方だけ落ちる理由を突き止めました。
・不調OS(D:)… HypervisorEnforcedCodeIntegrity = 1メモリ整合性ON → ハイパーバイザ稼働中(ダンプにも IsHyperV:1
・安定OS(C:)… VBS = 0(完全にOFF)・ハイパーバイザのログも0件
さらにダンプ上で ApicVirtualizationAvailable: 0割り込みの高速化機能(AMD AVIC)が効いていないため、コア間の割り込みが全部ハイパーバイザ経由の重い処理になります。32スレッドのRyzenでこれは最悪の組み合わせで、既知の不具合が多発している領域です。

次にやること(この順・上から順に試す)

  1. 対策1:ハイパーバイザ(メモリ整合性)を切る ― ワンクリックで用意済み。SH-PCで起動して D:\BASECORD-BLACKBOX\FIX-1-hypervisor-off.cmd(SH-PCで起動中は C:\BASECORD-BLACKBOX\…)をダブルクリック → 再起動。
     副作用:この間 WSL2 / Docker Desktop / Windowsサンドボックス / Hyper-V仮想マシン が使えなくなります。元に戻すのは同じフォルダの REVERT-1-hypervisor-on.cmd をダブルクリックするだけ。
  2. 対策2(対策1で直らなければ):BIOS設定 ― ASRock X570 Extreme4 / BIOS P5.80。
     ① Power Supply Idle Control → Typical Current Idle(Ryzenの「アイドル時に固まる」の定番対策)
     ② PBO / Curve Optimizer を無効(Auto→Disabled) ③ DOCP/XMP を無効(メモリ定格2666で動かす)
  3. 対策3:それでも落ちる場合 ― CPU(またはメモリコントローラ)自体の劣化を疑い、1枚ずつのmemtest86+CPU交換の検討へ。マザーボード交換は今も優先度が低い(マザー起因なら安定OS側でも同じ症状が出るはずのため)。

ハードウェアエラー(WHEA)3件について:8/27 17:55・18:08、8/28 00:45 に記録された Machine Check Exception(Bus/Interconnect Error ×2、Cache Hierarchy Error ×1)は今も有効な事実で、ハード側にも弱点があることを示します。ただし 8/28 の2回のフリーズでは WHEAは1件も出ていません。したがって「WHEAが直接の死因」ではなく、ハードの弱さ+ハイパーバイザ経由の割り込みという負荷条件が重なったときに固まる、と読むのが最も整合します。対策1と対策2は、この両面からそれぞれ手を打つものです。

0-旧. 最初の結論(2026-08-28 未明・参考として残置)

引き金は「起動直後に走る常駐ソフト」の可能性が高い。ただし根っこはハード寄り(メモリ/CPU/電圧のどれかが不安定)。

理由:CPU自身が「ハードウェアが壊れている」と報告する記録(WHEA / Machine Check Exception)が3件出ています。これはアプリやOSがどれだけ暴れても発生しません。一方で、同じPCの別SSDの Windows は安定して動いており、そちらには問題の常駐ソフトが1つも入っていません。
=「弱っているハードを、起動直後の重い常駐処理が毎回踏み抜いていた」という筋が最も辻褄が合います。

やったこと:疑わしい常駐7個を停止しました(元に戻せます)。マザーボード交換は保留のままで構いません。

1. 機体の構成

PC名SH-PC(不調のOS = D:ドライブ側) / 今起動中の別OS = DESKTOP-F6ULUBI(C:ドライブ側)
CPUAMD Ryzen 9 5950X 16コア32スレッド
マザーボードASRock X570 Extreme4 / BIOS P5.80(2026/03/24)
OSWindows 11 Pro build 22631(導入 2023/03/28)
ストレージSPD SP300-2TNV3(1908GB)/ Hanye HE70-2TBNHS1(1908GB)
2台とも健康状態 Healthy・摩耗0%・ストレージエラーの記録ゼロ
メモリ
(現在)
チャンネルA: 16GB F4-3600C19-16GSXWB + 8GB F4-2666C19-8GNT
チャンネルB: 16GB F4-3600C19-16GSXWB + 8GB F4-2666C19-8GNT
4枚とも実動作 2667MHz(16GB側は本来3600だが、遅い方に引きずられている)

2. 何が起きていたか(時系列)

2026-05-22 21:10
ブルースクリーン 0x116 VIDEO_TDR_ERROR(GPUが応答しない)。単発・3か月前なので今回とは別件。
2026-08-19 05:40
ブルースクリーン 0x9F DRIVER_POWER_STATE_FAILURE(スリープ復帰の失敗)。これも単発・別件。同日 GPU電力制御の常駐を導入。
2026-08-21 〜 08-24
ガレリア機・動画生成(H3/ComfyUI)関連の作業で、起動時にGPUとCPUを一斉に叩く常駐が次々追加される。
2026-08-27 15:53
ブルースクリーン 0x133 DPC_WATCHDOG_VIOLATION(処理が返ってこない=固まった時の典型)。
2026-08-27 16:29
ブルースクリーン 0xA IRQL_NOT_LESS_OR_EQUAL(Windowsの記録では原因 ntoskrnl.exe=カーネル本体。実質「原因不明」の意味)。
2026-08-27 17:55
WHEA 致命的ハードウェアエラー — Machine Check Exception / Bus/Interconnect Error(CPUの外部との通信路のエラー)。
2026-08-27 18:02 〜 22:03
ダンプも残らない完全フリーズが7回(18:02 / 18:08 / 20:07 / 20:12 / 20:14 / 20:54 / 22:03)。18:08には2件目のWHEA(Bus/Interconnect Error)。
2026-08-28 00:38 / 00:45
ブルースクリーン 0x133、直後に3件目のWHEA — Cache Hierarchy Error(CPUキャッシュの異常)。
2026-08-28 01:06
別SSDの古いWindows(C:)から起動 → 安定稼働。以降このOSから調査を実施。

3. 実測データ

3-1. WHEA(CPU自身が出したハードウェアエラー)=3件

発生時刻種類場所生データ
08-27 17:55:35Bus/Interconnect ErrorAPIC ID 0 / MCA Bank 27MciStat=0xb2a000000000080b
08-27 18:08:56Bus/Interconnect ErrorAPIC ID 0 / MCA Bank 27MciStat=0xb2a000000000080b
08-28 00:45:14Cache Hierarchy ErrorAPIC ID 9 / MCA Bank 5MciStat=0xbea0000000000108

※ 今起動している別SSDのWindows(C:)側では WHEA は0件。同じ物理マシンでも、不調OS側でだけ発生していた。

この記録の意味:WHEA は「CPUが自分で検知した訂正不能なハード異常」の通知です。ソフトのバグでは発生しません。Ryzen で Bus/Interconnect Error が出る時は、メモリのクロック設定(DOCP/XMP)や SoC 電圧が不安定なのが定番の原因です。

3-2. ブルースクリーン(Minidump)=5件+古い1件

日時停止コード意味今回との関係
08-28 00:380x133DPC_WATCHDOG_VIOLATION今回
08-27 22:030x133DPC_WATCHDOG_VIOLATION今回
08-27 16:290xAIRQL_NOT_LESS_OR_EQUAL今回
08-27 15:530x133DPC_WATCHDOG_VIOLATION今回
08-19 05:400x9FDRIVER_POWER_STATE_FAILURE別件
05-22 21:100x116VIDEO_TDR_ERROR別件

なお MEMORY.DMP(フルダンプ)は残っていません。上記はすべて Minidump からの読み取りです。

3-3. フリーズ直前の負荷(FreezeFlightRecorder の記録)

8/27 16:26 に仕込まれた記録ツールが、1分ごとにCPU使用率・空きメモリ・接続数を書き続けていました。その最後の行が示すのは——

[2026-08-28 00:57:30] cpu=5%  freeMB=35263 udp=36 tcp=256
[2026-08-28 00:58:32] cpu=9%  freeMB=34708 udp=38 tcp=236
                       ← ここで記録が途切れる(=一瞬で固まった)

3-4. ストレージ(SSD)は無罪

2台とも SMART 健康状態 Healthy・摩耗 0%、ストレージ関連のエラーイベントは1件も記録なし。「片方のOSだけ固まる=そのSSDの故障」という線は消えました。

4. 不調OS(D:)だけにあった常駐ソフト

安定している側のWindows(C:)には1つも入っていない一方、不調OS側は起動と同時にGPU・CPU・ネットワークを一斉に叩く構成になっていました。追加された時期は、ちょうどガレリア機・動画生成の作業をしていた8月19日〜24日に集中しています。

名前実体追加日処置
h3comfy8199
タスク
C:\Users\SH\h3-bench\comfy8199.cmd
ComfyUI(画像・動画生成)をポート8199で自動起動
08/21🛑 停止
h3progress
タスク
...\ComfyUI\venv\Scripts\pythonw.exe h3-progress-win.py
生成の進捗を常時監視
08/21🛑 停止
BASECORD GPU Power Control
タスク
wscript.exe "C:\BASECORD\gpu-power\Launch-GpuPower.vbs"
GPUの電力制御を常駐
08/19🛑 停止
GalleriaControl.bat
スタートアップ
node.exe ...\GalleriaControl\server.js
ガレリア機を遠隔操作するNodeサーバー常駐
08/24🛑 停止
WolChecker.bat
スタートアップ
WolChecker.ps1(他機の電源を監視)08/23🛑 停止
Ollama.lnk
スタートアップ
ローカルAIモデル実行環境の自動起動02/25🛑 停止
IdleForceSleep
タスク
C:\Users\SH\Scripts\IdleForceSleep.vbs
放置で強制スリープ(スリープ絡みのBSOD歴があるため)
06/10🛑 停止
SH-FanDaemon
タスク
fc_daemon.ps1
LibreHardwareMonitor 経由でポンプ・ファンを直接制御
06/02既に無効
(触っていない)
残したものComTunnel2222.bat(COMへのSSHトンネル=この調査の生命線)/ FreezeFlightRecorder.bat(フリーズ記録ツール)
停止の方法とやり直し:ファイル名の末尾に .OFF を付けただけです(削除していません)。元に戻したい時は .OFF を消せば復活します。
例:D:\Users\SH\h3-bench\comfy8199.cmd.OFFcomfy8199.cmd

5. 一度疑って、取り下げた説

取り下げ「8GBメモリ F4-2666C19-8GNT が犯人」説

当初、この型番が犯人だと判断しました。根拠は、過去に別PC(ai-dev)で同じ型番に1ビット反転エラー3,509件が出て、抜いたら安定した実績があり、しかもその時の宿題が「SH-PCに同じロットが混入していないか確認する」だったためです。実際に4枚中2枚がその型番でした。

しかし取り下げます。酒井さんの指摘どおり、クラッシュしていた当時この8GBは刺さっておらず、16GB×2枚だけだったためです。刺さっていなかった部品は犯人になり得ません。

6. 次にやること(この順番が最短)

  1. 常駐を止めた状態で、D:(SH-PC)を普通に起動して30分以上使う
    落ちなければ「常駐が引き金」でほぼ確定します。※ 落ちたら、その時のログはCOM側から読めます(SSHトンネルは残してあります)。
  2. それでも落ちるなら、セーフモード(ネットワーク有効)で30分
    落ちない → ドライバ側の問題。落ちる → ハード確定。ここで白黒つきます。
  3. ハード寄りと出たら、BIOSを疑う
    DOCP / XMPオフ(定格2666)にする。PBOCurve Optimizer既定値に戻すRyzenの Bus/Interconnect Error はこの2つが定番の原因です。
  4. それでも落ちるなら、16GBを1枚ずつ挿して memtest86
    CPU内蔵のメモリコントローラの劣化という線も残るため、ここまでやって切り分けます。Windows標準のメモリ診断は精度が低く、ai-devの不良も memtest でしか検出できませんでした。「異常なし」と出ても信用しないでください。
やってはいけないこと
まだ言い切れないこと:「別SSDのOSなら安定」の観測はまだ数時間ぶんしかありません。今のOSも同じ物理メモリを使っていますので、こちらが安定して見えるのは「壊れた領域をまだ踏んでいないだけ」の可能性が残ります。安定の判定は半日〜1日動かしてからにしてください。

7. この調査のやり方(記録として)

不調のOSは一度も起動していません。別SSDから起動した正常なWindows(C:)に、COMサーバーのAIがSSH逆トンネル経由で入り、不調OSのドライブ(D:)をただのデータドライブとして読み取る方法で全部調べました。

読んだもの場所
イベントログ(WHEA・Kernel-Power・BugCheck)D:\Windows\System32\winevt\Logs\System.evtx
ブルースクリーンのダンプD:\Windows\Minidump\
自動起動の一覧レジストリ(D:\Windows\System32\config\SOFTWARE 等をオフラインで読み込み)+ D:\Windows\System32\Tasks\ + スタートアップフォルダ
フリーズ直前の負荷D:\Users\SH\Scripts\FreezeFlightRecorder.log
SSDの健康状態・メモリ構成実機のWMI(起動中のWindowsから取得)

壊れたOSを起動せずに調べられるのが、この方法の利点です。起動すると「固まる → 強制電源断」を繰り返し、そのたびに証拠が壊れていきます。

8. ブラックボックス(2026-08-28 設置)― 次のフリーズを取り逃がさない仕組み

これまでの記録は60秒に1回・OSのキャッシュ経由だったため、固まった瞬間の数十秒が丸ごと欠けていました。次の起動からは以下の仕組みが動きます。設置場所は不調OS側の C:\BASECORD-BLACKBOX(正常OSから見ると D:\BASECORD-BLACKBOX)です。

仕掛け内容なぜ効くか
1秒刻みの飛行記録CPU/DPC・割り込み時間/メモリ/ページング/ディスク待ち行列/コンテキストスイッチ/プロセス数・スレッド数/GPU使用率・温度・消費電力/上位プロセス を毎秒CSVへ書き込み確定モード(WriteThrough)でディスクへ直書きするので、電源を強制で切っても直前の1行まで必ず残る
プチフリ検知記録の間隔が3秒以上空いたら「STALL ○秒」と別ログに刻む完全に固まる前の「一瞬の停止」が拾える=前兆が見える
異常の即時記録DPC30%超・割り込み30%超・空きメモリ1GB未満・重大イベントを検知した瞬間に書き出しドライバ暴走かメモリ枯渇かをその場で切り分けられる
起動時の検死レポート起動のたびに sessions\session-日時.md を自動生成。前回の最終記録時刻・最後の25行・落ち方(イベント41/ブルースクリーン1001)・WHEA・ダンプ一覧・メモリ構成・自動起動一覧を1枚に「前回どこまで生きていて、どう死んだか」が起動するだけで残る
強制ダンプ(最重要)右Ctrl + ScrollLock を2回で意図的にブルースクリーンを起こし、フリーズ中のメモリ内容を丸ごと保存ハングは通常ダンプが残らない。これが唯一「詰まっていた本体」を捕まえる手段
ダンプ設定の格上げ最小ダンプのみ → カーネルメモリダンプ/専用ダンプ領域 C:\bbdump.sys 12GB/ミニダンプ保持 5→64件原因ドライバやスタックまで追える情報量になる
イベントログ拡大システム/アプリケーション の上限を128MBへフリーズを繰り返しても古い記録が押し出されない
後から読める仕組み:記録は全部不調OS側のドライブに直接置かれます。不調OSが起動しなくても、正常OSから D:\BASECORD-BLACKBOX を開けば全部読めます。COM側の開発AIもSSH経由で同じ場所を読みます。変更前のレジストリは backup-registry\*.before.reg に退避済みで、ダブルクリックで元に戻せます。

補足:今回スケジュールされたタスク側も点検しました。BASECORD GPU Power Control / h3comfy8199 / h3progress / IdleForceSleep / SH-SensorLogger は登録が残っていますが、起動対象のファイルを退避済み(または存在しない)ため、実行されても即失敗します=常駐は止まったままです。

9. 「1つのコアが壊れているのか?」― ダンプの32コア全員分を読み直した結果(2026-08-28 追記)

結論:特定の1コアが壊れている、とは断定できません。 分かったのは「止まった側(被害者)は6コア返事をしなかった側(容疑者)は眠っていた24コアの中」ということまでです。ダンプには眠っていたコアの中身が残らないため、犯人のコア番号までは特定できません。
コア番号ダンプ時点の状態意味
0 / 1 / 2 / 3 / 8 / 9KeFlushProcessWriteBuffersKiIpiStallOnPacketTargetsPrcb で停止被害者。「全コアへの一斉連絡」を出して、返事を待ったまま固まった
4〜7 / 10〜31(24コア)アイドル(優先度0・スタックが空)この中に返事をしなかったコアがいる。眠っていたため記録が残っていない
9(トドメ)上の待機中に時計割り込みが入り KeAccumulateTicks青画面時計の遅れを検知して停止判断を下したコア

止まった処理は KeFlushProcessWriteBuffers全32コアに一斉に割り込みを送り、全員の返事を待つ処理です。1つでも返事をしないコアがあると、待っている側が全員巻き添えで固まります。タスクマネージャーや監視ツールの「プロセス一覧取得」がこれを呼びます。

「そのコアに仕事をさせて確かめる」は、この故障には効きません。
今回の失敗は「計算ができない」ではなく「深い眠りから起きて割り込みに返事ができない」です。負荷テストはコアを起こしっぱなしにするので、壊れたコアでも合格してしまいます(=偽の安全宣言になる)。
再現させるなら「ほとんどのコアを眠らせたまま、プロセス一覧取得を高速で連打する」テストが正しい形です。

この読み直しで、BIOS の Power Supply Idle Control(省電力の深い眠り=C6ステートの制御)が対策候補の筆頭に上がりました。Ryzen で「アイドル中・軽負荷中に固まる」時の定番の設定です。あわせてダンプ上で 割り込み高速化機能(AMD AVIC)が無効ApicVirtualizationAvailable = 0)でハイパーバイザ経由になっていた点も、一斉割り込みを重くしていた要因です。

10. 「何の作業中に固まったのか」―― 呼び出し元まで特定した(2026-08-28 05:40 追記)

ダンプから、固まった6コアのスレッドがどのアプリのものかまで割り出しました。

コア呼び出したアプリ(プロセス)やろうとしていた作業
2 / 9WmiPrvSE.exe(Windows標準・WMIの窓口)プロセス一覧の取得
NtQuerySystemInformationExpGetProcessInformation
0msedgewebview2.exe(親=Microsoft Teams各プロセスのCPU使用時間の取得
NtQueryInformationProcessPsQueryTotalCycleTimeProcess
1msedgewebview2.exe(親=WhatsApp
8msedgewebview2.exe(親=Windowsの検索 SearchHost)
3msedge.exeEdgeブラウザ

6つとも最後は同じ場所で止まっています=KeFlushProcessWriteBuffersKiIpiStallOnPacketTargetsPrcb全32コアに一斉に割り込みを送り、全員の返事を待つ)。

結論:どれも「普通のPCが常時やっている、ごく当たり前の作業」です。
Teams・WhatsApp・Edge のような Chromium 系アプリは、自分の子プロセスのCPU使用率を表示するために定期的にこれを呼びます。タスクマネージャーを開けば毎秒同じことが起きます。WMI も Windows 標準の仕組みです。
= 特定の常駐ソフトのバグ・暴走ではありません。「返事をしないコアが1つある」ことが本体で、アプリはそれを踏んだだけです。

同じ作業を、健全なOS(C:)=同じハードでやらせてみた

指摘のとおり、これが一番はっきりする確かめ方です。フリーズ時とまったく同じ2つのカーネル呼び出しを、6スレッドで連打し、1回ごとの所要時間を測る試験を作って実行しました(バーストの合間に休止を入れ、大半のコアを深い眠りに落としてから叩く=故障の再現条件を作っています)。

測定結果(健全OS C: ・1分間)
プロセス一覧の取得16,850回 / 最大 7.4 ミリ秒
CPU時間の取得16,850回 / 最大 0.4 ミリ秒
10ms以上かかった回数0回
50ms / 200ms / 1秒 / 5秒 以上すべて 0回

同じCPU・同じメモリ・同じ電源で、33,700回叩いて1度も引っかからない。不調OSでは同じ処理が43秒止まりました。

ただし、OSの違いは2つあります(片方だけと決めつけない)
不調OS(D:)健全OS(C:)
Windowsのバージョン24H2(build 26100)23H2(build 22631)
メモリ整合性 / VBSON(ハイパーバイザ稼働)OFF(ハイパーバイザ無し)
つまり「24H2にした」ことと「メモリ整合性がON」の両方が容疑に残ります。どちらもCPUへの一斉割り込みを重くする方向に働きます。

次の一手:不調OS側で同じ試験を走らせる(=意図的な再現)

SH-PC(不調OS)で起動して、下のファイルをダブルクリックするだけです。

C:\BASECORD-BLACKBOX\TEST-2-ipi-latency.cmd

この試験が「不調OSでだけ遅い」と出れば、原因はOS側の設定(メモリ整合性 / 24H2)で、対策1(ハイパーバイザOFF)で直る見込みが高い。
逆に「健全OSでも時々遅い」と出れば、それはハード(CPU・BIOS設定)が黒に近づきます。どちらに転んでも次が決まります。

BASECORD / SH-PC フリーズ障害 調査レポート ・ 調査日 2026-08-28(05:40 §10追記) ・ 調査主体 COM(BASECORD Ver5 Instance4) + BASECORD for Windows Ver5
このページは COM 上の公開領域に置いてあり、どのPCの BASECORD for Windows からも閲覧できます:
https://www.delivery-wine.com/share/sh-pc-freeze/