AM62A7-Q1: wave5: Kernel oops when program using gstreamer v4l2h265enc is shut down

Part Number: AM62A7-Q1


Tool/software:

Hi,

We've seen the following oops when shutting down a gstreamer C application using the v4l2h265enc element:

[   33.894948] Internal error: synchronous external abort: 0000000096000010 1 PREEMPT SMP
[   33.903190] Modules linked in: inv_icm42600_spi inv_icm42600 inv_sensors_timestamp rpmsg_ctrl rpmsg_char cdns_csi2rx kfifo_buf tpm_ti
s_spi tpm_tis_core panel_semtech_gs2962 snd_soc_simple_card snd_soc_simple_card_utils crct10dif_ce snd_soc_ics43432 e5010_jpeg_enc v4l2_
jpeg k3_j72xx_bandgap rtc_ti_k3 rti_wdt ti_k3_r5_remoteproc tidss wave5 ti_k3_dsp_remoteproc j721e_csi2rx drm_dma_helper videobuf2_dma_c
ontig drm_kms_helper v4l2_mem2mem videobuf2_memops videobuf2_v4l2 drm mcrc64 sa2ul videobuf2_common cdns_dphy_rx drm_panel_orientation_q
uirks backlight snd_soc_davinci_mcasp snd_soc_ti_udma ar0823 snd_soc_ti_edma snd_soc_ti_sdma v4l2_fwnode v4l2_async tps65219_pwrbutton v
ideodev at24 mc spi_omap2_mcspi ina238 pwm_tiehrpwm cfg80211 rfkill fuse ipv6
[   33.969954] CPU: 2 PID: 221 Comm: vpu_irq_thread Not tainted 6.6.58-gcfcc8922-01656-ga3c69943b67e #1
[   33.979120] Hardware name: Benchmark Electronics 4K Camera Proto A (DT)
[   33.985750] pstate: 80000005 (Nzcv daif PAN -UAO -TCO -DIT -SSBS BTYPE=-)
[   33.992745] pc : wave5_vdi_read_register+0x8/0x20 [wave5]
[   33.998342] lr : wave5_vpu_irq_work_fn+0x20/0x4c [wave5]
[   34.003818] sp : ffff80008215be00
[   34.007149] x29: ffff80008215be00 x28: 0000000000000000 x27: 0000000000000000
[   34.014355] x26: 0000000000000000 x25: ffff0000049f0000 x24: ffff000006061388
[   34.021557] x23: 0000000000000001 x22: ffff000006061384 x21: ffff000006061380
[   34.028755] x20: ffff0000049f0000 x19: ffff000000694c80 x18: ffffffffffffffff
[   34.035955] x17: 703d4d4554535953 x16: 0000000000000020 x15: 00005a17ce6a97a4
[   34.043154] x14: 0000000000000000 x13: 0000000000000104 x12: 0000000000000002
[   34.050349] x11: 0000000000000000 x10: 00000000000009a0 x9 : ffff80008215bd40
[   34.057544] x8 : ffff0000049f0a00 x7 : ffff00007fc58280 x6 : 0000000000000000
[   34.064741] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000001
[   34.071935] x2 : ffff000006061388 x1 : 0000000000000044 x0 : ffff800082140044
[   34.079133] Call trace:
[   34.081597]  wave5_vdi_read_register+0x8/0x20 [wave5]
[   34.086822]  kthread_worker_fn+0xc4/0x17c

I can't reproduce it at the moment, and I'm not sure how often it occurs, just wanted it known.

Regards,

Bas Vermeulen

  • Hi Bas,

    I understand you are not able to reproduce, what does your GStreamer application do?  Also, are you seeing this on 11.1 SDK software? I see the kernel version as 6.6. We are currently on Linux kernel 6.12 with the latest SDK.

    Any plans to migrate to latest SDK?

    Best regards,

    Suren

  • There's plans to migrate, but not sure yet when I can manage.

    Basically what happens is that the service that starts my application gets stopped; this sends a SIGTERM to the application, which my application intercepts, and then calls g_main_loop_exit(); After that, I stop the pipeline with gst_element_set_state(NULL) on the pipeline.

    I think this may interrupt a request to the wave5 encoder, causing this crash.

    I've only had someone see this once, just wanted to make sure it was on someones radar.