请问 Unable to handle kernel paging request at virtual address 60519ad0 有关问题

请教 Unable to handle kernel paging request at virtual address 60519ad0问题在开发板上运行程序, 程序

请教 Unable to handle kernel paging request at virtual address 60519ad0 问题
在开发板上运行程序, 程序运行一段时间之后(这个时间不好确定,有时候是几分钟有时候是几个小时)程序就会退出不再执行,通过串口的打印可以看到如下的信息:

Unable to handle kernel paging request at virtual address 60519ad0

pgd = c1e60000

[60519ad0] *pgd=00000000

Internal error: Oops: 5 [#1]

Modules linked in: hi3510_vs pcf8563 hi_sio tlv320 adv7171 hi_i2c ohci_hcd misc_gpio hi_gpio hi3510_wdt

CPU: 0

PC is at 0xc0510720

LR is at 0x10

pc : [<c0510720>] lr : [<00000010>] Not tainted

sp : c100de64 ip : 00000000 fp : c100df24

r10: 00000000 r9 : c16501f8 r8 : 00000003

r7 : 00000048 r6 : bf000000 r5 : c100de70 r4 : 00000000

r3 : 60519ad0 r2 : 00000010 r1 : c100de70 r0 : bddffbb8

Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment user

Control: 5317F Table: 61E60000 DAC: 00000015

Process dec_server (pid: 265, stack limit = 0xc100c194)

Stack: (0xc100de64 to 0xc100e000)

de60: bddffbb8 c100de7c c0505790 bf027428 c100de7c c1e0f6cc 00000000 

de80: 00000001 00000000 00000005 00000160 00000120 00000000 00000000 626c6100 

dea0: 62732100 00000000 00000300 00000300 00000000 00000001 bddffc00 00000000 

dec0: 00000001 c1e8ad00 c100df14 c100ded8 c01f5c70 c0037238 c1ee89b4 00000f30 

dee0: c1ee8abc 98c88520 0000111a 001cb213 00000002 c100c000 c100df18 c1e0f6cc 

df00: ffffffe7 c0484806 bddffbb8 00000000 c100c000 000c9104 c100df38 c100df28 

df20: bf027820 bf01e914 bf027418 c100df58 c100df3c c00922f0 bf027814 c1e0f6cc 

df40: c16501f8 bddffbb8 00000011 c100df84 c100df5c c00925f4 c0092284 c007e544 

df60: c0037238 c1e0f6cc fffffff7 c0484806 00000036 c0021f64 c100dfa4 c100df88 

df80: c0092654 c0092314 00000001 000e3094 bddffd28 00000000 00000000 c100dfa8 

dfa0: c0021de0 c0092624 000e3094 c01f5610 00000011 c0484806 bddffbb8 00000001 

dfc0: 000e3094 bddffd28 00000000 000002a0 bddffc00 0016ad3c 000c9104 00000000 

dfe0: 00000011 bddffba0 0009c8e8 0009c8b0 a0000010 00000011 0606e306 e30606e3 

Backtrace: 

[<bf01e904>] (CMPI_UserCopy+0x0/0x19c [hi3510_vs]) from [<bf027820>] (DRV_VDEC_Ioctl+0x1c/0x24 [hi3510_vs])

[<bf027804>] (DRV_VDEC_Ioctl+0x0/0x24 [hi3510_vs]) from [<c00922f0>] (do_ioctl+0x7c/0x90)

[<c0092274>] (do_ioctl+0x0/0x90) from [<c00925f4>] (vfs_ioctl+0x2f0/0x310)

 r7 = 00000011 r6 = BDDFFBB8 r5 = C16501F8 r4 = C1E0F6CC

[<c0092304>] (vfs_ioctl+0x0/0x310) from [<c0092654>] (sys_ioctl+0x40/0x60)

 r8 = C0021F64 r7 = 00000036 r6 = C0484806 r5 = FFFFFFF7

 r4 = C1E0F6CC 

[<c0092614>] (sys_ioctl+0x0/0x60) from [<c0021de0>] (ret_fast_syscall+0x0/0x2c)

 r6 = 00000000 r5 = BDDFFD28 r4 = 000E3094 

Code: e024249e e2800001 e5d0c000 e59f3044 (e7d3300c) 

 




研究了半天始终没搞明白为什么会出这种问题。不知道是程序的问题还是底层驱动的问题。
请各位帮小弟看看这应该是哪个地方的问题。

[解决办法]
hi3510_vs pcf8563 hi_sio tlv320 adv7171 hi_i2c ohci_hcd misc_gpio hi_gpio hi3510_wdt 

我怀疑是这几个模块中对硬件的访问造成冲突导致的


[解决办法]
好像是0xc0510720这个地方访问空指针了。。
[解决办法]
好奇怪的问题,都20个小时应该没太大问题,重新上电再跑吧
[解决办法]
Unable to handle kernel paging request at virtual address 60519ad0 

驱动问题吧
------解决方案--------------------


cat /proc/ksyms
查找地址c0510720(PC)所位于的函数,也可能调用此函数之前就存在无效指针。
[解决办法]
Unable to handle kernel paging request at virtual address 
多半是多线程同步没有做好导致的