intel / icamerasrc

icamerasrc
24 stars 35 forks source link

v4l2-relayd crash with current version of icamerasrc, fallback to older version works #41

Open Tropicao opened 4 months ago

Tropicao commented 4 months ago

Hello, I am using a Dell XPS 13 9320 with Archlinux on kernel 6.6.25. I am relying on Stefan Partheymüller's repository to keep a working webcam stack upgrades after upgrades (so my stack mostly consists in IPU6 drivers and firmwares, intel-ipu6ep-camera-hal, icamerasrc and v4l2-relayd)

After my latest upgrade, I observed that my webcam was not working anymore. I eventually observed that v4l2-relayd was repeatedly crashing when I tried to start a stream. The crash backtrace looks like the following:

#0  0x000074ed63ba1b25 in gst_buffer_pool_is_active () at /usr/lib/libgstreamer-1.0.so.0
#1  0x000074ed60d1ef55 in gst_camerasrc_decide_allocation (bsrc=0x5e03b8903490, query=0x74ed4c027620, pad=0x5e03b8910950) at /usr/src/debug/icamerasrc-git/icamerasrc/src/gstcamerasrc.cpp:3026
#2  0x000074ed60d2e556 in gst_cam_base_src_prepare_allocation (basesrc=basesrc@entry=0x5e03b8903490, caps=caps@entry=0x0, pad=pad@entry=0x5e03b8910950) at /usr/src/debug/icamerasrc-git/icamerasrc/src/gstcambasesrc.cpp:3586
#3  0x000074ed60d2e84e in gst_cam_base_src_negotiate (basesrc=basesrc@entry=0x5e03b8903490, pad=pad@entry=0x5e03b8910950) at /usr/src/debug/icamerasrc-git/icamerasrc/src/gstcambasesrc.cpp:3762
#4  0x000074ed60d2ea5f in gst_cam_base_src_loop (pad=0x5e03b8910950) at /usr/src/debug/icamerasrc-git/icamerasrc/src/gstcambasesrc.cpp:2902
#5  0x000074ed63c205f3 in ??? () at /usr/lib/libgstreamer-1.0.so.0
#6  0x000074ed63d55bc3 in ??? () at /usr/lib/libglib-2.0.so.0
#7  0x000074ed63d50065 in ??? () at /usr/lib/libglib-2.0.so.0
#8  0x000074ed63a0b55a in ??? () at /usr/lib/libc.so.6
#9  0x000074ed63a88a3c in ??? () at /usr/lib/libc.so.6

Now, I observe that if I fall back to an older version of icamerasrc, I do not get the crash and I can get my a valid stream. I did not dig enough to confidently affirm icamerasrc is indeed the culprit alone (I guess there are enough dependencies and versions sets of all the components which could lead to troubles), but right now this is my best guess. Here are a few additional details about my setup :