Skip to content

panic したので保存された crash dump を mdb で解析してもらい原因を突き止めてもらうセッションログ #99

@satokaz

Description

@satokaz

(原因はある程度当たりがつく) panic が発生したので、ちょうど良いやと codex を使って原因を突き止めてもらったログ (codex のsession log から生成)。
どういう流れで作業するのか眺めたく(クソ長い

結論:

解析結果です。結論から言うと、今回の panic は tun/tap カーネルモジュール起因です。

  • 発生: 2026-03-12 13:35:49 JST
  • UUID: 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
  • panic: BAD TRAP: type=7 (#nm Device not available)

根拠:

  1. panic スタックが tun:tunchmsg.constprop.0 -> tun:tunwsrv
  2. trap 時の CR0TS ビットが立っている (...<...,ts,...>)
  3. dump 内 RIP (0xfffffffff42a4991) の逆アセンブルで movd %rdx,%xmm0 など SIMD 命令が見える
  4. panic 直前に tun/tap 読み込み時の署名検証失敗警告あり
    • WARNING: Signature verification of module /usr/kernel/drv/amd64/tun failed
    • .../tap failed
  5. /usr/kernel/drv/amd64/tuntap は IPS 管理外(pkg contents でヒットなし)かつ署名なし(elfsign verify

ここから Codex CLI Replay

  • Source JSONL: rollout-2026-03-12T14-11-26-019ce074-f36f-7813-8090-e411f51b16d5.jsonl
  • Session ID: 019ce074-f36f-7813-8090-e411f51b16d5
  • Session Timestamp (UTC): 2026-03-12T05:11:26.834Z
  • Model: gpt-5.3-codex

以下は Codex CLI の表示順に合わせた再現ログです(内部 token_count などのノイズイベントは省略)。

Turn 1

[05:11:57Z] USER
直近 panic しましたか?

[05:12:02Z] ASSISTANT THINKING

**Planning panic log checks**

[05:12:04Z] ASSISTANT COMMENTARY
直近の panic 発生有無を確認します。まずカーネルログと systemd ジャーナルに panic 関連記録があるかを見ます。

[05:12:04Z] TOOL CALL exec_command

{"cmd":"dmesg | rg -i \"panic|kernel panic|oops\" | tail -n 20","max_output_tokens":4000}
dmesg | rg -i "panic|kernel panic|oops" | tail -n 20

[05:12:04Z] TOOL CALL exec_command

{"cmd":"journalctl -k --no-pager | rg -i \"panic|kernel panic|oops\" | tail -n 20","max_output_tokens":4000}
journalctl -k --no-pager | rg -i "panic|kernel panic|oops" | tail -n 20

[05:12:04Z] TOOL CALL exec_command

{"cmd":"last -x --time-format iso | head -n 30","max_output_tokens":4000}
last -x --time-format iso | head -n 30

[05:12:04Z] TOOL OUTPUT exec_command (call_id=call_hLgSOJwjsHK4oA61ofAodfLS)

Chunk ID: 0bcc1f
Wall time: 0.0518 seconds
Process exited with code 2
Original token count: 18
Output:
usage: tail [+/-[n][lbc][f]] [file]
       tail [+/-[n][l][r|f]] [file]

[05:12:04Z] TOOL OUTPUT exec_command (call_id=call_cZH6Q9H2WuD8DFT5zpfi4ixh)

Chunk ID: 84ecd7
Wall time: 0.0507 seconds
Process exited with code 2
Original token count: 36
Output:
/usr/bin/bash: 行 1: journalctl: コマンドが見つかりません
usage: tail [+/-[n][lbc][f]] [file]
       tail [+/-[n][l][r|f]] [file]

[05:12:04Z] TOOL OUTPUT exec_command (call_id=call_UYxjeIH6Y5KVvfFRqkbrnRQB)

Chunk ID: 029478
Wall time: 0.0510 seconds
Process exited with code 0
Original token count: 16
Output:
usage: last [-n number] [-f filename] [-a ] [name | tty] ...

[05:12:07Z] ASSISTANT THINKING

**Adapting log retrieval for non-systemd systems**

[05:12:09Z] ASSISTANT COMMENTARY
コマンド仕様がこの環境で少し異なるため、互換コマンドで再確認します。dmesg/var/log/* のログから panic を直接検索します。

[05:12:09Z] TOOL CALL exec_command

{"cmd":"uname -a; which dmesg; date","max_output_tokens":2000}
uname -a; which dmesg; date

[05:12:09Z] TOOL CALL exec_command

{"cmd":"dmesg 2>/dev/null | rg -i \"panic|kernel panic|oops\" | tail -20","max_output_tokens":4000}
dmesg 2>/dev/null | rg -i "panic|kernel panic|oops" | tail -20

[05:12:09Z] TOOL CALL exec_command

{"cmd":"ls -1 /var/log 2>/dev/null","max_output_tokens":4000}
ls -1 /var/log 2>/dev/null

[05:12:09Z] TOOL OUTPUT exec_command (call_id=call_MQVxki1MvHvuZOHG41SO4Xag)

Chunk ID: 08193f
Wall time: 0.0503 seconds
Process exited with code 0
Original token count: 32
Output:
SunOS instance-20250730-0923 5.11 11.4.86.201.2 i86pc i386 i86pc kvm
/usr/bin/dmesg
2026年03月12日 (木) 14時12分09秒 JST

[05:12:09Z] TOOL OUTPUT exec_command (call_id=call_hlIlnBEEqS1DxTu3jjPuNyzF)

Chunk ID: 0fbcaa
Wall time: 0.0505 seconds
Process exited with code 0
Original token count: 211
Output:
Mar 12 13:37:05.814 instance-20250730-0923 ntpd[529]: [ID 702911 daemon.notice] Command line: /usr/lib/inet/ntpd -c /system/volatile/ntp_redirect.conf --pidfile /var/run/ntp.pid --panicgate
Mar 12 13:37:06.217 instance-20250730-0923 savecore: [ID 570001 daemon.notice] reboot after panic: BAD TRAP: type=7 (#nm Device not available) rp=ffffe33000ec6840 addr=0
Mar 12 13:37:07.679 instance-20250730-0923 DESC: The system has rebooted after a kernel panic.
Mar 12 13:37:07.679 instance-20250730-0923 REC-ACTION: If savecore is not enabled then please take steps to preserve the crash image. Use 'fmdump -Vp -u 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b' to view more panic detail. Please refer to the associated reference document at http://support.oracle.com/msg/SUNOS-8000-KL for the latest service procedures and policies regarding this diagnosis.

[05:12:09Z] TOOL OUTPUT exec_command (call_id=call_PvlOmqjij9Xh86ZwZprFnsTf)

Chunk ID: 9eabdc
Wall time: 0.0511 seconds
Process exited with code 0
Original token count: 19
Output:
authlog
firewall
ikev2
install
ipsec
pkg
puppetlabs
pykmip
ssm
syslog
zones

[05:12:12Z] ASSISTANT THINKING

**Preparing panic log analysis**

[05:12:12Z] ASSISTANT COMMENTARY
dmesg には「panic 後リブート」の記録がありました。時刻と詳細を確定するために fmdump でも確認します。

[05:12:13Z] TOOL CALL exec_command

{"cmd":"fmdump -Vp -u 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b 2>/dev/null | head -120","max_output_tokens":6000}
fmdump -Vp -u 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b 2>/dev/null | head -120

[05:12:13Z] TOOL OUTPUT exec_command (call_id=call_bHfBe82yLAx3spbfj80bnfCG)

Chunk ID: dea5aa
Wall time: 0.0510 seconds
Process exited with code 0
Original token count: 412
Output:
TIME                           UUID                                 SUNW-MSG-ID
 3月 12 2026 13:37:07.675049000 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b SUNOS-8000-KL 

  TIME                 CLASS                                 ENA
   3月 12 13:37:06.2174 ireport.os.sunos.panic.dump_pending_on_device 0x0000000000000000

nvlist version: 0
	version = 0x0
	class = list.suspect
	uuid = 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
	code = SUNOS-8000-KL
	diag-time = 1773290227 670835
	de = fmd:///module/software-diagnosis
	fault-list-sz = 0x1
	topo-uuid = 6d73eeec-9060-49ac-bbd8-dcafe2a64f25
	topo-time = 0x69b242f3
	fault-list = (array of embedded nvlists)
	(start fault-list[0])
	nvlist version: 0
		class = defect.sunos.kernel.panic
		certainty = 0x64
		asru = sw:///:path=/var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		resource = sw:///:path=/var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		version = 0x2
		savedir = /var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		os-instance-uuid = 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		panicstr = BAD TRAP: type=7 (#nm Device not available) rp=ffffe33000ec6840 addr=0
		thread-stacks-version = 0x1
		thread-stacks = 
				stack[0] = unix:die+167 () | unix:trap+116f () | unix:cmninttrap+c5 () | tun:tunchmsg.constprop.0+61 () | tun:tunwsrv+4a8 () | genunix:runservice+3f () | genunix:queue_service+43 () | genunix:stream_service+71 () | genunix:taskq_d_thread+c1 () | unix:thread_start+8 () | 
		crashtime = 1773290149
		panic-time = Thu Mar 12 13:35:49 2026 JST
	(end fault-list[0])

	fault-status = 0x1
	__case_state = 0x1
	__ttl = 0x1
	__tod = 0x69b242f3 0x283c6e28
	__hrt = 63185053355


[05:12:15Z] ASSISTANT THINKING

**Checking recent panic logs**

[05:12:16Z] TOOL CALL exec_command

{"cmd":"fmdump -Vp 2>/dev/null | head -200","max_output_tokens":6000}
fmdump -Vp 2>/dev/null | head -200

[05:12:16Z] TOOL OUTPUT exec_command (call_id=call_2G686odrdg4FowmBWIaIL5qR)

Chunk ID: 726c13
Wall time: 0.0507 seconds
Process exited with code 0
Original token count: 1539
Output:
TIME                           UUID                                 SUNW-MSG-ID
 3月 12 2026 13:37:07.675049000 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b SUNOS-8000-KL 

  TIME                 CLASS                                 ENA
   3月 12 13:37:06.2174 ireport.os.sunos.panic.dump_pending_on_device 0x0000000000000000

nvlist version: 0
	version = 0x0
	class = list.suspect
	uuid = 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
	code = SUNOS-8000-KL
	diag-time = 1773290227 670835
	de = fmd:///module/software-diagnosis
	fault-list-sz = 0x1
	topo-uuid = 6d73eeec-9060-49ac-bbd8-dcafe2a64f25
	topo-time = 0x69b242f3
	fault-list = (array of embedded nvlists)
	(start fault-list[0])
	nvlist version: 0
		class = defect.sunos.kernel.panic
		certainty = 0x64
		asru = sw:///:path=/var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		resource = sw:///:path=/var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		version = 0x2
		savedir = /var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		os-instance-uuid = 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		panicstr = BAD TRAP: type=7 (#nm Device not available) rp=ffffe33000ec6840 addr=0
		thread-stacks-version = 0x1
		thread-stacks = 
				stack[0] = unix:die+167 () | unix:trap+116f () | unix:cmninttrap+c5 () | tun:tunchmsg.constprop.0+61 () | tun:tunwsrv+4a8 () | genunix:runservice+3f () | genunix:queue_service+43 () | genunix:stream_service+71 () | genunix:taskq_d_thread+c1 () | unix:thread_start+8 () | 
		crashtime = 1773290149
		panic-time = Thu Mar 12 13:35:49 2026 JST
	(end fault-list[0])

	fault-status = 0x1
	__case_state = 0x1
	__ttl = 0x1
	__tod = 0x69b242f3 0x283c6e28
	__hrt = 63185053355

TIME                           UUID                                 SUNW-MSG-ID
 3月 12 2026 13:37:28.320646000 e4aacbd1-ff25-4733-9c5d-c7d5e94e15f3 SAVECORE-8000-1M 

  TIME                 CLASS                                 ENA
   3月 12 13:37:28.3109 ireport.observe.oracle.solaris.utility.savecore.dump_available 0x0000000000000000

nvlist version: 0
	version = 0x0
	class = list.suspect
	uuid = e4aacbd1-ff25-4733-9c5d-c7d5e94e15f3
	code = SAVECORE-8000-1M
	diag-time = 1773290248 317118
	de = fmd:///module/software-diagnosis
	fault-list-sz = 0x1
	topo-uuid = 6d73eeec-9060-49ac-bbd8-dcafe2a64f25
	topo-time = 0x69b242f3
	fault-list = (array of embedded nvlists)
	(start fault-list[0])
	nvlist version: 0
		version = 0x0
		class = alert.oracle.solaris.utility.savecore.dump_available
		certainty = 0x64
		resource = sw:///:path=/var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		bundle = 0
		properties = (embedded nvlist)
		nvlist version: 0
			algorithm = immediate
			class = alert.oracle.solaris.utility.savecore.dump_available
			clear-timeout = 0x3c
			type = alert
			dict = SAVECORE
		(end properties)

		retire = 0
		response = 0
		payload = (embedded nvlist)
		nvlist version: 0
			os-instance-uuid = 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
			dump-files = vmdump.0 vmdump-zfs.0
			savedir = /var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		(end payload)

	(end fault-list[0])

	fault-status = 0x1
	__case_state = 0x1
	__ttl = 0x1
	__tod = 0x69b24308 0x131cab70
	__hrt = 84661717290

TIME                           UUID                                 SUNW-MSG-ID
 3月 12 2026 13:38:28.324208000 e4aacbd1-ff25-4733-9c5d-c7d5e94e15f3 FMD-8000-4M Repaired 

  TIME                 CLASS                                 ENA
   3月 12 13:37:28.3109 ireport.observe.oracle.solaris.utility.savecore.dump_available 0x0000000000000000

nvlist version: 0
	version = 0x0
	class = list.repaired
	uuid = e4aacbd1-ff25-4733-9c5d-c7d5e94e15f3
	code = FMD-8000-4M
	diag-time = 1773290248 317118
	de = fmd:///module/fmd
	fault-list-sz = 0x1
	topo-uuid = 6d73eeec-9060-49ac-bbd8-dcafe2a64f25
	topo-time = 0x69b242f3
	fault-list = (array of embedded nvlists)
	(start fault-list[0])
	nvlist version: 0
		version = 0x0
		class = alert.oracle.solaris.utility.savecore.dump_available
		certainty = 0x64
		resource = sw:///:path=/var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		bundle = 0
		properties = (embedded nvlist)
		nvlist version: 0
			algorithm = immediate
			class = alert.oracle.solaris.utility.savecore.dump_available
			clear-timeout = 0x3c
			type = alert
			dict = SAVECORE
		(end properties)

		retire = 0
		response = 0
		payload = (embedded nvlist)
		nvlist version: 0
			os-instance-uuid = 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
			dump-files = vmdump.0 vmdump-zfs.0
			savedir = /var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		(end payload)

	(end fault-list[0])

	fault-status = 0x40
	__case_state = 0x5
	__ttl = 0x1
	__tod = 0x69b24344 0x13530580
	__hrt = 144665278925

TIME                           UUID                                 SUNW-MSG-ID
 3月 12 2026 13:38:28.325481000 e4aacbd1-ff25-4733-9c5d-c7d5e94e15f3 FMD-8000-6U Resolved 

  TIME                 CLASS                                 ENA
   3月 12 13:37:28.3109 ireport.observe.oracle.solaris.utility.savecore.dump_available 0x0000000000000000

nvlist version: 0
	version = 0x0
	class = list.resolved
	uuid = e4aacbd1-ff25-4733-9c5d-c7d5e94e15f3
	code = FMD-8000-6U
	diag-time = 1773290248 317118
	de = fmd:///module/fmd
	fault-list-sz = 0x1
	topo-uuid = 6d73eeec-9060-49ac-bbd8-dcafe2a64f25
	topo-time = 0x69b242f3
	fault-list = (array of embedded nvlists)
	(start fault-list[0])
	nvlist version: 0
		version = 0x0
		class = alert.oracle.solaris.utility.savecore.dump_available
		certainty = 0x64
		resource = sw:///:path=/var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		bundle = 0
		properties = (embedded nvlist)
		nvlist version: 0
			algorithm = immediate
			class = alert.oracle.solaris.utility.savecore.dump_available
			clear-timeout = 0x3c
			type = alert
			dict = SAVECORE
		(end properties)

		retire = 0
		response = 0
		payload = (embedded nvlist)
		nvlist version: 0
			os-instance-uuid = 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
			dump-files = vmdump.0 vmdump-zfs.0
			savedir = /var/crash/data/6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b
		(end payload)

	(end fault-list[0])

	fault-status = 0x40
	__case_state = 0x5
	__ttl = 0x1
	__tod = 0x69b24344 0x13667228
	__hrt = 144666552469


[05:12:19Z] ASSISTANT THINKING

**Crafting concise panic confirmation**

[05:12:20Z] ASSISTANT FINAL
はい、直近で発生しています。
2026-03-12 13:35:49 JST にカーネル panic(BAD TRAP: type=7)が起き、13:37 頃に「panic後に再起動」の記録があります(UUID: 6f01e6d3-ebee-46fe-8bf0-ac6cf2d74e8b)。

[05:12:20Z] TASK COMPLETE

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions