Tracking/NvDcf of deepstream-5.0 is not working as done by Tracking/NvDcf of deepstream-4.X

• Hardware Platform (Jetson / GPU) : Jetson TX2 - 4GB Ram
• DeepStream Version : DS-5.0
• JetPack Version (valid for Jetson only) : JetPack 4.4
• TensorRT Version**
• NVIDIA GPU Driver Version (valid for GPU only)**

We are moving our application from Deepstream-4.X to Deepstream-5.0,
We are setting up a pipeline similar to below one

    interpipeSrc-1  -> queue -> NvVideoConvert ->  \														       / AppSinkBin-1 
    interpipeSrc-2  -> queue -> NvVideoConvert ->  /	-> NvStreamMux -> NvInfer -> NvTracker -> NvStreamDemux -> \ AppSinkBin-2
    . . . . . . .    . . . .   . . . . . . . .     /                                                              \  . . . .
    interpipeSrc-N  -> queue -> NvVideoConvert -> /														         \ AppSinkBin-N

this pipeline is correctly working with Deepstream-4.X but when using with Deepstream-5.0 we get following assertion

GPUassert_CUFFT: CUFFT_INVALID_DEVICE /dvs/git/dirty/git-master_linux/deepstream/sdk/src/utils/nvdcf/src/modules/NvDCF/NvDCF.cpp 1012

it seems there is something to be adjusted for new tracking … of for new DCF algorithm …
Could it be our tracking/Dcf configuration files require some modfications ?

Can you check what is required at line 1012 of your nvdcf/src/modules/NvDCF/NvDCF.cpp ?

here more traces got during application running

	setting gie batch-size to 2
	setting gie interval to 2
	OK: create_gie_bin_CCM success
	OK: create_tracking_bin_CCM success** INFO: <Create_Core_Components:705>
	OK: Created element 'demuxer'

   ... setting CoreInferencePipe to PLAYING  ....
	gstnvtracker: Loading low-level lib at /mnt/disk/CRS/CCM_AS_CRS/inferNetwork__Tiny_YoloV3/libnvds_nvdcf.so
	gstnvtracker: Batch processing is ON
	gstnvtracker: Past frame output is OFF
	GPUassert_CUFFT: CUFFT_INVALID_DEVICE /dvs/git/dirty/git-master_linux/deepstream/sdk/src/utils/nvdcf/src/modules/NvDCF/NvDCF.cpp 1012
	terminate called after throwing an instance of 'boost::wrapexcept<boost::log::v2_mt_posix::system_error>'
	  what():  Failed to set TLS value: Invalid argument
	terminate called recursively

Not sure if you specify a GPU ID - For Jetson it would necessarily be 0. This error may happen if an invalid ID is used.
Also can you provide the tracker properties.

ok, … we checked all parameters and all other stuff … and it seems that problem was due to a contemporary presence of low level linked libraries with different version, … it should be due to a not perfect low level mechanism to build our runtime test application … now we avoided this mixing of libraries and it seems that new tracking is working.

In any case, thanks for support
Maurizio.

Hello Maurizio, could you elaborate on which libraries mixing threw the error, it looks like I’m facing a similar predicament?