Skip to content

Instantly share code, notes, and snippets.

@Comamoca
Last active April 6, 2026 13:50
Show Gist options
  • Select an option

  • Save Comamoca/e994eac9c8de15ba6948322a440d946c to your computer and use it in GitHub Desktop.

Select an option

Save Comamoca/e994eac9c8de15ba6948322a440d946c to your computer and use it in GitHub Desktop.
comabook カーネルパニック調査レポート (2026-04-06)

カーネルパニック調査レポート

調査日時: 2026-04-06
対象システム: comabook (NixOS 26.05, Kernel 6.12.64)


概要

4月6日(月) 19:10:20 JST にブートが開始されたが、journald の起動直後にシステムが応答不能となり、ほぼ即時クラッシュした。次のブートは 19:32:05 JST(約22分後)に開始されており、この間に手動でリブートしたと推測される。


タイムライン

時刻 (JST) 出来事
04/06 08:07:57 前セッション(Boot -2)が正常シャットダウン
04/06 19:10:20 Boot -1 開始(パニックが発生したブート
04/06 19:10:20 journald 起動・ログ884件をフラッシュ完了
04/06 19:10:20 ここでログ途絶(パニック発生と推定)
04/06 19:32:05 Boot 0 開始(現在の正常ブート)

調査結果

ログに残っている情報

  • Boot -1 のログは全エントリが 19:10:20 に集中し、journald フラッシュ(884エントリ)を最後にログが途絶している
  • Kernel panic / Oops / Call Trace / RIP: などのパニック本文はログに残っていない
  • MCE(Machine Check Exception)・ハードウェアエラーの記録なし

pstore(クラッシュダンプ)

Boot -1 の起動時に以下のメッセージが記録されている:

Platform Persistent Storage Archival was skipped because of an unmet condition check
(ConditionDirectoryNotEmpty=/sys/fs/pstore)

→ efi_pstore は登録済みだが、前回クラッシュのデータが pstore に存在しない。パニックが発生してもフラッシュ前に電源が切れた可能性がある。

クラッシュタイミングの推定

ログが途絶した時点のシステム状態:

  • systemd-udevd が起動済み
  • systemd-timesyncd が起動済み
  • udev のコールドプラグ処理が進行中

udev によるデバイス初期化処理中(コールドプラグフェーズ) にクラッシュした可能性が高い。


原因の特定

結論: 明確な原因を特定できず

パニック本文(スタックトレース・エラーコード)がログに残っておらず、pstore にも保存されていないため、直接原因の特定には至らなかった。

可能性のある原因:

  1. ハードウェア異常(RAM・NVMe の一過性エラー)
  2. udev コールドプラグ中の特定ドライバーのバグ(i915, thunderbolt 等)
  3. 電源・熱問題による突然のシャットダウン(パニックではなく電源断の可能性)

今後の対策

再発した場合に備えて、以下の設定を推奨する:

1. クラッシュダンプを確実に保存する

configuration.nix に追加:

boot.kernelParams = [ "crash_kexec_post_notifiers" ];
boot.crashDump.enable = true;

2. カーネルのログレベルを上げる

現在 loglevel=4loglevel=7 にすると詳細が取れる:

boot.kernelParams = [ "loglevel=7" ];

3. メモリ検査(次の機会に)

# memtest86+ を実行(BIOS/UEFI から)
# または
nix-shell -p memtester --run "sudo memtester 4G 1"

4. NVMe の健全性確認

sudo nvme smart-log /dev/nvme0

一過性の問題(宇宙線による RAM ビットフリップ等)の可能性もあり、再発しなければ深刻な問題ではない。 再発する場合は上記の設定変更後に詳細ログを収集することを推奨する。

@Comamoca
Copy link
Copy Markdown
Author

Comamoca commented Apr 6, 2026

メモリ検査の結果

$ sudo nix-shell -p memtester --run "memtester 4G 1"
memtester version 4.7.1 (64-bit)
Copyright (C) 2001-2024 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 4096MB (4294967296 bytes)
got  4096MB (4294967296 bytes), trying mlock ...locked.
Loop 1/1:
  Stuck Address       : ok
  Random Value        : ok
  Compare XOR         : ok
  Compare SUB         : ok
  Compare MUL         : ok
  Compare DIV         : ok
  Compare OR          : ok
  Compare AND         : ok
  Sequential Increment: ok
  Solid Bits          : ok
  Block Sequential    : ok
  Checkerboard        : ok
  Bit Spread          : ok
  Bit Flip            : ok
  Walking Ones        : ok
  Walking Zeroes      : ok

Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment