gstreamer v4l2 kernel Oops

Nicolas Dufresne nicolas at ndufresne.ca
Fri Jul 5 16:40:42 UTC 2019


Le vendredi 05 juillet 2019 à 08:28 -0500, Andrea a écrit :
> Hi,
> I'm using gstreamer with my driver but often I get a kernel error. I managed
> to go back to the source of the error and the problem seems to be the
> streamon ioctl, not the code inside it (I tried also with only the return 0
> and I get the error) but the call itself. Trying to call the ioctl functions
> by hand I saw that the error appears in "random" mode, once they all work
> (including streamon) and the next time the streamon causes the error,
> calling it again it works, maybe the next call works or not and so on. I
> can't understand if the error is in my driver or if it is, for example,
> there is a problem during the registration (although it is successful).

A crash in a kernel module is always a kernel bug, there is no question
to ask here.

That being said, things may get worst when some question/answer between
userspace and the driver goes wild. To better analyse your problem, I
would suggest to use GST_DEBUG="v4l2*:7" log level, but also to enable
all V4L2 kernel debug as this can greatly help.

Nicolas

> 
> Thanks, Andrea
> 
> /[  899.083253] Unable to handle kernel NULL pointer dereference at virtual
> address 0000000000000001
> [  899.092044] Mem abort info:
> [  899.094832]   ESR = 0x96000021
> [  899.097875]   Exception class = DABT (current EL), IL = 32 bits
> [  899.103787]   SET = 0, FnV = 0
> [  899.106833]   EA = 0, S1PTW = 0
> [  899.109967] Data abort info:
> [  899.112836]   ISV = 0, ISS = 0x00000021
> [  899.116661]   CM = 0, WnR = 0
> [  899.119622] user pgtable: 4k pages, 39-bit VAs, pgdp = (____ptrval____)
> [  899.126228] [0000000000000001] pgd=0000000000000000, pud=0000000000000000
> [  899.133018] Internal error: Oops: 96000021 [#1] SMP
> [  899.137881] Modules linked in: video(O) al5d(O) al5e(O) allegro(O)
> xlnx_vcu_clk xlnx_vcu xilinx_hdmi_rx(O) xilinx_vphy(O) xlnx_vcu_core mali(O)
> uio_pdrv_genirq [last unloaded: video]
> [  899.154143] CPU: 0 PID: 2322 Comm: test Tainted: G        W  O     
> 4.19.0-xilinx-v2019.1 #1
> [  899.162568] Hardware name: ZynqMP ZCU106 RevA (DT)

You could maybe provide a little more context, aka which Xilinx SDK
release this is. Also, RevA ? I thought his HW was publicly release at
RevF ? Maybe make sure you don't have a DT miss-match, or simply
hitting a known bug.

> [  899.167345] pstate: a0000005 (NzCv daif -PAN -UAO)
> [  899.172125] pc : __ll_sc___cmpxchg_case_acq_8+0x4/0x20
> [  899.177251] lr : mutex_lock_interruptible+0x18/0x40
> [  899.182118] sp : ffffff8010c73bb0
> [  899.185416] x29: ffffff8010c73bb0 x28: ffffffc87af98000
> [  899.190720] x27: ffffff8008769108 x26: ffffff8000c9b1f8
> [  899.196024] x25: 0000007fc63db5c4 x24: 0000000000000001
> [  899.201319] x23: 0000000000000000 x22: ffffff8009138648
> [  899.206615] x21: 0000000000000012 x20: 0000000040045612
> [  899.211910] x19: ffffffc879d60800 x18: 0000000000000000
> [  899.217205] x17: 0000000000000000 x16: 0000000000000000
> [  899.222501] x15: 0000000000000000 x14: 0000000000000000
> [  899.227796] x13: 0000000000000000 x12: 0000000000000000
> [  899.233091] x11: 0000000000000000 x10: 0000000000000000
> [  899.238387] x9 : 0000000000000000 x8 : 0000000000000000
> [  899.243682] x7 : 0000000000000000 x6 : ffffffc87b942080
> [  899.248977] x5 : 00000000ffffffff x4 : ffffff800876cea0
> [  899.254281] x3 : 0000000000000001 x2 : ffffffc87ac2f400
> [  899.259577] x1 : 0000000000000000 x0 : 0000000000000001
> [  899.264873] Process test (pid: 2322, stack limit = 0x(____ptrval____))
> [  899.271383] Call trace:
> [  899.273817]  __ll_sc___cmpxchg_case_acq_8+0x4/0x20
> [  899.278600]  __video_do_ioctl+0x124/0x498
> [  899.282600]  video_usercopy+0x144/0x518
> [  899.286420]  video_ioctl2+0x14/0x1c
> [  899.289894]  v4l2_ioctl+0x3c/0x58
> [  899.293202]  do_vfs_ioctl+0xb8/0x8a0
> [  899.296768]  ksys_ioctl+0x44/0x90
> [  899.300067]  __arm64_sys_ioctl+0x1c/0x28
> [  899.303975]  el0_svc_common+0x84/0xd8
> [  899.307627]  el0_svc_handler+0x68/0x80
> [  899.311360]  el0_svc+0x8/0xc
> [  899.314226] Code: 35ffff91 aa1003e0 d65f03c0 f9800011 (c85ffc10)
> [  899.320310] ---[ end trace da93a42a8cf31bfc ]---
> Segmentation fault/
> 
> 
> 
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list