Monthly, annual, and 3-year single-user subscriptions of Arnold 6 are now available on the Autodesk e-store
No more license servers! With a new single-user subscription, you just sign in with your Autodesk ID.
Monthly, annual, and 3-year single-user subscriptions of Arnold 6 are now available on the Autodesk e-store
No more license servers! With a new single-user subscription, you just sign in with your Autodesk ID.
One of the strange thing about supporting Arnold at Autodesk is that you have to be a guru-level licensing expert on Autodesk licensing (not RLM, but Autodesk licensing).
In this case, Maya 2019 would silently fail at startup. Sometimes you’d see the splash screen, but then that would just disappear.
ERROR: checkoutLicense: Failed to authorize license
JsProductLicenseFact.loadSelectedProductInfoKey - Unable to get selected product key due to unknown problem.
TIP All these log files are in the Temp folder.
Process Monitor confirmed that the ProductInformation.pit file was missing:
ProductInformation.pit is an all-important file used by the licensing infrastructure. Every Autodesk product must be registered in that pit file.
If ProductInformation.pit is missing, or corrupted, then everything stops working.
It’s not rocket science, but here’s a little application of the scientific method to technical support.
The Autodesk licensing system loads AdlmIntRes.xml
I used dtruss on macOS and Process Monitor on Windows to see what files are accessed by the licensing system. (On Linux, I would use strace)
On Windows, the file %LOCALAPPDATA%\Autodesk\Logs\AdlmIntRes.xml is loaded.
On macOS: $TMPVAR/AdlmIntRes.xml:
56944/0x16208b8: stat64("/var/folders/vb/1d7zhsx97q7_ddz43nccbyj00000gn/T//AdlmIntRes.xml\0", 0x7FFF55D22F00, 0x0) = 0 0 56944/0x16208b8: stat64("/var/folders/vb/1d7zhsx97q7_ddz43nccbyj00000gn/T//AdlmIntRes.xml\0", 0x7FFF55D22F30, 0x0) = 0 0 56944/0x16208b8: open_nocancel("/var/folders/vb/1d7zhsx97q7_ddz43nccbyj00000gn/T//AdlmIntRes.xml\0", 0x0, 0x1B6) = 37 0
On Linux: /var/tmp/AdlmIntRes.xml
Autodesk licensing will fail if there’s a problem with AdlmIntRes.xml
To use Autodesk licenses for Arnold when you batch render with Maya, Arnold must be registered in the Product Information file (aka the PIT file).
Normally the MtoA installer does this for you. But if you’re running Maya and MtoA from a network install, then Arnold won’t be registered in the PIT file, and you’ll see this in the Arnold log:
00:00:00 381MB WARNING | rendering with watermarks because of failed authorization: 00:00:00 381MB | [rlm] error initializing license system: 00:00:00 381MB | [rlm] * Can't read license data (-102) 00:00:00 381MB | [clm] product key not found (44)
and you’d see something like this in the Adlm.log:
337296 2017/11/03 12:29:54 Reason=Fatal error 337296 2017/11/03 12:29:54 ComputerName=WORKSTATION 337296 2017/11/03 12:29:54 OS=6.1.7601.Service Pack 1 337296 2017/11/03 12:29:54 File=AdlmIntLicense.cpp,Line=594 337296 2017/11/03 12:29:54 VendorID=6 [ADLMPIT] 337296 2017/11/03 12:29:54 VendorError=12 [The root information in Product Information Table XML file is missing] 337296 2017/11/03 12:29:54 Reason=Fatal error 337296 2017/11/03 12:29:54 ComputerName=WORKSTATION 337296 2017/11/03 12:29:54 OS=6.1.7601.Service Pack 1 337296 2017/11/03 12:29:54 File=AdlmIntLicense.cpp,Line=595 337296 2017/11/03 12:29:54 AdlmIntError=25 [The product key was not found]
MtoA includes pit/pitreg for registering Arnold in the PIT file, so you just need to run pitreg on the local machine, like this:
C:\solidangle\mtoadeploy\2017\pit\pitreg.exe Succesfully added Arnold information to PIT file
Don’t do this:
cd C:\solidangle\mtoadeploy\2017\pit\ pitreg.exe
because you’ll get this error:
Failed to add Arnold information to PIT file (Error 26)
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:
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 192.168.221.1 192.168.223.1 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).
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)
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.
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 7M2K3CE5F822H1BS2TYR29EKEUCWGY70B9P1FWCTHJCSV"
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 7X25R5KR42PNBWUKR22M09CHC72GE07WRSGKJQJKF54C30FPFKSCG0"
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.
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:
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)
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:
If you’re still using ARNOLD_LICENSE_HOST and ARNOLD_LICENSE_PORT, now’s the time to stop. As of Arnold 4.2.4.0, these deprecated environment variables are no longer supported.
Instead, use solidangle_LICENSE.
For example, if you currently have these environment variable settings:
ARNOLD_LICENSE_HOST=lic_server ARNOLD_LICENSE_PORT=5055
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 4.2.4.0 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.