TX2 cpu lockup/crash when setting v4l2src state


Our application uses v4l2src gstreamer plugin to capture video from CSI-2 ports. When opening/closing the application’s video pipeline, there’s a chance that the whole system freezes. Logs from serial port shows “Unable to handle kernel paging request” or “Watchdog detected hard LOCKUP on cpu” etc.

Is there anyone else having the same experience? What to do to debug? Thanks in advance.

PS. my TX2 uses R28.1’s kernel
ubuntu@tegra-ubuntu:~/$ uname -a
Linux tegra-ubuntu 4.4.38 #5 SMP PREEMPT Tue Jan 9 10:22:19 CST 2018 aarch64 aarch64 aarch64 GNU/Linux

attaching the logs
cpu_lockup.txt (19.5 KB)
normal.txt (8.63 KB)

Common on guys. Any help is appreciated.

Do you also observe it with v4l2-ctl?

hi Dane,
Would you be more specific on what to test with v4l2-ctl?

What Dane tell is command like below

v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100

hi Shane,
this command runs well on my tx2:

ubuntu@tegra-ubuntu:~$ v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.09 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.04 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.03 fps

Then what your command? Or you implement your own APP?

Our own app uses gstreamer. The source element of this gst pipeline is v4l2src, and we have multiple source in one pipeline. On the hardware side, we use TC358743 to input video from HDMI port to TX2’s CSI-2 ports.

When running the app, user will set the pipeline to PLAYING state or NULL state (through anything in between). The crash/lockup is observed when state changes from PLAYING to NULL.

Try to run the “v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0” command before the launch v4l2src