- 论坛徽章:
- 0
|
一直用2.4.19这个平台做嵌入式开发,最近发现个问题。
同时运行两个进程a和b。
a启动后什么都不做,只是while(1) {sleep(10);}
b启动后每隔5秒就找到a的pid,然后把a杀死,之后再启动a。
这样大概启动200次左右就会发生内核段错误。
Unable to handle kernel NULL pointer dereference at virtual address 00000000
mm = c00113a0 pgd = c2624000
*pgd = 22629001, *pmd = 22629001, *pte = 00000000, *ppte = 00000000
Internal error: Oops: 0
CPU: 0
pc : [<00000000>] lr : [<c001de90>] Not tainted
sp : c262be40 ip : c262be40 fp : c262be5c
r10: c00113a0 r9 : ffffffff r8 : c262be9c
r7 : c262be9c r6 : 00000001 r5 : 24000000 r4 : c03fdd60
r3 : 00000000 r2 : c262be9c r1 : 00000000 r0 : 00000001
Flags: NzCv IRQs off FIQs on Mode SVC_32 Segment user
Control: C000317F Table: 22624000 DAC: 00000015
Process plc (pid: 92, stack limit = 0xc262a374)
Stack: (0xc262be40 to 0xc262c000)
be40: c01fc65c c01ead94 00000001 c01fc618 c262be80 c262be60 c001df80 c001de50
be60: c0204500 c262be9c 00000001 c0037ffc 20000013 c262be98 c262be84 c001e0e8
be80: c001decc c262bed0 fefff000 c262bf04 c262be9c c001d1e0 c001e0c4 22629400
bea0: 22629001 000b0000 000002c0 000b0000 c00113a0 c2624000 c00113a0 000b0000
bec0: ffffffff c00113a0 c262bf04 c262bf08 c262bee4 c0037e2c c0037ffc 20000013
bee0: ffffffff 000b0000 c00113a0 c2696900 ffffffff c262a000 c262bf30 c262bf08
bf00: c0037e2c c0037f30 c26296bc c262bf0c c2696900 c262a000 ffffffff 000b0000
bf20: ffffffff c262bf58 c262bf34 c00230bc c0037de8 c00113bc c262a000 c01b49f4
bf40: c00113a0 000b0000 c262bfb0 c262bf8c c262bf5c c0023240 c0023060 c01fc65c
bf60: 00000000 00000007 000b0000 c01b49f4 c262bfb0 00000001 000092e0 400fa26c
bf80: c262bfac c262bf90 c00236f8 c00231dc ffffffff c262bfec 00008a08 c000317f
bfa0: 00000000 c262bfb0 c001d47c c00236d4 000aff88 00000000 0000035c 000b0000
bfc0: 00000648 bffffed4 00008a08 4001fe94 00000001 000092e0 400fa26c bffffc88
bfe0: 00000000 bffffc74 0001322c 4008c26c 20000010 ffffffff 8a000016 e51b202c
Backtrace:
Function entered at [<c001de40>] from [<c001df80>]
r7 = C01FC618 r6 = 00000001 r5 = C01EAD94 r4 = C01FC65C
Function entered at [<c001debc>] from [<c001e0e8>]
r8 = 20000013 r7 = C0037FFC r6 = 00000001 r5 = C262BE9C
r4 = C0204500
Function entered at [<c001e0b4>] from [<c001d1e0>]
r5 = FEFFF000 r4 = C262BED0
Function entered at [<c0037f20>] from [<c0037e2c>]
r8 = C262A000 r7 = FFFFFFFF r6 = C2696900 r5 = C00113A0
r4 = 000B0000
Function entered at [<c0037dd8>] from [<c00230bc>]
r8 = FFFFFFFF r7 = 000B0000 r6 = FFFFFFFF r5 = C262A000
r4 = C2696900
Function entered at [<c0023050>] from [<c0023240>]
Function entered at [<c00231cc>] from [<c00236f8>]
Function entered at [<c00236c4>] from [<c001d47c>]
r7 = C000317F r6 = 00008A08 r5 = C262BFEC r4 = FFFFFFFF
Code: bad PC value.
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing
l |
|