TVMR: cbDisplayPicture: Returned Null Frame Buffer error

Hello,

I am using a Detectnet to do inference on a Jetson TX1 (R24 (release), REVISION: 2.1). I am using below gstreamer command to ingest 1080p frames from IP cameras into the pipeline. There are in total 4 pipelines like the below spun in parallel to ingest streams from 4 IP cameras each of 1080p (15FPS). These 4 pipelines are used for getting frames from cameras for performing inference. There are 4 more Gstreamer pipelines used for other purposes on the Jetson (again sourcing feed from the same 4 cameras). In total 8 gstreamer pipelines are running (2 per camera).

<rtsp url> ! rtph264depay ! decodebin ! queue ! tee name=t t. ! queue ! nvvidconv ! nvjpegenc quality=70 ! appsink name=jpegsink sync=true wait_on_eos=true drop=true t. ! queue ! nvvidconv ! video/x-raw,width=1280,height=720,format=NV12 ! appsink name=h264sink sync=true wait_on_eos=true drop=true

Every once in a while, the entire pipeline restarts with the below message.

Based on above error message, it says TVMR: cbDisplayPicture Returned Null Frame Buffer. I am having hard time understanding the source of this error. I stumbled across various forums without any luck trying to find the source of error. Only one potential document mentions TVMR (as being a low-level hardware driver). I have few questions regarding the above and will appreciate any help in trying to find the source of the issue.

  1. I came across various forums saying that there is a memory leak in the nvjpegenc plugin for specific releases of Jetpack. Does the above Jetson Tx1 version qualify for the same?
    Below is one forum mentioning about nvjpegenc causing slow down or memory leaks:
    Nvjpegenc slow down - Jetson & Embedded Systems / Jetson Nano - NVIDIA Developer Forums

  2. Does the above Gstreamer pipeline seem to be the one causing issues or is there any plugin which seems incompatible with others which may contribute to the above error? Based on my understanding it seems somewhere in the pipeline where the hardware encoders maybe used (possibly by nvjpegenc), it might be causing the above errors to originate.

  3. Is there a driver update required for the Tx1 or is the TVMR driver something which we can debug/check the status of it working well on a TX1?

  4. Does the number of Gstreamer pipelines matter because of which the underlying driver maybe maxed out causing the pipeline to restart again and again with the above error? There is no significant RAM consumption and even with all processes running the RAM usage is around 1.90G/3.90G for the Jetson TX1

The above error is not only occurring on 1 jetson but all the Tx1’s which we are using. Lastly, it will be super helpful, if you can send relevant articles and posts about TVMR and its related issues. I have found users asking what TVMR is but no information is available about this. Below is one forum I found regarding this:
TVMR Framerate significance and working - Jetson & Embedded Systems / Jetson TX2 - NVIDIA Developer Forums

Thanks

Sorry for the late response, is this still an issue to support? Thanks

Hi,
The release version is old. It is r24.2.1 and the latest release is r32.7.1. Please upgrade to the latest release and try.

Hello @kaycc and @DaneLLL. Yes, this is still an issue I am facing on the Jetson TX1. Although I am aware that the Jetson TX1 have come end of life, I just wanted to know if the above error is something specific to the kernel/board/Jetpack version or something which originates because of the user’s fault. Can you provide clarity on the TVMR low-level driver and the reason for that line to occur saying it Returned Null Frame Buffer?

Thanks

Hi,
It is not easy to tell what’s wrong from the prints. One possibility is there is memory leak ande decoder cannot get memory, triggering the issue. However, this is just a guess.

TX1 is supported on r32 releases and we suggest upgrade the release version through SDKManager.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.