Troubleshooting Robotic Processes

This page describes some common issues that developers may encounter when coding, configuring, and testing a robotic process. Read on to learn how to fix these problems.

Appian RPA Resource Configuration

I've already installed Java, but the resource doesn't detect it.

Check that the JRE path (set when the resource was created) exists and that the JDK or JRE software is correctly installed.

rpa-troubleshoot-1.png

To check the installation on the resource shown in the image, you can use the command prompt to run c:\jdk-13.0.1\bin\java --version" and you should get the following result.

rpa-troubleshoot-2.png

If you have opted for setting the path using the %JAVA_PATH% environment variable (our recommendation), you have to type %JAVA_HOME%\bin\java --version.

If the path is not correct, delete the current resource and create a new one with the appropriate path.

The resource is started but it is not connected.

If the resource icon is not displayed in red, this means that it is not connected to the server.

rpa-troubleshoot-3.png

Check if your organization has activated a firewall on this machine to prevent access to the console URL.

Check if your organization is using a proxy for internet access. If this is the case, you must include the proxy settings in the jidoka.l4j.ini file. This file must be created in the same directory where the jidoka.exe file was installed. Request the proxy settings to your network administrator, and set the values in the file as shown.

1
2
3
4
5
6
7
8
-Dhttp.proxyUser=USER
-Dhttp.proxyPassword=PASSWORD (password could be encrypted using the Appian RPA resource)
-Dhttp.proxyHost=PROXY_ADDRESS
-Dhttp.proxyPort=8080
-Dhttps.proxyUser=USER
-Dhttps.proxyPassword=PASSWORD (password could be encrypted using the Appian RPA resource)
-Dhttps.proxyHost=PROXY_ADDRESS
-Dhttps.proxyPort=8080

The robotic process execution returns an exception of the type "java.lang.OutOfMemoryError: Java heap space."

This kind of error is due to insufficient assigned memory for the resource executing in the computer. In general, the resource does not require too much memory, but the use of the IExcel module or high number of images in the Falcon module requires a necessary memory expansion assigned to the process.

To solve these errors, we can do the following:

  1. Increase the RAM available for the Java process:

    To expand the available RAM for the Java process, it's necessary to configure the maximum available memory by adding the Java standard parameters -Xms and -Xmx in the jidoka.l4j.ini file. The first one sets the initial memory, and -Xmx sets the value for maximum memory. We should use the maximum RAM the system allows without affecting applications used by robotic processes. For example, this could be -Xms512m -Xmx2048m.

  2. Relaunch the resource's agent:

    The garbage collector in Java allows you to free up the used memory after each execution. But due to the design of Java, sometimes it is not completely released and the available memory decreases in each execution. To avoid this problem, you can configure in the console for the resource to be restarted when it reaches a certain threshold of used memory (our recommendation is 80%). To do this, you have to define the event in the resource configuration, and define a NODE_RELAUNCH action.

rpa-troubleshoot-4.png rpa-troubleshoot-5.png

I have increased the available RAM in jidoka.l4j.ini and now the resource doesn't start.

This error occurs when you are trying to reserve more memory for Java than the OS allows. We recommend that you check your computer's RAM to set the appropriate -Xmx value.

If you are running on a 32-bit Java Virtual Machine, you should know that this version cannot handle too much memory, even if the computer's capacity is properly sized.

Create and run your first Appian RPA robotic process

My first robotic process is just waiting.

You have executed "my-first-robot" but the robotic process is queued up and still waiting for a resource.

rpa-troubleshoot-6.png

If this is the case, perform the following checks:

  1. Check that your resource is online.
  2. Ensure that your new robotic process has the same permission as the resource. If not, the robotic process will not choose that resource for execution.

rpa-troubleshoot-7.png

Once these checks have been made, relaunch the robotic process.

Modify your first Appian RPA robotic process

I receive an error deploying my new code. It says non-resolvable parent POM.

If the following error occurs when importing or compiling your first robotic process:

Project build error: Non-resolvable parent POM for com.novayre.jidoka.robot.test:hello-world:0.0.1: Failure to transfer com.novayre.jidoka.robot:jidoka-robot-parent:pom:x.y.z from https://myrepository.jidoka.io/nexus/content/repository/jidoka/ was cached in the local repository, resolution will not be reattempted until the update interval of jidoka has elapsed or updates are forced.

