zhemao / zhemao.github.com

Github pages page
http://zhemao.github.com
Other
4 stars 1 forks source link

Internal Error: Occurs after prolonged run of OpenCV FaceDetect on SocKit #13

Closed bangonkali closed 9 years ago

bangonkali commented 10 years ago

Can you suggest any tools, or method that can help me debug this kind of error? It hangs the entire system and I had to reboot after this error. It only occurs after around 30min of WebCam operation while detecting faces using OpenCV's facedetect.cpp example program. The error was shown on the serial com line (Putty), and the desktop would then hang.

Unable to handle kernel NULL pointer dereference at virtual address 0000003c
pgd = 80004000
[0000003c] *pgd=00000000
Internal error: Oops: 17 [#1] SMP ARM
Modules linked in: ipv6 uvcvideo videobuf2_core videodev videobuf2_vmalloc video                                   buf2_memops gpio_dw
CPU: 0    Not tainted  (3.8.0-00111-g85cc90f #1)
PC is at usb_hcd_unmap_urb_setup_for_dma+0x8/0xb0
LR is at usb_hcd_unmap_urb_for_dma+0x14/0x134
pc : [<8029b110>]    lr : [<8029b1cc>]    psr: a0000193
sp : bed8bc88  ip : 00000000  fp : 00000001
r10: be11b0d0  r9 : 80559a34  r8 : 00000000
r7 : 00000018  r6 : 000000a0  r5 : be11b000  r4 : 00000000
r3 : bc194b08  r2 : 800400c7  r1 : 00000000  r0 : be11b000
Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 3c01c04a  DAC: 00000015
Process facedetect (pid: 1646, stack limit = 0xbed8a240)
Stack: (0xbed8bc88 to 0xbed8c000)
bc80:                   00000000 be11b000 000000a0 8029b1cc be11b0fc be11b104
bca0: be010a10 bebf2280 0000000c 000000a0 00000018 802b2738 bed8bd14 00001000
bcc0: 00000081 80546800 00000001 00001000 805467e8 8024db6c 0000004c 00000033
bce0: 20b48bfc bebf2280 c0d805e0 802afd08 8001c960 00000001 000003fc 00000040
bd00: 00000000 bebf2280 00000000 00000000 0000b071 60000193 be010a10 000000a0
bd20: 00000000 00000000 80559a34 80559a20 00000000 802af9f8 802af9ec 8029ab1c
bd40: bebf1100 80075bf0 00000001 bebf2ec0 00000002 be0109c0 bed8bdb4 be0109c0
bd60: be010a10 00000000 fee00100 be11b0d0 00000000 fffffffe a0000013 80075e24
bd80: be0109c0 be010a10 00000000 80078bac 80078b30 000000a0 000000a0 800755d4
bda0: 80525030 8000f014 fee0010c 8052e418 bed8bdd0 80008530 802b070c 803b6a88
bdc0: 60000013 ffffffff bed8be04 8000dd40 be11b0d0 a0000013 00000000 8a258a25
bde0: bedb4e00 be5f7000 bc194b00 be11b000 be11b0d0 00000000 fffffffe a0000013
be00: 0000003d bed8be18 802b070c 803b6a88 60000013 ffffffff 802b0644 fffffffe
be20: be5f7000 be11b000 fffffffe be419000 be31b788 00000001 bed8a000 8029b3f8
be40: be1c0400 fffffffe be5f7000 60000013 00000000 be419000 00000001 8029c708
be60: be5f7000 be5f700c 00000001 8029d590 bed8beac be41900c be5f6000 00000002
be80: 00000000 be419000 be31b788 be419010 be5f7000 7f041a68 00000001 be419000
bea0: 00000000 00000000 be419000 00000008 00000000 7f043e54 00000001 be43bd80
bec0: be31b780 bd11ea18 be419000 7f03ff78 7f03fee0 be23fc00 be664e88 bd11ea18
bee0: be05b310 7f014390 7f014358 be31b780 be664e88 800db0d8 00000000 00000000
bf00: be2d283c beba66c0 805618c4 be2d2580 8000e2a8 bed8a000 00000000 8003e488
bf20: be1e68c0 fd87fd87 be2d2580 be1e68c0 be2d284c be2d2580 be1e68fc 800265c8
bf40: be1e68c0 00000000 bed8a000 00000001 00382000 800c4960 fd87fd87 800da1ac
bf60: be1e6900 be57f680 00000000 bed8a000 000000f8 8000e2a8 bed8a000 00000000
bf80: 00000000 80026d88 00000000 000703c2 7698e760 7698e760 000000f8 80026e2c
bfa0: 00000000 8000e100 000703c2 7698e760 00000000 000703ae 74c214c0 00000000
bfc0: 000703c2 7698e760 7698e760 000000f8 00000000 00000000 76fa1000 00000000
bfe0: 000000f8 7eab82bc 7691fce3 768c71e6 600f0030 00000000 00000000 00000000
[<8029b110>] (usb_hcd_unmap_urb_setup_for_dma+0x8/0xb0) from [<be11b104>] (0xbe1                                   1b104)
Code: 8055994b 80497e64 e92d4070 e1a04001 (e591303c)
---[ end trace 7240ef6d486fb03d ]---

I understand this is some sort of kernel module level error. Do you have any tips where I can start to investigate and see more logs about this? It may not be OpenCV specific.

zhemao commented 10 years ago

Your first clue is the line "PC is at usb_hcd_unmap_urb_setup_for_dma+0x8/0xb0". From that it would appear that the issue is in the usb_hcd_unmap_urb_setup_for_dma function. The version in the rocketboards.org kernel source is probably different though. Try looking at that function in the kernel sources you are using and see if anything stands out. If there isn't anything obvious, you probably want to send a bug report to the relevant mailing list. That would probably be rocketboards.org and not the main kernel mailing list.

zhemao commented 10 years ago

Hey, did you ever figure this one out?