The case of the hrender that failed to start AdskLicensingAgent


Or, “things that happen when you use single-user licensing on a render node” 😉

In this case, a Houdini command-line render with Arnold (HtoA) failed because the AdskLicensingAgent failed to start.

---------------------------
AdskLicensingAgent
---------------------------
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: minimal, offscreen, webgl, windows.

---------------------------
OK  
---------------------------

After AdskLicensingAgent crashed, the render would continue, but license authorization would fail:

00:00:00   148MB         | authorizing with license manager: user ...
00:00:31   153MB WARNING | rendering with watermarks because of failed authorization:
00:00:31   153MB         |  [clm.v2] timeout before callback was called

Using Process Monitor, I saw (as expected) that the problem was that the AdskLicensingAgent was loading Qt platform plugins from Houdini:

The solution? Set QT_QPA_PLATFORM_PLUGIN_PATH to point to the AdskLicensingAgent\platforms folder.

set QT_QPA_PLATFORM_PLUGIN_PATH=C:\Program Files (x86)\Common Files\Autodesk Shared\AdskLicensing\Current\AdskLicensingAgent\platforms

[clm] product key not found (44)


The Problem

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]

Solution

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)