A guide to basic troubleshooting of a Viam-based robotic system, easy fixes to common problems, and a list of known issues.

This document lists known issues, common troubleshooting steps (e.g., check that the SBC plugged in and turned on, etc.) and common errors, and how we resolved them. It differs from the FAQ in that the FAQ contains broad, high-level questions about Viam and its software while this section contains specific instructions for resolving software difficulties.

Common Errors

Viam App Logs

Error #1: Error reading cloud config

The following related errors may cause this issue:

Related Error: Error validating "component s.2": "name" is required.
What/Why:Component name missing.
ResolutionAdd the missing name in components and save the config. Run sudo systemctl restart viam-server.service in the terminal to restart the server.
Related Error: cannot parse config: JSON: cannot unmarshal string into Go struct field Component.components.frame of type float64.
What/Why:Check if there is a frame attribute in the components in the fancy config or in the raw JSON config. It may be that the robot config generated broken “frame” information and pre-populated the translation values with empty strings when they are currently programmed to be floats on the backend.
ResolutionDelete the entire “frame” object from the JSON config if you are not using it. The frame object looks like this:
Related Error: cannot parse config: Unexpected end of JSON.
ResolutionRun /root/viam -remove in the terminal to clear cache config from the Pi. Re-try the operation.

Error #2: SSH error on the terminal: “ssh:connect to host name-pi.local port 22: host is down”

What/Why:The Pi does not have an internet connection.
ResolutionRestart both the Pi and the server.

Error #3: “Rolling back draft changes due to error” or “Error reconfiguring robot”, both errors end with: ‘error: error processing draft changes: resource “rdk:component:board/local” not found”

What/Why:This issue can be caused by an incorrect new configuration, but it could also be caused by a code issue related to reconfiguring robots.
ResolutionRun sudo systemctl restart viam-server.service in the terminal to restart the server.

Error #4: Expected board name in config for motor.

What/Why:Check if you forgot to enter the pi name and check for any other missing component specs in config.
ResolutionAdd any missing components. Run sudo systemctl restart viam-server.service in the terminal to restart the server.

Error #5: Failed to find the best driver that fits the constraints.

What/Why:There are many possible reasons why this happens. Verify that Frame rate, frame format, video path, width, and height, have values. Viam specifies 0 for these values by default, but verify that the setting is actually there.
ResolutionRestore any missing values.

Error #6: Error configuring robot.

Clearing this related error may resolve the issue.

Related Error: error processing draft changes: expected board name in config for motor.
What/Why:The motor config is missing the board name. Verify that the motor name is present in the config.
ResolutionAdd your Pi name and component dependencies and save your configuration.

Error #7: Response closed without headers.


Github Issues

Error #8: Git fetch invalid

What/Why:This issue is caused by a problem with the sudo env and the user env. When in sudo, the RSA tokens used to connect to GitHub are removed in order to use admin credentials.

Error #9: Error serving web.


Application and Plugin Conflicts

Mac Applications

None at this time.

Windows Applications

None at this time.

Linux Applications

None at this time.

Browser Plugins

  1. PLUGIN:Allow right click - simple copy” - This Chrome plugin prevents the user from configuring a Service in the Viam app ( > Config > 3 Services).
    Indication: User unable to select a Service Type in the Create Service Pane. After clicking to display the drop-down list, choosing an item does not populate the drop-down’s “Selection.”