vvcam-isp-subdev vvcam-isp-subdev.0: post event 4 return error v4l2_drm_start error

Viewed 196

重现步骤

Sometime, when i run process A use /dev/video1 (or 2). I CTRL+C to quit. After, i tryagain run process A -> I get log with error: vvcam-isp-subdev vvcam-isp-subdev.0: post event 4 return error
v4l2_drm_start error

期待结果和实际结果

What is issue? solution for this issue?

软硬件版本信息

HW: 01Studio CanMV
FW: k230_linux_sdk

错误日志

Log:
[ 3265.684254] vvcam-mipi 9000a800.mipi.0: vvcam_mipi_open
[ 3265.689812] vvcam-mipi 9000a800.mipi.0: csi reset
[ 3265.694566] vvcam-mipi 9000a800.mipi.0: sensor reset
[ 3265.700105] vvcam-mipi 9000a800.mipi.0: csi reset
[ 3265.704853] vvcam-mipi 9000a800.mipi.0: sensor reset
[ 3265.710175] vvcam-mipi 9000a800.mipi.0: set dev attr
[ 3265.715179] vvcam-mipi 9000a800.mipi.0: lanes: 2
[ 3265.719809] vvcam-mipi 9000a800.mipi.0: format: 43
[ 3265.724613] vvcam-mipi 9000a800.mipi.0: PHY freq: 1200M
[ 3265.729847] kd_vi_bind_source source(4), port(0)
[ 3265.735903] vvcam_cma_alloc *paddr is 40180000 size is 8192
[ 3265.743268] vvcam-mipi 9000a800.mipi.0: vvcam_mipi_release
[ 3265.749273] vvcam-isp-subdev vvcam-isp-subdev.0: post event 4 return error
v4l2_drm_start error
[ 3265.756223] ------------[ cut here ]------------
[ 3265.756226] WARNING: CPU: 0 PID: 1404 at drivers/media/common/videobuf2/videobuf2-core.c:1613 vb2_start_streaming+0xb2/0x10c
[ 3265.756243] Modules linked in: vvcam_video(O) vvcam_isp_subdev(O) vvcam_vb(O) vvcam_mipi(O) vvcam_isp(O) bluetooth ecdh_generic ecc 8189fs(O)
[ 3265.756265] CPU: 0 PID: 1404 Comm: person_detect.e Tainted: G O 6.6.36 #4
[ 3265.756272] Hardware name: Canaan CanMV-K230 (DT)
[ 3265.756274] epc : vb2_start_streaming+0xb2/0x10c
[ 3265.756279] ra : vb2_start_streaming+0x6a/0x10c
[ 3265.756284] epc : ffffffff807b2124 ra : ffffffff807b20dc sp : ffffffc8006e3bf0
[ 3265.756288] gp : ffffffff8118ef10 tp : ffffffd8044dd400 t0 : 73692d6d61637676
[ 3265.756292] t1 : 0000000000000076 t2 : 7073692d6d616376 s0 : ffffffc8006e3c30
[ 3265.756295] s1 : ffffffffffffffea a0 : ffffffffffffffea a1 : ffffffd83ef88688
[ 3265.756298] a2 : ffffffd83ef8b9a0 a3 : 0000000000000000 a4 : 0d4f64d6baea0f00
[ 3265.756301] a5 : 0000000000000003 a6 : 0000000000000008 a7 : 0000000000000038
[ 3265.756304] s2 : ffffffd803c7d898 s3 : ffffffd803c7da90 s4 : 0000000000000001
[ 3265.756307] s5 : 0000000000000004 s6 : ffffffc8006e3d68 s7 : ffffffff811900a0
[ 3265.756310] s8 : 0000000000000000 s9 : ffffffd803c7db30 s10: 0000000000000000
[ 3265.756313] s11: ffffffd801849900 t3 : ffffffff811a2897 t4 : ffffffff811a2897
[ 3265.756316] t5 : ffffffff811a2898 t6 : ffffffc8006e36d8
[ 3265.756319] status: 0000000200000120 badaddr: 0000000000000000 cause: 0000000000000003
[ 3265.756323] [] vb2_start_streaming+0xb2/0x10c
[ 3265.756329] [] vb2_core_streamon+0x9a/0x14e
[ 3265.756334] [] vb2_ioctl_streamon+0x40/0x7c
[ 3265.756341] [] v4l_streamon+0x16/0x1e
[ 3265.756347] [] __video_do_ioctl+0x154/0x3c4
[ 3265.756353] [] video_usercopy+0x128/0x446
[ 3265.756360] [] video_ioctl2+0x14/0x1c
[ 3265.756365] [] v4l2_ioctl+0x2e/0x42
[ 3265.756370] [] __riscv_sys_ioctl+0x82/0x98
[ 3265.756378] [] do_trap_ecall_u+0x118/0x12c
[ 3265.756387] [] ret_from_exception+0x0/0x64
[ 3265.756394] ---[ end trace 0000000000000000 ]---

