[RLM] Communications error with license server (­17)

These warnings mean that Arnold can connect to the RLM license server, but Arnold cannot connect to the solidangle ISV server:

00:00:12 14MB WARNING | [rlm] * Communications error with license server (­17)
00:00:12 14MB WARNING | [rlm] * Connection refused at server (­111)

Usually the problem is that the solidangle ISV server is not running.

You can check the status of the solidangle ISV server with RLM Web Admin. I like the get the RLM diagnostics (Diagnostics > Run Diagnostics) from RLM Web Admin and review that.

In rare cases, the problem is something else, such as:

  • Some sort of network connection problem. For example, I recently had a case where we would get these warnings when we used the IP address of the license server in solidangle_LICENSE. But as soon as we switched to using the hostname, everything worked.
  • Another RLM instance is running and listening to port 5053, and that instance doesn’t have a solidangle ISV running. I heard about this second-hand, from a customer; I didn’t see it with my own eyes and I don’t know how it’s possible. You can have multiple RLM instances running, but each instance has to have a different port otherwise you get ” “Port 5053 in use, waiting…” messages and the second RLM won’t start.

[RLM] Reserving licenses

Reserving licenses is an RLM feature and is documented in the RLM User Guide (see “The ISV Options File” section).

You use the RESERVE keyword in the ISV options file (solidangle.opt) to reserve licenses for specific users, machine names, or IP addresses.

For example, this reserves 2 licenses for machines with the specified IP addresses:

INTERNET_GROUP renderfarm 
RESERVE 2 arnold group renderfarm 

This reserves five licenses for named users:

GROUP myusergroup steve stephen steven stevie stevo
RESERVE 5 arnold group myusergroup 

You can edit the ISV options in the RLM Web Admin page. You need to restart the ISV server after you change the options. Here’s a short video walkthrough (no audio).

[RLM] The case of the false positive for virtual machine detection

When RLM detects that it’s running on a virtual machine, you’ll see “This server does not run on virtual machines, exiting” and “solidangle initialization error: 5, not restarting” in the RLM debug log:

06/22 11:45 (solidangle) RLM License Server Version 10.1BL2 for ISV "solidangle"
06/22 11:45 (solidangle) Settings from RLM Version 10.1BL2 for ISV "solidangle"
06/22 11:45 (solidangle) This server does not run on virtual machines, exiting
06/22 11:45 (rlm) Reread request (for everyone) by webuser@example-pc
06/22 11:45 (rlm) Restarting solidangle on port 55555
06/22 11:45 (rlm) New thread created to watch ISV solidangle
06/22 11:45 (rlm) Starting any new ISV servers...
06/22 11:45 (rlm) 
06/22 11:45 (rlm) solidangle initialization error: 5, not restarting
06/22 11:45 (rlm) 
06/22 11:45 (rlm) The ISV server is running on the wrong host.
06/22 11:45 (rlm) 
06/22 11:45 (rlm) This can happen if:
06/22 11:45 (rlm)  The hostid of this machine doesn't match any license file
06/22 11:45 (rlm)  - or -
06/22 11:45 (rlm)  You are attempting to run the server on a virtual machine

In this case, the machine wasn’t virtual. And both RLM and the solidangle ISV were the same version (10.1BL2), so it wasn’t a case of a newer solidangle.set with an older RLM, which gives you the same log output.

The problem was the older RLM version. The older RLM 10.1BL2 would sometimes issue a false positive for virtual machine detection. The solution is to upgrade to the newer RLM 11.2BL2, which you can get by downloading Arnold or later.

[RLM] No ISV servers to start redux

The technical reason for a “No ISV servers to start” message is that that RLM could not read the ISV line from the license file.

So, for example, if you somehow save the license file as a binary file that looks like this:


then you’ll get No ISV servers to start, because obviously there’s no ISV line in that file.

Note: You’ll also see The hostname in the license file(s) may be incorrect, but that warning can always be safely ignored.

05/14 09:17 (rlm) 
05/14 09:17 (rlm) WARNING: No license file for this host (StephenBlair-PC)
05/14 09:17 (rlm)          The hostname in the license file(s)
05/14 09:17 (rlm)          may be incorrect
05/14 09:17 (rlm) 
05/14 09:17 (rlm) License files:
05/14 09:17 (rlm)     arnold_eval_90b11c647d93_20150514.lic
05/14 09:17 (rlm) 
05/14 09:17 (rlm) RLM License Server Version 11.2BL2

	Copyright (C) 2006-2014, Reprise Software, Inc. All rights reserved.

