Xavier for deepstream-test4-app AMQP unable to connect

Hi Amycao,

I was trying deepstream-test4 AMQP using rabbitmq-c version 4.4.0 library in AGX Xavier. The broker is hosted in Cloud amqp. I followed instruction in README of deepstream-test4. Once i connect i got the error

ERROR from element nvmsg-broker: Could not configure supporting library.
Error details: /dvs/git/dirty/git-master_linux/deepstream/sdk/src/gst-plugins/gst-nvmsgbroker/gstnvmsgbroker.c(332): gst_nvmsgbroker_start (): /GstPipeline:dstest4-pipeline/GstNvMsgBroker:nvmsg-broker:
unable to connect to broker library

Here are my command and config that i used.

deepstream-test4-app -i ./opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_720p.h264 -p /opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_amqp_proto.so --conn-str=“mycloud.cloudamqp.com;5672;username” -c ./cfg_amqp.txt

Further i cat my ds.log

nvds_msgapi_connect: Connect details - host[mycloud.cloudamqp.com], port=5672, exchange=amq.topic
May 17 09:18:33 ndivia-desktop DSLOG[10674]: NVDS_AMQP_PROTO: nvds_msgapi_connect: Login credentials error. Check username & password

I am sure that i provide correct username and password. Does it matter with rabbitmq-c version i use latest 4.4.0.

my lib list:
ndivia@ndivia-desktop:/opt/nvidia/deepstream/deepstream-4.0/lib$

-rw-r–r-- 1 root root 22552 Dec 14 14:02 libnvds_azure_proto.so
-rw-r–r-- 1 root root 18408 Dec 14 14:02 libnvds_azure_edge_proto.so
-rw-r–r-- 1 root root 18360 Dec 14 14:02 libnvds_amqp_proto.so

-rwxr-xr-x 1 root root 79624 May 14 18:42 librabbitmq.so.4.4.0
lrwxrwxrwx 1 root root 20 May 16 16:22 librabbitmq.so.4 → librabbitmq.so.4.4.0
lrwxrwxrwx 1 root root 16 May 16 16:27 librabbitmq.so → librabbitmq.so.4

I appreciate your expert advice.

I am not sure version 4.4.0 if works, but one concern is did you start amqp service?
check status,
sudo service rabbitmq-server status
start,
sudo service rabbitmq-server start

I did testing with test_amqp_proto_sync program under /opt/nvidia/deepstream/deepstream-4.0/sources/libs/amqp_protocol_adaptor I got the same error

However i tried with rabbitmq-c test program and connect to cloudamqp, i managed to receive the message.

Hi Amycao,

I really appreciate your reply.

In fact, i was using cloudamqp hosted in cloud my url is mycloud.cloudamqp.com

I use the program in C Documentation - CloudAMQP and run at xavier with rabbitmq-c library. I can receive the message with username and password. In their program it has login as follow.

amqp_login(conn, vhost, 200, 131072, 0, AMQP_SASL_METHOD_PLAIN, username, password)

I am not sure that do we need to handle such login in our libnvds_amqp_proto.so library.

Hi
I looked through the code from C Documentation - CloudAMQP, seems it have some different API compared to version we used, i think maybe that’s the reason caused you have this issue.

Thank for your time and consideration. In the meantime, i am exploring using with Azure IoThub. I will let you know my progress.

Hi Amycao,

I managed to connect Azure IoTHub. I have to settle currently with Azure. In the meantime, please let us know if there is update in amqp_protocol_adaptor. Thank.

Are we able to expect changes in amqp_protocol_adaptor by NVIDIA?

May I know below information:
• Hardware Platform (Jetson / GPU)
• DeepStream Version
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)

Here are the my system setup.

Jetson AGX Xavier
ARMv8 Processor rev 0 (v8l) × 8
NVIDIA Tegra Xavier (nvgpu)/integrated
OS Ubuntu 18.04 LTS 64 bits

Deepstream
deepstream-app version 4.0.2
DeepStreamSDK 4.0.2

Jetpack version
Package: nvidia-jetpack
Version: 4.3-b134
Architecture: arm64
Maintainer: NVIDIA Corporation
Installed-Size: 194

TensorRT Version
6.0.1-1+cuda10.0

NVIDIA GPU Driver Version

R32 (release), REVISION: 3.1, GCID: 18186506, BOARD: t186ref, EABI: aarch64, DATE: Tue Dec 10 07:03:07 UTC 2019

CUDA version
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Mon_Mar_11_22:13:24_CDT_2019
Cuda compilation tools, release 10.0, V10.0.326

We do not have plan to add support for cloudamqp, you can use the DeepStream messaging interface, nvds_msgapi , to implement a custom protocol message handler.
https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvmsgbroker.html