커널 패닉 질문입니다.
글쓴이: lovejin0309 / 작성시간: 목, 2004/12/23 - 2:07오후
시스템 사양
CPU : PXA255A
ram : Samsung 32m
flash : Intel strata flash 16M (jffs2로 사용)
커널 : 2.4.18
임베디드 시스템을 공부중입니다.
Hybus사의 모델과 소스를 참조해서
bootloader, 커널, 파일 시스템(jffs2) 을 올려서 돌리면 잘 돌아가다가 다음과 같은 메세지를 출력한 후 죽어 버립니다.
혹시 원인과 해결 방법을 알 수 있을런지요. 아니면, 참고할 수 있는 자료나 책 추천 부탁드립니다. 이 것 때문에 고생이 많습니다. ㅜㅜ
Unable to handle kernel NULL pointer dereference at virtual address 00000004 pgd = c1ef4000 *pgd = a1f34801, *pmd = a1f34801, *pte = 00000000, *ppte = 00000000 Internal error: Oops: ffffffff CPU: 0 pc : [<c0085ab8>] lr : [<60000013>] Not tainted sp : c1eefe98 ip : c03c8d80 fp : c1eefeac r10: c1ac4660 r9 : 005a2000 r8 : 00000000 r7 : c0061100 r6 : 00000000 r5 : 000001f0 r4 : c01f45e0 r3 : 00000000 r2 : 00000000 r1 : c01f45e8 r0 : 00000800 Flags: nzCv IRQs off FIQs on Mode SVC_32 Segment user Control: 397F Table: A1EF4000 DAC: 00000015 Process tar (pid: 71, stackpage=c1eef000) Stack: (0xc1eefe88 to 0xc1ef0000) fe80: 60000013 c0085ab8 20000093 ffffffff c0244140 005a2000 fea0: c1eeff0c c1eefeb0 c00e0da8 c0085a20 00000000 000001d2 00000000 00000800 fec0: c02d3acc c1ac4780 00000800 00000000 c0244140 0000e2f8 00951d08 00000800 fee0: 00000800 c0244140 005a2000 00000000 00000000 c1ac4660 00000000 00000800 ff00: c1eeff78 c1eeff10 c0082b84 c00e0c54 c0181ebc 41560000 00000800 c0244158 ff20: c02eeaf8 000005a2 c1ac46c8 00000800 00000000 00002000 c1ac4710 c1e39de0 ff40: 0202c4f0 c1e39dc0 00000000 00560000 00002800 c1e39dc0 ffffffea 00000000 ff60: 0202a4f0 c1eee000 00000030 c1eeffa4 c1eeff7c c008e8a8 c0082650 c0177004 ff80: c1eeffac 00002800 0202a4f0 00000000 00000004 c0062824 00000000 c1eeffa8 ffa0: c00626a0 c008e7d8 00002800 c01763d4 00000003 0202a4f0 00002800 02029fb4 ffc0: 00002800 0202a4f0 00000000 00000003 0000001c 00000000 00000030 bffffa18 ffe0: 0202983c bffff9f8 020153fc 400f85d4 20000010 00000003 0204e5a4 00000000 Backtrace: Function entered at [<c0085a14>] from [<c00e0da8>] r5 = 005A2000 r4 = C0244140 Function entered at [<c00e0c48>] from [<c0082b84>] Function entered at [<c0082644>] from [<c008e8a8>] Function entered at [<c008e7cc>] from [<c00626a0>] r8 = C0062824 r7 = 00000004 r6 = 00000000 r5 = 0202A4F0 r4 = 00002800 Code: e2843010 e15c0003 0a00001c e89c000c (e5823004) Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c1f40000 *pgd = a1f44001, *pmd = a1f44001, *pte = 00000000, *ppte = 00000000 Internal error: Oops: 0 CPU: 0 pc : [<00000000>] lr : [<c0062f68>] Not tainted sp : c1f47e14 ip : c1f47e14 fp : c1f47e3c r10: c01d0940 r9 : c1f47e40 r8 : c01c83d8 r7 : c01c8598 r6 : 00000000 r5 : 0000000e r4 : c03d3620 r3 : 00000000 r2 : c1f47e40 r1 : 00000000 r0 : 0000000e Flags: nZcv IRQs on FIQs on Mode SVC_32 Segment user Control: 397F Table: A1F40000 DAC: 00000015 Process bash (pid: 51, stackpage=c1f47000) Stack: (0xc1f47e04 to 0xc1f48000) 7e00: c0062f68 00000000 40000013 ffffffff c1f47e74 f8d00000 00000100 7e20: c00f58c0 60000013 ffffffff c1f46000 c1f47ef4 c1f47e40 c0062300 c0062eb8 7e40: 00000012 00000001 f8100000 00000004 c02cd000 00000012 c1f47e88 00000013 7e60: 00000000 c03b55a0 c1f46000 c1f47ef4 00000057 c1f47e88 c01073cc c00f58c0 7e80: 60000013 ffffffff 6d676553 61746e65 6e6f6974 75616620 c00a746c 00000000 7ea0: c1f47ec8 c1f47eb0 c00686c0 c006859c a035e01f c0018120 c1f3f4a0 c1f46000 7ec0: a1d500bf c026a400 c1f47f04 c1f47ed8 c007cb18 c0068650 40016000 c02cd000 7ee0: 00000013 c1f47f0c c1f47f44 c1f47ef8 c00f768c c00f56dc 40016000 00000000 7f00: c1f46000 00000000 00000000 00000000 c1f46000 c02cd978 c02cd978 c02cd000 7f20: 00000000 00000013 c03b55a0 40016000 c00f7524 00000000 c1f47f78 c1f47f48 7f40: c00f2f30 c00f7530 00000013 40016000 00000013 c03b55a0 ffffffea 00000000 7f60: 40016000 c1f46000 4018b2fc c1f47fa4 c1f47f7c c008e8a8 c00f2d64 4018b2fc 7f80: c1f47fac 00000013 4018a444 40016000 00000004 c0062824 00000000 c1f47fa8 7fa0: c00626a0 c008e7d8 00000013 c0068408 00000002 40016000 00000013 4018a444 7fc0: 00000013 4018a444 40016000 00000013 00000001 02066ad5 4018b2fc bffff508 7fe0: 4018b3cc bffff4ec 400e7a60 401365d4 20000010 00000002 ffffffff ffffffff Backtrace: Function entered at [<c0062eac>] from [<c0062300>] Function entered at [<c00f56d0>] from [<c00f768c>] r7 = C1F47F0C r6 = 00000013 r5 = C02CD000 r4 = 40016000 Function entered at [<c00f7524>] from [<c00f2f30>] Function entered at [<c00f2d58>] from [<c008e8a8>] Function entered at [<c008e7cc>] from [<c00626a0>] r8 = C0062824 r7 = 00000004 r6 = 40016000 r5 = 4018A444 r4 = 00000013 Code: bad PC value. Kernel panic: Aiee, killing interrupt handler! In interrupt handler - not syncing <1>Unable to handle kernel NULL pointer dereference at virtual address 00000000pgd = c1f40000 *pgd = a1f44001, *pmd = a1f44001, *pte = 00000000, *ppte = 00000000 Internal error: Oops: 0 CPU: 0 pc : [<00000000>] lr : [<c0062f68>] Not tainted sp : c1f47c8c ip : f8d00000 fp : c1f47cb4 r10: c01d0940 r9 : c1f47cb8 r8 : c01c83d8 r7 : c01c83d8 r6 : 00000000 r5 : 00000000 r4 : c03d3da0 r3 : 00000000 r2 : c1f47cb8 r1 : 00000000 r0 : 00000000 Flags: nZcv IRQs on FIQs on Mode SVC_32 Segment user Control: 397F Table: A1F40000 DAC: 00000015 Process bash (pid: 51, stackpage=c1f47000) Stack: (0xc1f47c7c to 0xc1f48000) 7c60: c0062f68 7c80: 00000000 40000013 ffffffff c1f47cec f8d00000 00000100 c006d3a4 60000013 7ca0: ffffffff c1f47dcc c1f47d0c c1f47cb8 c0062300 c0062eb8 00000000 00000000 7cc0: 00000000 c01e0ee8 c01cc45c c018bd40 0000000b 00000000 00000000 00000000 7ce0: c1f47dcc c1f47d0c c1f47d00 c1f47d00 c006d350 c006d3a4 60000013 ffffffff 7d00: c1f47d2c c1f47d20 c0070b78 c006d2c0 c018bd40 00000001 00000001 00000001 7d20: c1f47d48 c1f47d30 c0066ebc c0070b4c 00000000 c1f47dcc c0018120 c1f47d68 7d40: c1f47d4c c0067c9c c0066dc0 ffffffff c1f46000 00000000 c0018120 c1f47d9c 7d60: c1f47d6c c0068054 c0067c40 00000000 00000001 ffffffff 00000000 00000000 7d80: c01c8598 c01c83d8 40000013 c01d0940 c1f47db8 c1f47da0 c0068098 c0067f20 7da0: c1f47dd4 ffffffff c1f47e00 c1f47dc8 c1f47dbc c00684a4 c006807c c1f47e3c 7dc0: c1f47dcc c006241c c0068498 0000000e 00000000 c1f47e40 00000000 c03d3620 7de0: 0000000e 00000000 c01c8598 c01c83d8 c1f47e40 c01d0940 c1f47e3c c1f47e14 7e00: c1f47e14 c0062f68 00000000 40000013 ffffffff c1f47e74 f8d00000 00000100 7e20: c00f58c0 60000013 ffffffff c1f46000 c1f47ef4 c1f47e40 c0062300 c0062eb8 7e40: 00000012 00000001 f8100000 00000004 c02cd000 00000012 c1f47e88 00000013 7e60: 00000000 c03b55a0 c1f46000 c1f47ef4 00000057 c1f47e88 c01073cc c00f58c0 7e80: 60000013 ffffffff 6d676553 61746e65 6e6f6974 75616620 c00a746c 00000000 7ea0: c1f47ec8 c1f47eb0 c00686c0 c006859c a035e01f c0018120 c1f3f4a0 c1f46000 7ec0: a1d500bf c026a400 c1f47f04 c1f47ed8 c007cb18 c0068650 40016000 c02cd000 7ee0: 00000013 c1f47f0c c1f47f44 c1f47ef8 c00f768c c00f56dc 40016000 00000000 7f00: c1f46000 00000000 00000000 00000000 c1f46000 c02cd978 c02cd978 c02cd000 7f20: 00000000 00000013 c03b55a0 40016000 c00f7524 00000000 c1f47f78 c1f47f48 7f40: c00f2f30 c00f7530 00000013 40016000 00000013 c03b55a0 ffffffea 00000000 7f60: 40016000 c1f46000 4018b2fc c1f47fa4 c1f47f7c c008e8a8 c00f2d64 4018b2fc 7f80: c1f47fac 00000013 4018a444 40016000 00000004 c0062824 00000000 c1f47fa8 7fa0: c00626a0 c008e7d8 00000013 c0068408 00000002 40016000 00000013 4018a444 7fc0: 00000013 4018a444 40016000 00000013 00000001 02066ad5 4018b2fc bffff508 7fe0: 4018b3cc bffff4ec 400e7a60 401365d4 20000010 00000002 ffffffff ffffffff Backtrace: Function entered at [<c0062eac>] from [<c0062300>] Function entered at [<c006d2b4>] from [<c0070b78>] Function entered at [<c0070b40>] from [<c0066ebc>] Function entered at [<c0066db4>] from [<c0067c9c>] r6 = C0018120 r5 = C1F47DCC r4 = 00000000 Function entered at [<c0067c34>] from [<c0068054>] r7 = C0018120 r6 = 00000000 r5 = C1F46000 r4 = FFFFFFFF Function entered at [<c0067f14>] from [<c0068098>] Function entered at [<c0068070>] from [<c00684a4>] r5 = C1F47E00 r4 = FFFFFFFF Function entered at [<c006848c>] from [<c006241c>] Function entered at [<c0062eac>] from [<c0062300>] Function entered at [<c00f56d0>] from [<c00f768c>] r7 = C1F47F0C r6 = 00000013 r5 = C02CD000 r4 = 40016000 Function entered at [<c00f7524>] from [<c00f2f30>] Function entered at [<c00f2d58>] from [<c008e8a8>] Function entered at [<c008e7cc>] from [<c00626a0>] r8 = C0062824 r7 = 00000004 r6 = 40016000 r5 = 4018A444 r4 = 00000013 Code: bad PC value. Kernel panic: Aiee, killing interrupt handler! In interrupt handler - not syncing <1>Unable to handle kernel paging request at virtual address c417b000 pgd = c1f40000 *pgd = a1d02021, *pmd = a1d02021, *pte = 00000000, *ppte = 00000000 Internal error: Oops: ffffffff CPU: 0 pc : [<c4170080>] lr : [<c0062f68>] Not tainted sp : c1f47abc ip : 09c6b8d6 fp : c1f47ae4 r10: c01d0940 r9 : c1f47b30 r8 : c01c83d8 r7 : c01c8c58 r6 : 20000000 r5 : 00000044 r4 : c03bd860 r3 : c4170894 r2 : 000029dc r1 : 000029db r0 : c417078c Flags: nzcv IRQs off FIQs on Mode SVC_32 Segment user Control: 397F Table: A1F40000 DAC: 00000015 Process bash (pid: 51, stackpage=c1f47000) Stack: (0xc1f47aac to 0xc1f48000) 7aa0: c0062f68 c4170080 00000093 ffffffff 00004000 7ac0: 0000000e c1f47b30 c01c8418 c01c83d8 c1f47b30 c01d0940 c1f47b00 c1f47ae8 7ae0: c0069fec c0062eb8 c01baf30 00000002 20000000 c1f47b2c c1f47b04 c0062f68 7b00: c0069ee8 c1f47b64 f8d00000 00000100 c006d3a4 60000013 ffffffff c1f47c44 7b20: c1f47b84 c1f47b30 c0062300 c0062eb8 00000000 00000000 00000000 c01e0ee8 7b40: c01cc45c c018bd40 0000000b 00000000 00000000 00000000 c1f47c44 c1f47b84 7b60: c1f47b78 c1f47b78 c006d350 c006d3a4 60000013 ffffffff c1f47ba4 c1f47b98 7b80: c0070b78 c006d2c0 c018bd40 00000001 00000002 00000002 c1f47bc0 c1f47ba8 7ba0: c0066ebc c0070b4c 00000000 c1f47c44 c0018120 c1f47be0 c1f47bc4 c0067c9c 7bc0: c0066dc0 ffffffff c1f46000 00000000 c0018120 c1f47c14 c1f47be4 c0068054 7be0: c0067c40 c01c8418 00000001 ffffffff 00000000 00000000 c01c83d8 c01c83d8 7c00: 40000013 c01d0940 c1f47c30 c1f47c18 c0068098 c0067f20 c1f47c88 ffffffff 7c20: c1f47c78 c1f47c40 c1f47c34 c00684a4 c006807c c1f47cb4 c1f47c44 c006241c 7c40: c0068498 00000000 00000000 c1f47cb8 00000000 c03d3da0 00000000 00000000 7c60: c01c83d8 c01c83d8 c1f47cb8 c01d0940 c1f47cb4 f8d00000 c1f47c8c c0062f68 7c80: 00000000 40000013 ffffffff c1f47cec f8d00000 00000100 c006d3a4 60000013 7ca0: ffffffff c1f47dcc c1f47d0c c1f47cb8 c0062300 c0062eb8 00000000 00000000 7cc0: 00000000 c01e0ee8 c01cc45c c018bd40 0000000b 00000000 00000000 00000000 7ce0: c1f47dcc c1f47d0c c1f47d00 c1f47d00 c006d350 c006d3a4 60000013 ffffffff 7d00: c1f47d2c c1f47d20 c0070b78 c006d2c0 c018bd40 00000001 00000001 00000001 7d20: c1f47d48 c1f47d30 c0066ebc c0070b4c 00000000 c1f47dcc c0018120 c1f47d68 7d40: c1f47d4c c0067c9c c0066dc0 ffffffff c1f46000 00000000 c0018120 c1f47d9c 7d60: c1f47d6c c0068054 c0067c40 00000000 00000001 ffffffff 00000000 00000000 7d80: c01c8598 c01c83d8 40000013 c01d0940 c1f47db8 c1f47da0 c0068098 c0067f20 7da0: c1f47dd4 ffffffff c1f47e00 c1f47dc8 c1f47dbc c00684a4 c006807c c1f47e3c 7dc0: c1f47dcc c006241c c0068498 0000000e 00000000 c1f47e40 00000000 c03d3620 7de0: 0000000e 00000000 c01c8598 c01c83d8 c1f47e40 c01d0940 c1f47e3c c1f47e14 7e00: c1f47e14 c0062f68 00000000 40000013 ffffffff c1f47e74 f8d00000 00000100 7e20: c00f58c0 60000013 ffffffff c1f46000 c1f47ef4 c1f47e40 c0062300 c0062eb8 7e40: 00000012 00000001 f8100000 00000004 c02cd000 00000012 c1f47e88 00000013 7e60: 00000000 c03b55a0 c1f46000 c1f47ef4 00000057 c1f47e88 c01073cc c00f58c0 7e80: 60000013 ffffffff 6d676553 61746e65 6e6f6974 75616620 c00a746c 00000000 7ea0: c1f47ec8 c1f47eb0 c00686c0 c006859c a035e01f c0018120 c1f3f4a0 c1f46000 7ec0: a1d500bf c026a400 c1f47f04 c1f47ed8 c007cb18 c0068650 40016000 c02cd000 7ee0: 00000013 c1f47f0c c1f47f44 c1f47ef8 c00f768c c00f56dc 40016000 00000000 7f00: c1f46000 00000000 00000000 00000000 c1f46000 c02cd978 c02cd978 c02cd000 7f20: 00000000 00000013 c03b55a0 40016000 c00f7524 00000000 c1f47f78 c1f47f48 7f40: c00f2f30 c00f7530 00000013 40016000 00000013 c03b55a0 ffffffea 00000000 7f60: 40016000 c1f46000 4018b2fc c1f47fa4 c1f47f7c c008e8a8 c00f2d64 4018b2fc 7f80: c1f47fac 00000013 4018a444 40016000 00000004 c0062824 00000000 c1f47fa8 7fa0: c00626a0 c008e7d8 00000013 c0068408 00000002 40016000 00000013 4018a444 7fc0: 00000013 4018a444 40016000 00000013 00000001 02066ad5 4018b2fc bffff508 7fe0: 4018b3cc bffff4ec 400e7a60 401365d4 20000010 00000002 ffffffff ffffffff Backtrace: Function entered at [<c0062eac>] from [<c0069fec>] Function entered at [<c0069edc>] from [<c0062f68>] r6 = 20000000 r5 = 00000002 r4 = C01BAF30 Function entered at [<c0062eac>] from [<c0062300>] Function entered at [<c006d2b4>] from [<c0070b78>] Function entered at [<c0070b40>] from [<c0066ebc>] Function entered at [<c0066db4>] from [<c0067c9c>] r6 = C0018120 r5 = C1F47C44 r4 = 00000000 Function entered at [<c0067c34>] from [<c0068054>] r7 = C0018120 r6 = 00000000 r5 = C1F46000 r4 = FFFFFFFF Function entered at [<c0067f14>] from [<c0068098>] Function entered at [<c0068070>] from [<c00684a4>] r5 = C1F47C78 r4 = FFFFFFFF Function entered at [<c006848c>] from [<c006241c>] Function entered at [<c0062eac>] from [<c0062300>] Function entered at [<c006d2b4>] from [<c0070b78>] Function entered at [<c0070b40>] from [<c0066ebc>] Function entered at [<c0066db4>] from [<c0067c9c>] r6 = C0018120 r5 = C1F47DCC r4 = 00000000 Function entered at [<c0067c34>] from [<c0068054>] r7 = C0018120 r6 = 00000000 r5 = C1F46000 r4 = FFFFFFFF Function entered at [<c0067f14>] from [<c0068098>] Function entered at [<c0068070>] from [<c00684a4>] r5 = C1F47E00 r4 = FFFFFFFF Function entered at [<c006848c>] from [<c006241c>] Function entered at [<c0062eac>] from [<c0062300>] Function entered at [<c00f56d0>] from [<c00f768c>] r7 = C1F47F0C r6 = 00000013 r5 = C02CD000 r4 = 40016000 Function entered at [<c00f7524>] from [<c00f2f30>] Function entered at [<c00f2d58>] from [<c008e8a8>] Function entered at [<c008e7cc>] from [<c00626a0>] r8 = C0062824 r7 = 00000004 r6 = 40016000 r5 = 4018A444 r4 = 00000013 Code: e593c010 e59f3010 e2812001 e5802000 (e783c101) Kernel panic: Aiee, killing interrupt handler! In interrupt handler - not syncing
코드는 길지만, 좀 부탁드리겠습니다.
pc : [<4002d720>] lr : [<4004a7bc>] Not tainted sp : bffffa54 ip : 0002d198 fp : bffffa70 r10: 400667a8 r9 : 00000001 r8 : 00000000 r7 : 02080634 r6 : 0208acac r5 : 00000000 r4 : 0208498c r3 : 020849b0 r2 : bffffa54 r1 : 00000001 r0 : 0208acac Flags: nZCv IRQs on FIQs on Mode USER_32 Segment user Control: 397F Table: A1F24000 DAC: 00000015
그리고 가끔씩 로그인을 할 때, 위와 같은 메세지가 뜨면서 로그인이 안 되는 경우가 있습니다.
Forums:
여러개의 kernel oops 메시지 중에서 중요한 건 맨 처음 것입니다
여러개의 kernel oops 메시지 중에서 중요한 건 맨 처음 것입니다.
> Unable to handle kernel NULL pointer dereference at virtual address 00000004
커널 코드에서 null pointer에 접근해서 panic이 발생하였습니다.
> pc : [<c0085ab8>] lr : [<60000013>] Not tainted
System.map 파일에서 c0085ab8이 무슨 함수인지 찾아보세요.
그러면 어느 함수에서 에러가 발생했는지 알 수 있습니다.
> Function entered at [<c0085a14>] from [<c00e0da8>]
r5 = 005A2000 r4 = C0244140
> Function entered at [<c00e0c48>] from [<c0082b84>]
> Function entered at [<c0082644>] from [<c008e8a8>]
> Function entered at [<c008e7cc>] from [<c00626a0>]
각 주소를 찾아보면 어떤 순서로 함수가 불렸는지 알 수 있습니다.
그러면 앞에서 찾은 함수에서 왜 null pointer 접근이 일어났는지 찾아서 디버깅을 하시기 바랍니다.
Freedom is another word for nothing left to lose,
Nothing doesn't mean nothing if it ain't free.
댓글 달기