This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x突然经常提示Unable to handle kernel paging request at virtual address?

在运行某些程序时(很简单的程序C或Shell程序),运行久了,会提示

Unable to handle kernel paging request at virtual address e3500000
pgd = cf774000
[e3500000] *pgd=00000000
Internal error: Oops: 5 [#1]
Modules linked in:
CPU: 0 Not tainted (3.2.0 #394)
PC is at do_lookup+0x22c/0x378
LR is at 0x7fff
pc : [<c00d64b8>] lr : [<00007fff>] psr: 20000013
sp : cf6a5dd0 ip : 00000072 fp : cf6a5e14
r10: cf6a5ed8 r9 : cf010ec0 r8 : cf6a4000
r7 : ce8f3818 r6 : c00e0230 r5 : cf6a5e34 r4 : cf6a5e2c
r3 : e3500000 r2 : 00000002 r1 : cf6a5ed8 r0 : c00e0230
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c5387d Table: 8f774019 DAC: 00000015
Process sed (pid: 6644, stack limit = 0xcf6a42f0)
Stack: (0xcf6a5dd0 to 0xcf6a6000)
5dc0: c0098e30 c00d56e8 00000007 cf6a5e3c
5de0: cf6a5dfc 00000002 c01d0250 00000000 cf6a5e34 cf077006 cf6a5e2c cf6a4000
5e00: cf6a5ed8 cf077005 cf6a5e74 cf6a5e18 c00d6740 c00d6298 00000000 c00c7e3c
5e20: cf010ec0 c00d44b8 c08724e0 c01d064c cf6a5e4c 60000013 cf6a5e74 0029e101
5e40: 00000003 cf077001 c00cc4a0 cf6a5f60 00000000 cf077000 ffffff9c 00000001
5e60: cf6a4000 cf6a5ed8 cf6a5ecc cf6a5e78 c00d8bb8 c00d6610 cf6a5e8c c00c7628
5e80: cf010ec0 ce914398 43f3c4b2 00000000 cf077005 00000000 ce8f3818 ce8f7cc8
5ea0: 00000011 cf6a5f60 00000001 cf077000 ffffff9c 00000001 cf6a4000 00000000
5ec0: cf6a5f54 cf6a5ed0 c00d8ff8 c00d8b18 00000041 00000007 cf010ec0 ce8f3818
5ee0: 400918e4 bea03430 cf6a5f40 cf010ec0 ce8f3818 ce8f5e58 00000051 00000002
5f00: 00000001 00000000 00000000 00000003 cf6ec6c0 cf6ec6c8 00000000 00080000
5f20: cf6a5f54 cf6a5f30 c00e3d60 00080000 00000000 cf3d8a40 00080000 cf077000
5f40: ffffff9c 00000003 cf6a5f94 cf6a5f58 c00ca3fc c00d8fc8 cf6a5f94 cf6a5f68
5f60: 00080000 00000000 00000024 00000100 bea033b0 400e1080 400abdc8 00000005
5f80: c000f0e8 cf6a4000 cf6a5fa4 cf6a5f98 c00ca4bc c00ca318 00000000 cf6a5fa8
5fa0: c000ee80 c00ca49c bea033b0 400e1080 bea033b0 00080000 400ac960 00000000
5fc0: bea033b0 400e1080 400abdc8 00000005 00000000 00000040 400ac960 400abdc8
5fe0: 000000c3 bea03354 40091521 4009dcdc 60000010 bea033b0 00000000 00000000
[<c00d64b8>] (do_lookup+0x22c/0x378) from [<c00d6740>] (link_path_walk+0x13c/0x7e8)
[<c00d6740>] (link_path_walk+0x13c/0x7e8) from [<c00d8bb8>] (path_openat+0xac/0x3c0)
[<c00d8bb8>] (path_openat+0xac/0x3c0) from [<c00d8ff8>] (do_filp_open+0x3c/0x90)
[<c00d8ff8>] (do_filp_open+0x3c/0x90) from [<c00ca3fc>] (do_sys_open+0xf0/0x184)
[<c00ca3fc>] (do_sys_open+0xf0/0x184) from [<c00ca4bc>] (sys_open+0x2c/0x30)
[<c00ca4bc>] (sys_open+0x2c/0x30) from [<c000ee80>] (ret_fast_syscall+0x0/0x30)
Code: e51b3040 eaffffd6 e5963050 e1a0100a (e5933000)
---[ end trace 528770d6af231b1c ]---

保证程序没有问题,因为在其他linux系统(非嵌入式AM335x)中是没有问题的。

内核版本3.2.0,实在是不知道该怎么排查了,请问最有可能的情况是什么?是硬件的原因还是内核原因的可能性大些?

谢谢