Troubleshooting

Estimated reading: 5 minutes 1161 views

Troubleshooting

When troubleshooting an unattended Runner configured in a Virtual Machine (VM), it’s essential to ensure that all foundational components are correctly set up. Below documentation details the different troubleshooting scenarios in Runner.

1. Restart VM

Sometimes, issues may arise due to system resource locks, stuck processes, or other VM-specific problems that can hinder the performance of your Robility Runner.

When is this required?

Identify Issues: Performance issues are identified, such as a robot failing to execute tasks, unusual delays, processes getting stuck, and failure to update the system “Unlock” status.

Action: A simple restart of the VM can often resolve these issues, freeing up locked resources and resetting processes. Post restart, ensure to check the issues have been resolved.

2. Check for Active Sessions

To ensure that the Runner can execute its tasks without interference from other active user sessions on the VM, please ensure that the following are not being interfered during the execution of bot in Runner.

If there are multiple active sessions (e.g., a user is logged in remotely or another robot is active), it can cause various issues such as:

1. Screen Resolution Conflicts: Different sessions may have different screen resolutions, causing UI elements to be positioned incorrectly.
2. Application Access Issues: Applications might open in the wrong session, or the robot might not be able to interact with them as expected.
3. Execution Failures: The robot might fail to execute tasks properly if it cannot control the environment as expected.

When is this required?

These issues are identified when someone tries to log in to the VM during bot execution or while running any background processes. This disruption occurs because changes in screen resolution can cause image-based automation to fail, as the bot may not recognize the expected visual elements.

Action: Terminate all active sessions and close any background processes. Avoid using the machine or VM during the automation process. By ensuring there are no conflicting active sessions, the robot can execute tasks in a controlled environment, minimizing errors related to screen resolution or application access.

3. Check Resource Availability

Scenarios: When the allocated VM does not have sufficient CPU, memory, and disk space available for the robot to run effectively. Resource constraints can lead to issues such as the robot hanging, running slowly, or failing entirely.

When is this required?

1. CPU Usage: Ensure that the CPU is not overly taxed by other processes. High CPU usage could cause the robot’s tasks to lag or fail.
2. Memory (RAM): Check the available RAM to ensure that the robot has enough memory to load and process applications. Insufficient memory can cause the robot to hang or crash.
3. Disk Space: Verify that there is adequate disk space, especially if the automation involves handling large files or generating logs. Running out of disk space can disrupt the robot’s operations.

Action:

1. Set thresholds for each resource (e.g., CPU usage below 80%, at least 2 GB of free RAM, and at least 10 GB of free disk space).
2. Ensure that no other processes or users are consuming excessive resources or interfering with the robot’s operation.
3. Terminate/Reduce Resource Usage: If a process or user session is found to be consuming excessive resources, kill the unnecessary or non-critical process.
4. By ensuring that system resources are available and not overburdened, the robot can execute tasks efficiently without delays or failures.

4. Ensure Runner service is Running

Scenario: When Robility Runner service is not actively running on the VM. This service is necessary for the robot to execute tasks and update the machine status, Runner status and workflow updates to the RobilityManager.

How to check the Service Status?

1. Access Services App: Open the Services application on the VM. This can be done by typing services.msc in the Run dialog or search bar.
2. Locate the Service: Find the “Robility Runner” service in the list of services.
3. Verify Status: The service should have a status of “Running.” This indicates that the robot is ready to execute tasks.
4. Stopped/Paused: If the service is stopped or paused, the robot won’t be able to run. In this case, you’ll need to start or restart the service.

Action:

1. Start Service: If the service is not running, right-click on “Robility Runner” and select “Start.”
2. Troubleshoot: If the service fails to start, further troubleshooting may be needed, such as checking system logs or reinstalling the Robility Runner. If the issue persists after these steps, restart the machine and then contact the Robility Support team.

5. Workflow Not Stopped Despite Using GetStopStatus in VM

Scenario: The GetStopStatus activity is designed to check if a stop command has been issued to the robot. However, if the workflow is stuck in a loop or a long-running transaction, the bot may not respond to the stop command in a timely manner.

The loop or ongoing transaction may prevent the workflow from reaching a point where it can check the stop status or gracefully exit.

Actions:

1. Optimize Loop Handling: Set break conditions or timeouts in loops to enable exits and respond to stop commands.
2. Graceful Exit Strategy: Use Try-Catch blocks to handle exceptions and stop commands gracefully.
3. Workflow Design: Divide complex workflows into smaller components for easier stop command management.
4. System Monitoring: Regularly check the robot and VM to ensure responsiveness to stop commands.

Share this Doc

Troubleshooting

Or copy link

CONTENTS