尝试解决过程

I must restart board, it run ok again.

补充材料

2 Answers

What is the sensor type? What command can be executed to reproduce the issue?

Did you get the bug I reported?

I can reproduce the problem. I'll forward it to our R & D staff.

I use GC2093 sensor (01Studio CanMV, SDK Linux K230).
My cmd:

  1. ffmpeg -f v4l2 -input_format nv12 -r 30 -s 1920x1080 -i /dev/video3 -c:v h264_v4l2m2m -b:v 2M -vsync passthrough -f rtsp -rtsp_transport tcp rtsp://192.168.1.6:8554/test
    -> everything OK, VLC display stream ok.

  2. CTRL+C: stop process

  3. ffmpeg -f v4l2 -input_format nv12 -r 30 -s 1920x1080 -i /dev/video3 -c:v h264_v4l2m2m -b:v 2M -vsync passthrough -f rtsp -rtsp_transport tcp rtsp://192.168.1.6:8554/thinh
    -> get error as above
    -> full log:

    ffmpeg version 4.4.4 Copyright (c) 2000-2023 the[ 421.741508] vvcam-isp 90000000.isp.0: vvcam_isp_open:99
    FFmpeg developers
    built with gcc 10.4.0 (Xuantie-900 linux-6.6.0 glibc gcc Toolchain V2.10.1 B-20240712)
    configuration: -[ 421.757339] vvcam-isp 90000000.isp.0: reset
    -enable-cross-co[ 421.762167] vvcam-isp 90000000.isp.0: reset
    mpile --cross-prefix=/home/k230/k230_linux_sdk/output/k230_canmv_01studio_defconfig/host/bin/riscv64-unknown-linux-gnu- --sysroot=/home/k230/k230_linux_sdk/output/k230_canmv_01studio_defconfig/host/riscv64-buildroot-linux-gnu/sysroot --host-cc=/usr/bin/gcc --arch=riscv64 --target-os=linux --disable-stripping --pkg-config=/home/k230/k230_linux_sdk/out[ 421.798028] 1920 x 1080 size 3110400 fmt NV12
    put/k230_canmv_01studio_defconfig/host/bin/pkg-config --disable-static --enable-shared --prefix=/usr --enable-avfilter --disable-version3 --enable-logging --enable-optimizations --disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat --enable-network --disable-gray --enable-swscale-alpha --disable-small --enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd --disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables --disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels --disable-cuda --disable-cuvid --disable-nvenc --disable-avisynth --disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libdc1394 --disable-libgsm --disable-libilbc --disable-libvo-amrwbenc --disable-symver --disable-doc --disable-gpl --disable-nonfree --enable-ffmpeg --disable-ffplay --enable-libv4l2 --enable-avresample --disable-ffprobe --disable-libxcb --disable-postproc --enable-swscale --enable-indevs --enable-alsa --enable-outdevs --enable-pthreads --enable-zlib --enable-bzlib --disable-libfdk-aac --disable-libcdio --disable-gnutls --enable-openssl --enable-libdrm --disable-libopenh264 --disable-vaapi[ 421.904622] vvcam-mipi 9000a800.mipi.0: vvcam_mipi_open
    --disable-vdpau[ 421.910738] vvcam-mipi 9000a800.mipi.0: csi reset
    --disable-mmal [ 421.916798] vvcam-mipi 9000a800.mipi.0: sensor reset
    --disable-omx --[ 421.923721] vvcam-mipi 9000a800.mipi.0: csi reset
    disable-omx-rpi [ 421.929232] vvcam-mipi 9000a800.mipi.0: sensor reset
    --disable-libope[ 421.935913] vvcam-mipi 9000a800.mipi.0: set dev attr
    ncv --disable-li[ 421.941928] vvcam-mipi 9000a800.mipi.0: lanes: 2
    bopus --disable-[ 421.947925] vvcam-mipi 9000a800.mipi.0: format: 43
    libvpx --disable[ 421.954077] vvcam-mipi 9000a800.mipi.0: PHY freq: 1200M
    -libass --disabl[ 421.960683] kd_vi_bind_source source(4), port(0)
    e-libbluray --disable-libmfx --d[ 421.968335] vvcam_cma_alloc *paddr is 40180000 size is 8192
    isable-librtmp --disable-libmp3l[ 421.977817] vvcam-mipi 9000a800.mipi.0: vvcam_mipi_release
    ame --disable-li[ 421.983667] vvcam-isp-subdev vvcam-isp-subdev.0: post event 4 return error
    bmodplug --disable-libspeex --di[ 421.991786] ------------[ cut here ]------------
    [ 421.991791] WARNING: CPU: 0 PID: 347 at drivers/media/common/videobuf2/videobuf2-core.c:1613 vb2_start_streaming+0xb2/0x10c
    [ 421.991807] Modules linked in: vvcam_video(O) vvcam_isp_subdev(O) vvcam_vb(O) vvcam_mipi(O) vvcam_isp(O) bluetooth ecdh_generic ecc 8189fs(O)
    [ 421.991831] CPU: 0 PID: 347 Comm: ffmpeg Tainted: G O 6.6.36 #4
    [ 421.991837] Hardware name: Canaan CanMV-K230 (DT)
    [ 421.991839] epc : vb2_start_streaming+0xb2/0x10c
    [ 421.991845] ra : vb2_start_streaming+0x6a/0x10c
    [ 421.991849] epc : ffffffff807b2124 ra : ffffffff807b20dc sp : ffffffc80184bbf0
    [ 421.991854] gp : ffffffff8118ef10 tp : ffffffd80195e000 t0 : 73692d6d61637676
    [ 421.991857] t1 : 0000000000000076 t2 : 7073692d6d616376 s0 : ffffffc80184bc30
    [ 421.991860] s1 : ffffffffffffffea a0 : ffffffffffffffea a1 : ffffffff810fe930
    [ 421.991864] a2 : 0000000000000010 a3 : 0000000000000000 a4 : 41dd6397e6aa2400
    [ 421.991867] a5 : 0000000000000020 a6 : 0000000000000008 a7 : 0000000000000038
    [ 421.991870] s2 : ffffffd803f72898 s3 : ffffffd803f72a90 s4 : 0000000000000001
    [ 421.991873] s5 : 0000000000000004 s6 : ffffffc80184bd68 s7 : ffffffff811900a0
    [ 421.991876] s8 : 0000000000000000 s9 : ffffffd803f72b30 s10: 0000000000000000
    [ 421.991878] s11: ffffffd8047d7540 t3 : ffffffff811a2897 t4 : ffffffff811a2897
    [ 421.991882] t5 : ffffffff811a2898 t6 : ffffffc80184b6d8
    [ 421.991884] status: 0000000200000120 badaddr: 0000000000000000 cause: 0000000000000003
    [ 421.991887] [] vb2_start_streaming+0xb2/0x10c
    [ 421.991894] [] vb2_core_streamon+0x9a/0x14e
    [ 421.991899] [] vb2_ioctl_streamon+0x40/0x7c
    [ 421.991906] [] v4l_streamon+0x16/0x1e
    [ 421.991912] [] __video_do_ioctl+0x154/0x3c4
    [ 421.991919] [] video_usercopy+0x128/0x446
    [ 421.991925] [] video_ioctl2+0x14/0x1c
    [ 421.991931] [] v4l2_ioctl+0x2e/0x42
    [ 421.991935] [] __riscv_sys_ioctl+0x82/0x98
    [ 421.991944] [] do_trap_ecall_u+0x118/0x12c
    [ 421.991952] [] ret_from_exception+0x0/0x64
    [ 421.991960] ---[ end trace 0000000000000000 ]---
    sable-libtheora --disable-iconv --enable-libfreetype --disable-fontconfig --disable-libopenjpeg --disable-libx264 --disable-libx265 --disable-libdav1d --disable-x86asm --disable-mmx --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-avx2 --disable-armv6 --disable-armv6t2 --disable-vfp --disable-neon --disable-altivec --extra-libs=-lat[ 422.230036] vvcam-isp 90000000.isp.0: vvcam_isp_release:125
    omic --enable-pic --cpu=rv64imafdcv
    libavutil 56. 70.100 / 56. 70.100
    libavcodec 58.134.100 / 58.134.100
    libavformat 58. 76.100 / 58. 76.100
    libavdevice 58. 13.100 / 58. 13.100
    libavfilter 7.110.100 / 7.110.100
    libavresample 4. 0. 0 / 4. 0. 0
    libswscale 5. 9.100 / 5. 9.100
    libswresample 3. 9.100 / 3. 9.100
    [video4linux2,v4l2 @ 0x2aab2bc7e0] ioctl(VIDIOC_G_PARM): Inappropriate ioctl for device
    [video4linux2,v4l2 @ 0x2aab2bc7e0] Time per frame unknown
    [video4linux2,v4l2 @ 0x2aab2bc7e0] ioctl(VIDIOC_STREAMON): Invalid argument
    /dev/video3: Invalid argument