awslabs/aws-iot-core-integration-with-nvidia-deepstream

`mbedtls` error only when running via Greengrass

pwolfe1 opened this issue · 0 comments

Hello,
I am running into an issue when attempting to integrate this library with a Greengrass application running on a Greengrass core device. The error I am running into is the same as what was described in #8

0:00:26.964733440 26683   0x558bea36d0 ERROR            nvmsgbroker gstnvmsgbroker.cpp:93:nvds_msgapi_send_callback:<nvmsgbroker> error(1) in sending data
ERROR: iot_tls_write L#295  failed
  ! mbedtls_ssl_write returned -0x50

This error only occurs when the greengrass service is also running. When I run my application standalone and use the command systemctl stop greengrass to pause Greengrass I am able to publish messages to the broker just fine. I am using the same set of certificates for Greengrass and nvmsgbroker - is that an issue?

Now that I am thinking about it - I would guess that this set of certs is already connected to MQTT via Greengrass and the broker is probably kicking nvmsgbroker off as there is already a client with its ID and certs on the broker. In that case, what is the recommended approach for publishing Deepstream inference data to IoT via Greengrass? Should I be attaching a probe to the output of nvmsgconv and simply use the Greengrass SDK to publish that to IoT?