Gstreamer使用vic加速时概率性报错

内核日志如下

[ 5258.397285] iommu_context_dev 13e40000.host1x:niso1_ctx0: pin_array_ids: could not get buf err=-22
[ 5258.406634] falcon 15340000.vic: pin_job_mem -22
[ 5258.412071] falcon 15340000.vic: nvhost_ioctl_channel_submit: failed with err nvhost_job_pin
[ 5258.420858] falcon 15340000.vic: nvhost_ioctl_channel_submit: =====================
[ 5258.428882] falcon 15340000.vic: nvhost_ioctl_channel_submit: failed with err -22

目前难以复现,可否给一个pipeline能够调用nvhost_ioctl_channel_submit,使得复现的概率大一些,另外出现此问题时,有哪些原因?

Hi,
We support jetson_multimedia_api and gstreamer. Please make sure you have checked the document:

There are some examples in

Q: Is there any example of running RTSP streaming?
Q: Is there an example for running UDP streaming?
Q: I have a USB camera. How can I launch it on AGX Orin?

For further issues, please share a method to replicate the issue through gstreamer command, or either sample. We will set up developer kit and check.

Thanks!

Hi,
You can execute the script to fix VIC at maximum frequency:

VPI - Vision Programming Interface: Performance Benchmark

And see if the issue is still present. If it persists, we would need to replicate the issue and check further. Please share us a test sample and we will try to replicate it on developer kit.

  1. 我的系统是jp5.1.1/2 ,这边发现,这两个版本都会有该问题,用于测试的例子,我这边无法提供,这涉及到具体的代码。
  2. 您这边可以提供一个使用nvhost_ioctl_channel_submit的例子给我吗,用于我测试复现?

Hi,
The code of calling nvhost_ioctl_channel_submit is built in libs and not public. We cannot reveal further information. For moving this topic forward, please share a method so that we can reproduce it on developer kit. And check.

  1. 我这边是用的gstreamer pipeline偶发性会复现该问题,这个gstreamer pipeline代码我无法公开
  2. 你这边是否能给一个gstreamer pipeline,它能够调用 nvhost_ioctl_channel_submit,以便复现该问题
  3. 复现该问题后,我这边尝试用ftrace跟踪其轨迹,明确问题发生的原因

另外能否告知下,具体是哪个库会调用 nvhost_ioctl_channel_submit

这是其他出错日志

Jan 14 23:59:55 cntjitpy-igvak-21-dcu1 kernel: [429064.035922] falcon 15340000.vic: nvhost_ioctl_channel_submit: failed with err -22
Jan 14 23:59:55 cntjitpy-igvak-21-dcu1 kernel: [429064.063666] arm-smmu 8000000.iommu: Unhandled context fault: fsr=0x80000402, iova=0x7ff5b21000, fsynr=0x3c0003, cbfrsynra=0x435, cb=8
Jan 14 23:59:55 cntjitpy-igvak-21-dcu1 kernel: [429064.076320] arm-smmu 8000000.iommu: Unhandled context fault: fsr=0x80000402, iova=0x7ff5b20000, fsynr=0x650003, cbfrsynra=0x435, cb=8
Jan 14 23:59:55 cntjitpy-igvak-21-dcu1 kernel: [429064.092836] mc-err: (255) csr_vicsrd: EMEM address decode error
Jan 14 23:59:55 cntjitpy-igvak-21-dcu1 kernel: [429064.099100] mc-err: status = 0x2006406c; hi_addr_reg = 0x000000ff addr = 0xffffffff00

gstreamer log:

NvRmStream: Channel submission failed (err=196623)
NvRmStream: Flush failed (err=196623)
NvMMLiteVideoEncDoWork:NvEncNvVicConvertSurfaceFormat failed
NvVideoEncTransferOutputBufferToBlock: DoWork failed line# 679
NvVideoEnc: NvVideoEncTransferOutputBufferToBlock TransferBufferToBlock failed Line=690

kernel log:

iommu_context_dev 13e40000.host1x:niso1_ctx0: pin_array_ids: could not get buf err=-22
falcon 15340000.vic: nvhost_ioctl_channel_submit: failed with err -22
pin_array_ids: could not get buf err=-22
[219816.987868] falcon 15340000.vic: nvhost_ioctl_channel_submit: failed with err -22
[219817.020508] falcon 15340000.vic: nvhost_job_alloc: job is very large (96504), expect performance loss

Hi,
We are not able to comment further. Would suggest make a simple test application so that we can reproduce it on developer kit.

请问下,nvhost_ioctl_channel_submint调用是属于哪个gstreamer库的?

库调用的错误,这个信息是否能够定位
SYS_write(2, "25:13:39.349595680 \033[334m 333\033[00m 0xfffe88058460 \033[31;01mERROR \033[00m \033[00m v4l2videoenc gstv4l2videoenc.c:1472:gst_v4l2_video_enc_loop:<nvv4l2h264enc0>\033[00m Failed to process output buffer\n", 199 <unfinished ...>