#Timeout issues installing components from registry

1 messages · Page 1 of 1 (latest)

echo stump
#

Hello everyone,

I wanted to share my recent experience while working with the registry and integrating components into my robot's configuration. Before diving into developing a custom package, I decided to get a better understanding of how the registry functions.

After adding some components from the registry to my robot's configuration and saving the changes, I encountered a recurring issue. Most of the package installations failed with this error message: 'Error adding module - Module <<X>> - Error while starting module <<X>>: Timed out waiting for module <<X>> to start listening.'

In addition, on some occasions (seemingly without a pattern I could discern), I received a different error message: 'Resource rdk-internal:service:frame_system/builtin timed out during reconfigure. The default timeout is 1 minute (1m0s); you can update the VIAM_RESOURCE_CONFIGURATION_TIMEOUT environment variable to override this.'

Upon investigation, I discovered that these installation failures were due to a timeout, and to address this, I learned that the VIAM_RESOURCE_CONFIGURATION_TIMEOUT environment variable needs to be set in the service file. The format for this variable is a bit unusual, resembling '1m0s,' which translates to 1 minute and 0 seconds.

However, I couldn't find any information about this setting in the documentation, and I believe it's crucial to clarify this for others who may face similar issues. Additionally, I'm using a Raspberry Pi 3 with a relatively slow WiFi connection, which might be a contributing factor to these timeout errors.

I'd greatly appreciate it if anyone could confirm if my understanding is correct and offer any further insights or solutions to address these timeout problems. Thank you!

opal dragon
#

Hi @echo stump - what modules have you been trying to run that have been timing out? Depending on the module, some attempt to install dependancies on startup, which could take longer than the allowed startup time. I've seen this myself just today. In these scenarios, it would probably make sense that the module author consider bundling the module in a similar way to this: https://github.com/viamrobotics/python-container-module

GitHub

Example repo for bundling a Viam module using docker / podman containers - GitHub - viamrobotics/python-container-module: Example repo for bundling a Viam module using docker / podman containers

echo stump
#

Thanks for your response @opal dragon, and apologies for the delay in getting back. I decided to set up a clean environment to replicate the installations of these modules to see if the same timeout errors occur.

As for the sensors and corresponding modules that I've been working with, here's a list of them:
model: viam:disk_sensor:linux
module_id: viam:python-container-example
{
"module_id": "viam:python-container-example",
"name": "viam_python-container-example",
"type": "registry",
"version": "0.0.9"
}

model: viam:wifi_sensor:linux
module_id: viam:python-example-module
{
"module_id": "viam:python-example-module",
"name": "viam_python-example-module",
"type": "registry",
"version": "0.0.12"
}

model: biotinker:viam-os-status
{
"type": "registry",
"name": "biotinker_viam-os-status",
"module_id": "biotinker:viam-os-status",
"version": "0.0.0-1.0.6.17"
}

All of these modules failed to install due to timeout issues. The first one is based of python-container-module as you suggested but it also encounters a timeout error.

Setting the VIAM_RESOURCE_CONFIGURATION_TIMEOUT to a suitable value solves the problem. But I think it should be documented better.