05/14 09:17 (rlm) License server started on StephenBlair-PC
05/14 09:17 (rlm) Server architecture: x64_w2
05/14 09:17 (rlm) License files:
05/14 09:17 (rlm)     arnold_eval_coffee0000_20150514.lic
05/14 09:17 (rlm) 
05/14 09:17 (rlm) Web server starting on port 5054
05/14 09:17 (rlm) Using TCP/IP port 5053
05/14 09:17 (rlm) ... adding UDP/IP port 5053
05/14 09:17 (rlm) (No ISV servers to start)

[RLM] No ISV servers to start

In RLM, an ISV server is a license server for a specific product. For Arnold, the ISV server is solidangle.


So if you see No ISV servers to start in your log:

05/07 15:52 (rlm) RLM License Server Version 11.2BL2

        Copyright (C) 2006-2014, Reprise Software, Inc. All rights reserved.

05/07 15:52 (rlm) License server started on StephenBlair-PC
05/07 15:52 (rlm) Server architecture: x64_w2
05/07 15:52 (rlm) License files:
05/07 15:52 (rlm)     arnold_eval_90b11c647d93_20150428.lic
05/07 15:52 (rlm)
05/07 15:52 (rlm) Web server starting on port 5054
05/07 15:52 (rlm) Using TCP/IP port 5053
05/07 15:52 (rlm) ... adding UDP/IP port 5053
05/07 15:52 (rlm) (No ISV servers to start)

That means there won’t be a solidangle ISV server running, and there won’t be any Arnold licenses available:

Here’s a couple of licenses that result in No ISV servers to start.

  • This license is missing a line break. The ISV line has to be on a separate line; otherwise RLM won’t recognize the ISV statement and won’t find the ISV server name.
    HOST localhost 0000coffee 5053 ISV solidangle port=66666
    LICENSE solidangle arnold 20161030 28-apr-2015 1 share=h
      min_timeout=120 start=28-apr-2015 issuer=Stephen customer=00340
      issued=28-apr-2015 _ck=fed6ff299c sig="60P0453GDCA9UJKPGJSGAGJK8YWFY
  • This license is a node-locked license, so there is no ISV line, and you don’t need a license server to use the license.
    LICENSE solidangle arnold 20150430 30-apr-2015 uncounted
      hostid=90b11c647d93 start=03-mar-2015 issuer=Stephen customer=00340
      issued=3-mar-2015 replace _ck=f9d7d6ce9c sig="60PG4512N1FRJ14HSNHACV

    How do I know it is a node-locked license? First, there’s no HOST or ISV lines, and second, it’s uncounted. Only node-locked licenses have the uncounted keyword.

[RLM] The case of the expired license

This case shows that if your license expires overnight, it may not be obvious that that is the problem the next morning. For example, in this case, the customer reported that:

  • The RLM license server was running.
  • The solidangle ISV server was running.
  • But clients were reporting watermarks and “No license for product (-1)” warnings in the Arnold log:
    00:00:02   815MB WARNING | [rlm] error checking out license for arnold (version 20150428):
    00:00:02   815MB WARNING | [rlm]  * No license for product (-1)
  • There were no errors in the ISV debug log in RLM Web Admin, just the Reread request by automatic@midnight entries (the RLM license server automatically rereads license files at midnight every day).

Although there were no errors in the log, a check of the ISV solidangle status page showed something wrong: where’s the License Pool Status???

And a quick look at the log files in the RLM folder revealed the problem:

05/02 00:00 (solidangle) ==== Reread request by automatic@midnight ====
05/02 00:00 (solidangle) Using options file solidangle.opt
05/02 00:00 (solidangle) Setting TIMEOUT for arnold to 120 secs.
05/02 00:00 (solidangle) 
05/02 00:00 (solidangle) Re-reading license files, supporting products:
05/02 00:00 (solidangle) (No valid non-expired licenses found)05/07 00:00 (solidangle) 
05/02 00:00 (solidangle) License files:
05/02 00:00 (solidangle)     arnold_eval_0000coffee_20150428.lic

Note that the license file name arnold_eval_0000coffee_20150428.lic includes the expiry date: 20150428

And you can always check the actual license file to see the expiry date on the license:

[Arnold] [RLM] ARNOLD_LICENSE_HOST and ARNOLD_LICENSE_PORT no longer supported

If you’re still using ARNOLD_LICENSE_HOST and ARNOLD_LICENSE_PORT, now’s the time to stop. As of Arnold, these deprecated environment variables are no longer supported.

Instead, use solidangle_LICENSE.

For example, if you currently have these environment variable settings:


you can replace them with this:

solidangle_LICENSE 5055@lic_server

Note: solidangle_LICENSE was added in Arnold 4.0.4 (released back in 23-May-2012).

Also new with Arnold is the ability to use a .lic file instead of an environment variable. Just create a .lic file that looks like this:

HOST lic_server 5055

and put the .lic file in the same folder as Arnold (ai.dll, libai.so, or libai.dylib).

If you want to put the .lic file somewhere else, then you need to set solidangle_LICENSE to point to the lic file.