By staff

Dealing with Activation Read Timeouts (error -105)

On rare occasions, an activation request will get a read timeout status return (-105). There are several causes to the RLM_EH_NET_RERR (-105) error.  They are described in the debugging section of the manual, repeated at the end here.

If you can activate from some systems, then the first cause (server down) is unlikely.

More likely is that there is either a proxy/firewall/anti-virus package blocking the response or the system fails a reverse DNS lookup and is timing out.

The easiest way to test for this is to set the activation timeout to 60 seconds.  Do this by setting the environment variable RLM_ACT_TIMEOUT to 60, and re-running your activation utility.  If this fixes the problem, then you can either leave the timeout set to 60 or have your customer add a PTR record for their host as described in this article:

For help setting an environment variable, see this blog post.

If increasing the timeout doesn’t help, then disabling the proxy/firewall/anti-virus would be the next thing to try.  It is beyond the scope here to attempt to address all possible proxy servers, firewalls, and anti-virus software.

Here is the debugging section from the manual:

How to Set Environment Variables

Environment variables are flags that you set outside an application that the application reacts to.  Applications and libraries like RLM read environment variables that they define.  Some RLM environment variables are RLM_ACT_TIMEOUT (adjusts the timeout to the activation server to the value supplied), RLM_QUEUE (enables queueing for a license), and RLM_ROAM (controls setting up, using, and returning roamed licenses).  This is not an exhaustive list, but gives you an idea of what environment variables can do.  In some situations, a Reprise Software support person may ask you to set a particular environment variable to some value and then run your application.  This article is about how to set environment variables, not which ones are available in RLM.

A characteristic of environment variables is that they are set in a process, like a Windows command window or a Unix/Linux shell, and are inherited by processes that are created by that process.  So if you create 2 command windows and you set an environment variable in window 1, it won’t be set in window 2.  But if you run an application in window 1, the environment variable will be set in that application.

The easiest way to use an environment variable with RLM is to set it in a command window or shell, then invoke the application from that window or shell.  For example, if you wanted to set RLM_DIAGNOSTICS to cause the application to write RLM diagnostic information to the file “diag.txt”

  • Windows: set RLM_DIAGNOSTICS=diag.txt
  • sh, bash : export RLM_DIAGNOSTICS=diag.txt
  • csh: setenv RLM_DIAGNOSTICS diag.txt

Then invoke the application from the window where you set RLM_ROAM.
But it’s inconvenient or sometimes impossible to invoke the application from a command window on Windows.  In that case you can set the environment variable via the Windows control panel:

  • Bring up the control panel.
  • Search for “environment” in the search box at the top right.
  • Click on “Edit environment variables for your account.
  • Enter the environment variable name and value.
  • Click on OK in both windows.