Opening channel /dev/nvhost-nvdec failed

Upgraded to Jetpack 3.3 on a TX2 developer kit, I started to get errors around “Opening channel /dev/nvhost-nvdec failed”. I have to flash the OS image a couple times to recover from this.

(Sometimes I got this error from a newly flash. Sometimes, the system was good initially, then suddenly behaved like this.)

For example, when I run:
gst-launch-1.0 rtspsrc location=rtsp://10.10.1.2 ! rtph264depay ! h264parse ! omxh264dec ! nvvidconv ! fakesink

I get:

NvMMLiteOpen : Block : BlockType = 261
TVMR: NvMMLiteTVMRDecBlockOpen: 7647: NvMMLiteBlockOpen
Opening channel /dev/nvhost-nvdec failed
TVMR: NvMMDecTVMRCreateParser: 7149: - Could not get NVDEC Channel handle
TVMR: NvMMLiteTVMRDecBlockOpen: 7679: NvMMDecTVMRCreateParser failed!TVMR: NvMMLiteTVMRDecBlockOpen: 7802: NvMMLiteTVMRDecBlockOpen Failed
NvMMLiteBlockCreate : Block : BlockType = 261
NvxVideoDecoderAcquireResources : NvxNvMMLiteTransformOpen failed
ERROR: from element /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: GStreamer encountered a general supporting library error.
Additional debug info:
/dvs/git/dirty/git-master_linux/external/gstreamer/gst-omx/omx/gstomxvideodec.c(3770): gst_omx_video_dec_handle_frame (): /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
OpenMAX component in error state Insufficient resources (0x80001000)

Hi hlv, is it specific to decoding rtsp stream? Or you can also reproduce the issue in local video file playback?

Same for local video playback.

Hi hlv,
Can you also try Jetpack 3.1 and 3.2.1? We don’t observe the issue. Looks like your developer board might be broken. Please try different SW release to get more information.

I’m also getting this in several machines while working with gstreamer.


R28 (release), REVISION: 2.1, GCID: 11272647, BOARD: t186ref, EABI: aarch64, DATE: Thu May 17 07:29:06 UTC 2018

and on:

R28 (release), REVISION: 2.0, GCID: 10136452, BOARD: t186ref, EABI: aarch64, DATE: Fri Dec 1 14:20:33 UTC 2017

restarting sometimes helps.
temp ranges are ok.

And sometimes I get the arm-smmu error.

[ 4227.610403] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x00000000, fsynr=0x220001, cb=19, sid=7(0x7 - NVENC), pgd=0, pud=0, pmd=0, pte=0
[ 4227.623764] (255) csr_nvencsrd: EMEM address decode error
[ 4227.629215] status = 0x2032701c; addr = 0x3ffffffc0
[ 4227.630673] falcon 154c0000.nvenc: SYNCPT_ID 21
[ 4227.630675] falcon 154c0000.nvenc: SYNCPT_VAL 54
[ 4227.630677] falcon 154c0000.nvenc: FIRST_GET 0x9d0
[ 4227.630678] falcon 154c0000.nvenc: TIMEOUT 10000
[ 4227.630680] falcon 154c0000.nvenc: NUM_SLOTS 11
[ 4227.630682] falcon 154c0000.nvenc: NUM_HANDLES 17
[ 4227.630686] falcon 154c0000.nvenc: SYNCPT_ID 21
[ 4227.630688] falcon 154c0000.nvenc: SYNCPT_VAL 56
[ 4227.630689] falcon 154c0000.nvenc: FIRST_GET 0xa28
[ 4227.630691] falcon 154c0000.nvenc: TIMEOUT 10000
[ 4227.630692] falcon 154c0000.nvenc: NUM_SLOTS 11
[ 4227.630693] falcon 154c0000.nvenc: NUM_HANDLES 17
[ 4227.696233] secure: yes, access-type: read
[ 4227.700534] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[ 4227.710404] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[ 4227.720258] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[ 4227.730134] mc-err: Too many MC errors; throttling prints
[ 4228.866891] nvdec 15480000.nvdec: nvhost_module_busy: failed to power on, err -22
[ 4236.843765] nvdec 15480000.nvdec: nvhost_module_busy: failed to power on, err -22
[ 4248.550722] nvdec 15480000.nvdec: nvhost_module_busy: failed to power on, err -22:

Hi ashwoods,
Does it happen to specific boards? It looks to be a HW issue that certain HW memory blocks cannot be read.

Hi danelll:
I also encountered the same problem on my tx2

New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
NvMMLiteOpen : Block : BlockType = 261 
TVMR: NvMMLiteTVMRDecBlockOpen: 7647: NvMMLiteBlockOpen 
Opening channel /dev/nvhost-nvdec failed
TVMR: NvMMDecTVMRCreateParser: 7149: - Could not get NVDEC Channel handle 
TVMR: NvMMLiteTVMRDecBlockOpen: 7679: NvMMDecTVMRCreateParser failed!TVMR: NvMMLiteTVMRDecBlockOpen: 7802: NvMMLiteTVMRDecBlockOpen Failed
NvMMLiteBlockCreate : Block : BlockType = 261 
NvxVideoDecoderAcquireResources : NvxNvMMLiteTransformOpen failed 
ERROR: from element /GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0: GStreamer encountered a general supporting library error.
Additional debug info:

Hi,
We do not reproduce the issue. As of now it looks to be an issue in specific HW board. Suggest you try other developer boards.

IF you have confirmed it is an issue is SW, please share steps to reproduce it on r28.2.1(Clean flash via Jetpack3.3).