You should check the following points:

  • Launch the configurator tool to be ensure that your Maven installation is correctly configured.
  • Verify that your IDE is using the right settings.xml in your Maven Build.

    Check that your settings.xml file is stored in your user directory. C:/Users/<username>/.m2/settings.xml.

    For example, when you configure a new Maven Build in Eclipse, the system suggests a path for the file setting.xml (see the image below where the user is jidoka). You have to check that your file is stored in this path.

    rpa-troubleshoot-8a.png rpa-troubleshoot-8.png

  • Your settings.xml file must contain an entry for your repository id.

    In your pom.xml file, you should define your Maven repository URL with an id (<id>jidoka</id>). The credentials for this id must be defined in your settings.xml file. For example:

    1
    2
    3
    4
    5
    6
    7
    
      <servers>
       <server>
        <id>jidoka\</id>
         <username>my_maven_user\</username>
         <password>my_maven_password\</password>
       </server>
      </servers>
    
  • Check the URL for your Maven repository in the web browser. This URL is defined in your pom.xml file, for example: https://YOUR_APPIAN_CLOUD_URL/rpa-repo/repository/jidoka/. You should be able to log in using the credentials from your Maven settings.xml file.

I receive an error deploying my new code. It says I'm unauthorized.

If the following error occurs when importing or compiling your first robotic process:

[FATAL] Non-resolvable parent POM for com.novayre.jidoka.robot.test:my_user_HelloWorld:0.0.1: Could not transfer artifact com novayre.jidoka.robot:jidoka-robot-parent:pom:x.y.z from/to jidoka (https://myrepository.jidoka.io/rpa-repo/repository/jidoka/ : Access denied to https://myrepository.jidoka.io/rpa-repo/repository/jidoka/com/novayre/jidoka/robot/jidoka-robot-parent/x.y x/jidoka-robot-parent-x.y.z.pom. Error code 401, Unauthorized and 'parent.relativePath' points at wrong local POM @ line 10 column 10

You should check these points:

  • You're probably using the wrong Nexus credentials. The password has to be the same you used to set up the development environment with configurator. That is, the one that is in your settings.xml file (go to your pc at USER_HOME/.m2/settings.xml to find it).

    1
    2
    3
    4
    5
    6
    7
    
      <servers>
       <server>
        <id>jidoka\</id>
         <username>my_maven_user\</username>
         <password>my_maven_password\</password>
       </server>
      </servers>
    
  • Check the URL for your Maven repository in the web browser. This URL is defined in your pom.xml file, for example: https://YOUR_APPIAN_CLOUD_URL/rpa-repo/repository/jidoka/. You should be able to log in using the credentials from your Maven settings.xml file. If you can't access it, please contact your system administrator.

I don't see my Main Class in the Technical Information window.

If you don't see your main class in the Appian RPA Console (see image below), you should check the configuration following the steps detailed in the previous section.

rpa-troubleshoot-9.png

First, access to the Maven repository with the Maven URL and credentials used in the IDE to deploy the robotic process.

Second, check the Group, Robotic Process, and Version to ensure that they are the same in the console as in pom.xml. For example, in this case, the pom.xml file contains:

1
2
3
4
\<groupId>com.novayre.jidoka.robot.test\</groupId>_
\<artifactId>HelloWorld.myUser\</artifactId>_
\<packaging>jar\</packaging>_
\<version>0.0.1\</version>_

rpa-troubleshoot-10.png

I don't see my new method in the workflow.

You have created a new method in your IDE:

1
2
3
public void newMethod() {
    server.info("This is a new method");
}

However, after compiling and deploying, you don't see it in the console.

rpa-troubleshoot-11.png

Maybe you haven't correctly linked your code with the Technical data in the Console.

You must check the robotic process configuration as in the previous section.

To be sure, change in your pom.xml the Version or the Artifact, and redeploy. For example:

1
2
3
4
<groupId>com.novayre.jidoka.robot.test\</groupId>
<artifactId>my_user_HelloWorld\</artifactId>
<packaging>jar\</packaging>
<version>0.0.2\</version>

Change the Technical Information in your console. And you will see the new version:

rpa-troubleshoot-12.png

Check if you are able to see the new method.

rpa-troubleshoot-13.png

Note that it is not necessary to change the Version number in each deployment. This suggestion is intended to ensure that your robotic process is correctly linked to your source code.

Debug your first Appian RPA robotic process

I have created the jidoka.l4j.ini file but the debug doesn't start

You have to make sure that the file doesn't have the .txt extension, that is sometimes added when editing the file.

Review the file content. You should have this line:

-Xdebug -Xrunjdwp:transport=dt_socket,address=13000,server=y,suspend=n

Make sure that the resource is started and connected to the server. If the jidoka.l4j.ini file does not have the right format, it will not start.

If your resource is running on another machine, you must check that you can connect to the remote port. For example:

rpa-troubleshoot-14.png

In the command prompt, test the telnet command to the attached port. If it is not working, you don't have visibility to the resource debug port. Check the firewall options or try to choose with a smaller number, sometimes the port 13000 is not available.

rpa-troubleshoot-15.png

If you have a connection you'll see the following:

rpa-troubleshoot-16.png

Open in Github

On This Page

FEEDBACK