内蔵マザーボードでは、次のカーネルパニックが発生します。
3.10カーネルを使用しています。
カーネルパニックの原因を分析しています。
カーネルパニックメッセージが表示されますPID(735)
。
Feb 22 19:40:28 TEST kenel: CPU: 0 `PID: 735` Comm: cat Not tainted 3.10.73 #2
Feb 22 19:40:28 TEST kernel: Process cat `(pid: 735`, stack limit = 0xee46c238)
PIDはカーネルパニックキラーを意味しますか?
これは私の完全なカーネルパニックメッセージです。
カーネルパニックはとても難しい友達のようです... :(
Feb 22 19:40:28 TEST kernel: Unable to handle kernel NULL pointer dereference at virtual address 0000000c
Feb 22 19:40:28 TEST kernel: pgd = c0004000
Feb 22 19:40:28 TEST kernel: [0000000c] *pgd=00000000
Feb 22 19:40:28 TEST kernel: Internal error: Oops: 17 [#1] PREEMPT SMP ARM
Feb 22 19:40:28 TEST kernel: Modules linked in: m2i_trn g_m2i libcomposite iptable_filter ip_tables smsc95xx usbnet mousedev rh_special_switches pn5xx_i2c mram tsc2007 spicc buzzer cover backlight device_info [last unloaded: spi_fieldbus]
Feb 22 19:40:28 TEST kernel: CPU: 0 PID: 735 Comm: cat Not tainted 3.10.73 #2
Feb 22 19:40:28 TEST kernel: task: ee404000 ti: ee46c000 task.ti: ee46c000
Feb 22 19:40:28 TEST kernel: PC is at set_page_dirty+0x20/0x68
Feb 22 19:40:28 TEST kernel: LR is at set_page_dirty+0xc/0x68
Feb 22 19:40:28 TEST kernel: pc : [<c00a3c50>] lr : [<c00a3c3c>] psr: a0000013
Feb 22 19:40:28 TEST kernel: sp : ee46de48 ip : 0002f9f9 fp : b6ffa000
Feb 22 19:40:28 TEST kernel: r10: ee46dee0 r9 : ee46de84 r8 : b6ffc000
Feb 22 19:40:28 TEST kernel: r7 : c0fd3860 r6 : 00000000 r5 : c0fd3860 r4 : ee3d87ec
Feb 22 19:40:28 TEST kernel: r3 : 00000000 r2 : 40080068 r1 : c0fd3860 r0 : 00000012
Feb 22 19:40:28 TEST kernel: Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Feb 22 19:40:28 TEST kernel: Control: 10c5387d Table: 2eb3c04a DAC: 00000015
Feb 22 19:40:28 TEST kernel:
Feb 22 19:40:28 TEST kernel: PC: 0xc00a3bd0:
Feb 22 19:40:28 TEST kernel: 3bd0 e2505000 1a000001 e1a00005 e8bd8038 e375001c e2841048 03a0001a 13a00019
Feb 22 19:40:28 TEST kernel: 3bf0 eb0456e6 eafffff7 e92d4010 e1a04000 eb002f48 e590304c e5933010 e3130c02
Feb 22 19:40:28 TEST kernel: 3c10 08bd8010 e5943000 e3130a02 08bd8010 e1a00004 e3a0100d e8bd4010 eaffdee6
Feb 22 19:40:28 TEST kernel: 3c30 e92d4038 e1a05000 eb002f3a e3500000 0a00000a e5903044 e1a01005 e3a00012
Feb 22 19:40:28 TEST kernel: 3c50 e593400c eb044d0a e59f3034 e1a00005 e3540000 01a04003 e12fff34 e8bd8038
Feb 22 19:40:28 TEST kernel: 3c70 e5953000 e3130010 18bd8038 e1a01005 e3a00004 eb045711 e2700001 33a00000
Feb 22 19:40:28 TEST kernel: 3c90 e8bd8038 c00fd924 e92d4030 e1a04000 e24dd00c eb002f1f e5943000 e1a05000
Feb 22 19:40:28 TEST kernel: 3cb0 e3130001 0a00002b e3500000 0a000003 e590304c e5933010 e3130001 0a000004
Feb 22 19:40:28 TEST kernel:
Feb 22 19:40:28 TEST kernel: LR: 0xc00a3bbc:
Feb 22 19:40:28 TEST kernel: 3bbc e92d4038 e1a04002 e5923044 e5933000 e12fff33 e2505000 1a000001 e1a00005
Feb 22 19:40:28 TEST kernel: 3bdc e8bd8038 e375001c e2841048 03a0001a 13a00019 eb0456e6 eafffff7 e92d4010
Feb 22 19:40:28 TEST kernel: 3bfc e1a04000 eb002f48 e590304c e5933010 e3130c02 08bd8010 e5943000 e3130a02
Feb 22 19:40:28 TEST kernel: 3c1c 08bd8010 e1a00004 e3a0100d e8bd4010 eaffdee6 e92d4038 e1a05000 eb002f3a
Feb 22 19:40:28 TEST kernel: 3c3c e3500000 0a00000a e5903044 e1a01005 e3a00012 e593400c eb044d0a e59f3034
Feb 22 19:40:28 TEST kernel: 3c5c e1a00005 e3540000 01a04003 e12fff34 e8bd8038 e5953000 e3130010 18bd8038
Feb 22 19:40:28 TEST kernel: 3c7c e1a01005 e3a00004 eb045711 e2700001 33a00000 e8bd8038 c00fd924 e92d4030
Feb 22 19:40:28 TEST kernel: 3c9c e1a04000 e24dd00c eb002f1f e5943000 e1a05000 e3130001 0a00002b e3500000
Feb 22 19:40:28 TEST kernel:
Feb 22 19:40:28 TEST kernel: SP: 0xee46ddc8:
Feb 22 19:40:28 TEST kernel: ddc8 000000a8 0000006d b6f6a000 c105ace0 00000000 ffffffff 0000006d c06c8f40
Feb 22 19:40:28 TEST kernel: dde8 c00a3c50 a0000013 ffffffff ee46de34 b6ffc000 c000dd98 00000012 c0fd3860
Feb 22 19:40:28 TEST kernel: de08 40080068 00000000 ee3d87ec c0fd3860 00000000 c0fd3860 b6ffc000 ee46de84
Feb 22 19:40:28 TEST kernel: de28 ee46dee0 b6ffa000 0002f9f9 ee46de48 c00a3c3c c00a3c50 a0000013 ffffffff
Feb 22 19:40:28 TEST kernel: de48 326c375f ee3d87ec ee3d87e8 c00b8db0 ee46de58 ee785c00 c0f51b1c edef6f60
Feb 22 19:40:28 TEST kernel: de68 ee93edb8 326c375f ee46c000 ee93edb8 b6ffc000 b6ffbfff 60000013 00000000
Feb 22 19:40:28 TEST kernel: de88 fffffffe 00000000 ee46c000 edef6f60 ffffffff ee46dee0 00000000 00000000
Feb 22 19:40:28 TEST kernel: dea8 ee46c000 ee785c40 00000000 c00b98c0 00000000 ee46c000 edef6c60 ee46df08
Feb 22 19:40:28 TEST kernel:
Feb 22 19:40:28 TEST kernel: R1: 0xc0fd37e0:
Feb 22 19:40:28 TEST kernel: 37e0 40080068 ee913501 000010ea 00000000 00000001 c0fd37d4 c0fd3a34 00000000
Feb 22 19:40:28 TEST kernel: 3800 40080068 ee913501 000010e2 00000000 00000001 c0f94cf4 c0fd3754 00000000
Feb 22 19:40:28 TEST kernel: 3820 40080068 ee913501 000010da 00000000 00000001 c0fd3694 c0fd3734 00000000
Feb 22 19:40:28 TEST kernel: 3840 4002002c ef074d64 00000038 ffffffff 00000001 c0f92af4 c0f8ed94 00000000
Feb 22 19:40:28 TEST kernel: 3860 40080068 ee97a400 000b6ffa 00000000 00000001 c0fbbeb4 c0f91674 00000000
Feb 22 19:40:28 TEST kernel: 3880 4002002c ef074d64 00000033 ffffffff 00000001 c0fa6034 c0f94574 00000000
Feb 22 19:40:28 TEST kernel: 38a0 40000000 00000000 00000002 ffffffff 00000000 c0fc8a14 c0f91514 00000000
Feb 22 19:40:28 TEST kernel: 38c0 40080068 ee913501 00001146 00000000 00000001 c0fd8d54 c0f92d34 00000000
Feb 22 19:40:28 TEST kernel:
Feb 22 19:40:28 TEST kernel: R4: 0xee3d876c:
Feb 22 19:40:28 TEST kernel: 876c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Feb 22 19:40:28 TEST kernel: 878c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Feb 22 19:40:28 TEST kernel: 87ac 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Feb 22 19:40:28 TEST kernel: 87cc 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Feb 22 19:40:28 TEST kernel: 87ec 305b375f 00000000 31af57df 305d375f 00000000 00000000 00000000 00000000
Feb 22 19:40:28 TEST kernel: 880c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Feb 22 19:40:28 TEST kernel: 882c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Feb 22 19:40:28 TEST kernel: 884c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Feb 22 19:40:28 TEST kernel:
Feb 22 19:40:28 TEST kernel: R5: 0xc0fd37e0:
Feb 22 19:40:28 TEST kernel: 37e0 40080068 ee913501 000010ea 00000000 00000001 c0fd37d4 c0fd3a34 00000000
Feb 22 19:40:28 TEST kernel: 3800 40080068 ee913501 000010e2 00000000 00000001 c0f94cf4 c0fd3754 00000000
Feb 22 19:40:28 TEST kernel: 3820 40080068 ee913501 000010da 00000000 00000001 c0fd3694 c0fd3734 00000000
Feb 22 19:40:28 TEST kernel: 3840 4002002c ef074d64 00000038 ffffffff 00000001 c0f92af4 c0f8ed94 00000000
Feb 22 19:40:28 TEST kernel: 3860 40080068 ee97a400 000b6ffa 00000000 00000001 c0fbbeb4 c0f91674 00000000
Feb 22 19:40:28 TEST kernel: 3880 4002002c ef074d64 00000033 ffffffff 00000001 c0fa6034 c0f94574 00000000
Feb 22 19:40:28 TEST kernel: 38a0 40000000 00000000 00000002 ffffffff 00000000 c0fc8a14 c0f91514 00000000
Feb 22 19:40:28 TEST kernel: 38c0 40080068 ee913501 00001146 00000000 00000001 c0fd8d54 c0f92d34 00000000
Feb 22 19:40:28 TEST kernel:
Feb 22 19:40:28 TEST kernel: R7: 0xc0fd37e0:
Feb 22 19:40:28 TEST kernel: 37e0 40080068 ee913501 000010ea 00000000 00000001 c0fd37d4 c0fd3a34 00000000
Feb 22 19:40:28 TEST kernel: 3800 40080068 ee913501 000010e2 00000000 00000001 c0f94cf4 c0fd3754 00000000
Feb 22 19:40:28 TEST kernel: 3820 40080068 ee913501 000010da 00000000 00000001 c0fd3694 c0fd3734 00000000
Feb 22 19:40:28 TEST kernel: 3840 4002002c ef074d64 00000038 ffffffff 00000001 c0f92af4 c0f8ed94 00000000
Feb 22 19:40:28 TEST kernel: 3860 40080068 ee97a400 000b6ffa 00000000 00000001 c0fbbeb4 c0f91674 00000000
Feb 22 19:40:28 TEST kernel: 3880 4002002c ef074d64 00000033 ffffffff 00000001 c0fa6034 c0f94574 00000000
Feb 22 19:40:28 TEST kernel: 38a0 40000000 00000000 00000002 ffffffff 00000000 c0fc8a14 c0f91514 00000000
Feb 22 19:40:28 TEST kernel: 38c0 40080068 ee913501 00001146 00000000 00000001 c0fd8d54 c0f92d34 00000000
Feb 22 19:40:28 TEST kernel:
Feb 22 19:40:28 TEST kernel: R9: 0xee46de04:
Feb 22 19:40:28 TEST kernel: de04 c0fd3860 40080068 00000000 ee3d87ec c0fd3860 00000000 c0fd3860 b6ffc000
Feb 22 19:40:28 TEST kernel: de24 ee46de84 ee46dee0 b6ffa000 0002f9f9 ee46de48 c00a3c3c c00a3c50 a0000013
Feb 22 19:40:28 TEST kernel: de44 ffffffff 326c375f ee3d87ec ee3d87e8 c00b8db0 ee46de58 ee785c00 c0f51b1c
Feb 22 19:40:28 TEST kernel: de64 edef6f60 ee93edb8 326c375f ee46c000 ee93edb8 b6ffc000 b6ffbfff 60000013
Feb 22 19:40:28 TEST kernel: de84 00000000 fffffffe 00000000 ee46c000 edef6f60 ffffffff ee46dee0 00000000
Feb 22 19:40:28 TEST kernel: dea4 00000000 ee46c000 ee785c40 00000000 c00b98c0 00000000 ee46c000 edef6c60
Feb 22 19:40:28 TEST kernel: dec4 ee46df08 ee785c00 ee785c00 ee46c000 c00bf4ec c0f696e0 0025ceb0 ee785c00
Feb 22 19:40:28 TEST kernel: dee4 00000001 00000000 00000000 ffffffff c045ec74 00000000 00000072 00000400
Feb 22 19:40:28 TEST kernel:
Feb 22 19:40:28 TEST kernel: R10: 0xee46de60:
Feb 22 19:40:28 TEST kernel: de60 c0f51b1c edef6f60 ee93edb8 326c375f ee46c000 ee93edb8 b6ffc000 b6ffbfff
Feb 22 19:40:28 TEST kernel: de80 60000013 00000000 fffffffe 00000000 ee46c000 edef6f60 ffffffff ee46dee0
Feb 22 19:40:28 TEST kernel: dea0 00000000 00000000 ee46c000 ee785c40 00000000 c00b98c0 00000000 ee46c000
Feb 22 19:40:28 TEST kernel: dec0 edef6c60 ee46df08 ee785c00 ee785c00 ee46c000 c00bf4ec c0f696e0 0025ceb0
Feb 22 19:40:28 TEST kernel: dee0 ee785c00 00000001 00000000 00000000 ffffffff c045ec74 00000000 00000072
Feb 22 19:40:28 TEST kernel: df00 00000400 ee912000 00000000 c045ec74 00000000 c045e9dc 00000001 c045e7f8
Feb 22 19:40:28 TEST kernel: df20 00000000 c045ec74 ee785c30 ee785c00 00000000 ee404000 ee785c00 c0029360
Feb 22 19:40:28 TEST kernel: df40 ee4042fc c00302a0 00000020 00000001 c0680eb4 00000000 00060006 c004fa88
Feb 22 19:40:28 TEST kernel: Process cat (pid: 735, stack limit = 0xee46c238)
Feb 22 19:40:28 TEST kernel: Stack: (0xee46de48 to 0xee46e000)
Feb 22 19:40:28 TEST kernel: de40: 326c375f ee3d87ec ee3d87e8 c00b8db0 ee46de58 ee785c00
Feb 22 19:40:28 TEST kernel: de60: c0f51b1c edef6f60 ee93edb8 326c375f ee46c000 ee93edb8 b6ffc000 b6ffbfff
Feb 22 19:40:28 TEST kernel: de80: 60000013 00000000 fffffffe 00000000 ee46c000 edef6f60 ffffffff ee46dee0
Feb 22 19:40:28 TEST kernel: dea0: 00000000 00000000 ee46c000 ee785c40 00000000 c00b98c0 00000000 ee46c000
Feb 22 19:40:28 TEST kernel: dec0: edef6c60 ee46df08 ee785c00 ee785c00 ee46c000 c00bf4ec c0f696e0 0025ceb0
Feb 22 19:40:28 TEST kernel: dee0: ee785c00 00000001 00000000 00000000 ffffffff c045ec74 00000000 00000072
Feb 22 19:40:28 TEST kernel: df00: 00000400 ee912000 00000000 c045ec74 00000000 c045e9dc 00000001 c045e7f8
Feb 22 19:40:28 TEST kernel: df20: 00000000 c045ec74 ee785c30 ee785c00 00000000 ee404000 ee785c00 c0029360
Feb 22 19:40:28 TEST kernel: df40: ee4042fc c00302a0 00000020 00000001 c0680eb4 00000000 00060006 c004fa88
Feb 22 19:40:28 TEST kernel: df60: c0680eb4 ef391d40 00000000 ee46c000 000000f8 c000e3e8 ee46c000 00000000
Feb 22 19:40:28 TEST kernel: df80: 00000000 c0030a20 00000000 000700de b6fd9760 b6fd9760 000000f8 c0030aa4
Feb 22 19:40:28 TEST kernel: dfa0: 00000000 c000e240 000700de b6fd9760 00000000 000700ca b6ff84c0 00000000
Feb 22 19:40:28 TEST kernel: dfc0: 000700de b6fd9760 b6fd9760 000000f8 00000002 00000000 00010000 00000000
Feb 22 19:40:28 TEST kernel: dfe0: 000000f8 be8b5474 b6f6afc3 b6f14276 60000030 00000000 00000000 00000000
Feb 22 19:40:28 TEST kernel: [<c00a3c50>] (set_page_dirty+0x20/0x68) from [<c00b8db0>] (unmap_single_vma+0x4d0/0x63c)
Feb 22 19:40:28 TEST kernel: [<c00b8db0>] (unmap_single_vma+0x4d0/0x63c) from [<c00b98c0>] (unmap_vmas+0x54/0x68)
Feb 22 19:40:28 TEST kernel: [<c00b98c0>] (unmap_vmas+0x54/0x68) from [<c00bf4ec>] (exit_mmap+0xd8/0x1f8)
Feb 22 19:40:28 TEST kernel: [<c00bf4ec>] (exit_mmap+0xd8/0x1f8) from [<c0029360>] (mmput+0x48/0xf4)
Feb 22 19:40:28 TEST kernel: [<c0029360>] (mmput+0x48/0xf4) from [<c00302a0>] (do_exit+0x244/0x878)
Feb 22 19:40:28 TEST kernel: [<c00302a0>] (do_exit+0x244/0x878) from [<c0030a20>] (do_group_exit+0x3c/0xb0)
Feb 22 19:40:28 TEST kernel: [<c0030a20>] (do_group_exit+0x3c/0xb0) from [<c0030aa4>] (__wake_up_parent+0x0/0x18)
Feb 22 19:40:28 TEST kernel: Code: 0a00000a e5903044 e1a01005 e3a00012 (e593400c)
Feb 22 19:40:28 TEST kernel: ---[ end trace 28aa0afec355b4f9 ]---
Feb 22 19:40:28 TEST kernel: Fixing recursive fault but reboot is needed!
答え1
パニックが発生すると、プログラムはcat
PID 735で実行されます。つまり、PID 735を使用するプロセスのコンテキストでエラーが発生します。これはcatプログラムが間違ったことをすることを意味しません。欠陥はカーネルにあり、どんな状況でもパニックを起こすべきではありません(実際にはroot権限を使用しようとしない限り)。 catプログラムが特定のデバイスを読み書きするときに呼び出されるデバイスドライバにパニックを引き起こすバグが存在する可能性があります。あるいは、完全に関連していない割り込みが原因で発生する可能性があります。すべての割り込みハンドラは、何らかの方法でそのプロセスを処理しなくても、現在実行中のプロセスのコンテキストで実行されます。
ご存知のように、カーネルパニックをデバッグするのは簡単な作業ではありません。