Unexpected tensorflow message when running a cpu-only gstreamer pipeline

This is not a real issue to me, just reporting here as this behavior looks surprising to me. NVIDIA may check further.

I’m using a Xavier NX R32.4.3 and v4l2loopback 0.10 from dkms:

# Install v4l2loopback and utils
sudo apt-get update
sudo apt-get install v4l2loopback-dkms v4l2loopback-utils

# Create a virtual video node /dev/video1
sudo modprobe v4l2loopback exclusive_caps=1 video_nr=1

# The following command triggers this strange behavior. It doesn't happen if not using sudo. 
# Not related to format nor resolution. 
sudo v4l2loopback-ctl set-caps "video/x-raw, format=BGRx, width=640, height=480" /dev/video1

# Now this simple gstreamer pipeline that should not involve TF nor CUDA in this case stalls for 2 seconds and gives this trace from TF before starting:
gst-launch-1.0 videotestsrc ! video/x-raw, format=BGRx, width=640, height=480, framerate=30/1 ! identity drop-allocation=true ! v4l2sink device=/dev/video1
2020-08-15 13:03:56.920524: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.2
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

Any idea what happens in this case ?
I have deepstream-5.0 installed and I suspect it’s related, but I cannot understand the difference after configuring the v4l2loopback node with sudo.

Please check if cleaning cache helps:

$ rm .cache/gstreamer-1.0/registry.aarch64.bin

Hi @DaneLLL,

Indeed, this message is issued when gstreamer rebuilds the cache with deepstream plugins.
Do you have any idea why this v4l2loopback-ctl command with sudo triggers rebuilding the cache for standard user ?
This might be rather a gstreamer or v4l2loopback issue, but any sharing would be welcome for a better understanding.

Hi Honey_Patouceul,
Sorry I may misunderstand the comment. So the issue is still present even though the cache is removed?

Hi Dane,

Sorry I missed that topic update. The issue is that the above command invalidates gst cache…No idea why.

Clearing cache results in 2 extra seconds for rebuilding and extra trace.

Note that it happens only this special way (sudo v4l2loopback-ctl) that triggers this issue. No problem without sudo, or if later using sudo for gst-launch.

Any thought about avoiding that ?

Hi Honey_Patouceul,
It looks not related to v4l2loopback. We can also see the prints by executing:

nvidia@xavier8G:~$ rm .cache/gstreamer-1.0/registry.aarch64.bin
nvidia@xavier8G:~$ gst-inspect-1.0 nvarguscamerasrc
2020-10-13 16:14:26.389621: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.2

We would need it in nvinfer plugin. Not sure but it may disappear if you don’t install DeepStream SDK.