AnsweredAssumed Answered

imx6 kernel Ooops with gstreamer ?

Question asked by Matteo Mercuri on Aug 9, 2018
Latest reply on Sep 12, 2018 by Matteo Mercuri

Good morning,

                           we have a custom board base on imx6 Dual Core kernel 3.14.28 yocto Fido 1.8. We try to implement a system for two video camera visualization. For video capture we use two ADV7180 chip.

We have different kernel Ooops after some hours (12+) of video reproduction. We try to use different solution like using gstreamer 0.10 or gstreamer 1.0. We try imx gstreamer plugin and without imx gstreamer plugin. We also try diffrent pipe like

 

gst-launch-0.10 tvsrc ! mfw_isnk

gst-launch-0.10 tvsrc ! imxv4l2sink

 

also we try with gstreamer-1.0 with pipe like

 

gst-launch-1.0 imxv4l2src ! imxv4l2sink

gst-launch-1.0 imxv4l2src ! v4l2sink

gst-launch-1.0 imxv4l2src ! imxg2dvideosink

 

We also try to stream over network with different protocols like TCP udP TRP RTSP.

Despite of every kind of pipe, src and sink after some hours system crash with a kernel Ooops like that

 

Unable to handle kernel paging request at virtual address 0004a610
pgd = 869d0000
[0004a610] *pgd=16a33831, *pte=00000000, *ppte=00000000
Internal error: Oops: 80000007 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 431 Comm: source0:src Not tainted 3.14.28-1.0.0_ga+gb91b57e #46
task: 8666cd80 ti: 86e5c000 task.ti: 86e5c000
PC is at 0x4a610
LR is at twd_handler+0x30/0x38
pc : [<0004a610>]    lr : [<800143a8>]    psr: 200b0193
sp : 86e5df60  ip : 0adb0000  fp : 71f0094c
r10: 00000000  r9 : ffffffff  r8 : 0000001d
r7 : 8602d840  r6 : 80da3d80  r5 : 86007600  r4 : 00000001
r3 : 0004a610  r2 : 00a9e978  r1 : 8bb366c0  r0 : 8bb366c0
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c53c7d  Table: 169d004a  DAC: 00000015
Process source0:src (pid: 431, stack limit = 0x86e5c238)
Stack: (0x86e5df60 to 0x86e5e000)
df60: 8bb366c0 8006a668 0000001d 0000001d 00000000 f4a00100 ffffffff 80066cd8
df80: 80d82e54 8000ed4c f4a0010c 80d8e970 86e5dfb0 8000856c 71f00880 76bfd2ac
dfa0: 200b0010 ffffffff 71f00880 8001237c 71f00880 00000002 ffffffff 00000000
dfc0: ffffffff ffffffff 00000002 71f00880 ffffffff ffffffff 00000000 71f0094c
dfe0: 00000001 71f0086c 76924114 76bfd2ac 200b0010 ffffffff 00000000 00000000
[<800143a8>] (twd_handler) from [<8006a668>] (handle_percpu_devid_irq+0x6c/0x84)
[<8006a668>] (handle_percpu_devid_irq) from [<80066cd8>] (generic_handle_irq+0x2                                                                             c/0x3c)
[<80066cd8>] (generic_handle_irq) from [<8000ed4c>] (handle_IRQ+0x40/0x90)
[<8000ed4c>] (handle_IRQ) from [<8000856c>] (gic_handle_irq+0x2c/0x5c)
[<8000856c>] (gic_handle_irq) from [<8001237c>] (__irq_usr+0x3c/0x60)
Exception stack(0x86e5dfb0 to 0x86e5dff8)
dfa0:                                     71f00880 00000002 ffffffff 00000000
dfc0: ffffffff ffffffff 00000002 71f00880 ffffffff ffffffff 00000000 71f0094c
dfe0: 00000001 71f0086c 76924114 76bfd2ac 200b0010 ffffffff
Code: bad PC value
---[ end trace abc4263b18ce6fc5 ]---
Kernel panic - not syncing: Fatal exception in interrupt
CPU1: stopping
CPU: 1 PID: 0 Comm: swapper/1 Tainted: G      D      3.14.28-1.0.0_ga+gb91b57e #                                                                             46
[<800149d0>] (unwind_backtrace) from [<800116d4>] (show_stack+0x10/0x14)
[<800116d4>] (show_stack) from [<806e91c4>] (dump_stack+0x7c/0xbc)
[<806e91c4>] (dump_stack) from [<80013970>] (handle_IPI+0x144/0x158)
[<80013970>] (handle_IPI) from [<80008598>] (gic_handle_irq+0x58/0x5c)
[<80008598>] (gic_handle_irq) from [<800121c0>] (__irq_svc+0x40/0x70)
Exception stack(0x860bff50 to 0x860bff98)
ff40:                                     860bff98 3b9aca00 a520e1a5 0000256c
ff60: 80d94308 80d94308 8bb3b0d0 00000000 a1d95142 0000256c 860be000 00000000
ff80: 00000017 860bff98 00000009 804a3490 000f0013 ffffffff
[<800121c0>] (__irq_svc) from [<804a3490>] (cpuidle_enter_state+0x54/0xe4)
[<804a3490>] (cpuidle_enter_state) from [<804a35d4>] (cpuidle_idle_call+0xb4/0x1                                                                             4c)
[<804a35d4>] (cpuidle_idle_call) from [<8000f07c>] (arch_cpu_idle+0x8/0x44)
[<8000f07c>] (arch_cpu_idle) from [<80066c50>] (cpu_startup_entry+0x100/0x14c)
[<80066c50>] (cpu_startup_entry) from [<10008624>] (0x10008624)

 

Did somebidy knows why we have this kind of behaviour ?

Is a problem of gstreamer or of the system itself (kernel 3.14.28 ?).

We try to adopt every kind of solution like drop memory cash , change CMA size and other stuff but nothing change

Can somebody help us ?

 

Thanks

Outcomes