Licensing troubleshooting on Linux


Troubleshooting licensing problems on a Softimage Linux workstation? Here’s a quick summary of some things to look for on the workstation:

  • The Location of the license server is specified by the ADSKFLEX_LICENSE_FILE environment variable that is specified in /usr/Softimage/Softimage_2013/.xsi_2013.
  • The file ~/.flexlmrc can also be used to specify the license server location:

    ADSKFLEX_LICENSE_FILE=@example:@mtlicserver

    If Softimage can’t check out a license from the server specified in .xsi_2013, then it tries the servers listed in ~/.flexlmrc. The .flexlmrc lists all the license servers from which Softimage has checked out licenses.

  • There is a licensing log file named /var/tmp/SoftimageLicense.log. This log file will contain entries that look like this:
    18377	2011/06/23	19:18:59	Reason=Fatal error
    18377	2011/06/23	19:18:59	ComputerName=localhost.localdomain
    18377	2011/06/23	19:18:59	OS=2.6.35.6-45.fc14.x86_64
    18377	2011/06/23	19:18:59	File=AdlmIntNWFBLicense.cpp,Line=766
    18377	2011/06/23	19:18:59	VendorID=3 [FLEXLM-NW]
    18377	2011/06/23	19:18:59	VendorError=-18 [Server does not support this feature]
    18377	2011/06/23	19:18:59	FLEXLM-NW=v11.9.0.0 build 87342 x64_lsb
    18377	2011/06/23	19:18:59	Reason=Fatal error
    18377	2011/06/23	19:18:59	ComputerName=localhost.localdomain
    18377	2011/06/23	19:18:59	OS=2.6.35.6-45.fc14.x86_64
    18377	2011/06/23	19:18:59	File=AdlmIntNWFBLicense.cpp,Line=749
    18377	2011/06/23	19:18:59	AdlmIntError=20 [License check out failed]
    
  • Setting FLEXLM_DIAGNOSTICS to 3 didn’t get me any diagnostics messages or logs, but I did find those diagnostics in the strace log (just search for “FLEXnet”). See this post for more info on the FLEXLM diagnostics in the strace log.

The case of the FLEXnet Licensing error:-97,121


This was another case of the dreaded “No interactive network license available” message when you start Softimage. The customer was pretty savvy, so he set FLEXLM_DIAGNOSTICS=3 and tried to start Softimage again, and got this FLEXnet Licensing error:-97,121 error:

---------------------------
FLEXible License Manager
---------------------------
FLEXnet Licensing checkout error: The desired vendor daemon is down.
Check the lmgrd log file, or try lmreread.
Feature: 85934SFTIM_2013_0F
Vendor:Host: EXAMPLE
License path: @EXAMPLE;@127.0.0.1;EXAMPLE;@example;
FLEXnet Licensing error:-97,121
For further information, refer to the FLEXnet Licensing documentation,
available at "www.flexerasoftware.com".
---------------------------
OK
---------------------------

Now, this is not typical. -91,121 is almost always an error that happens on the license server, not on the workstation (it usually indicates a problem with the SERVER line in the license file).

The %TEMP%\SoftimageLicense.log had this:

4268	2012/07/27	07:38:23	Reason=Fatal error
4268	2012/07/27	07:38:23	ComputerName=MEGACORE
4268	2012/07/27	07:38:23	OS=6.1.7601.Service Pack 1
4268	2012/07/27	07:38:23	File=AdlmIntNWFBLicense.cpp,Line=769
4268	2012/07/27	07:38:23	VendorID=3 [FLEXLM-NW]
4268	2012/07/27	07:38:23	VendorError=-97 [The desired vendor daemon is down]
4268	2012/07/27	07:38:23	FLEXLM-NW=v11.10.0.0 build 95001 x64_n6
4268	2012/07/27	07:38:23	Reason=Fatal error
4268	2012/07/27	07:38:23	ComputerName=MEGACORE
4268	2012/07/27	07:38:23	OS=6.1.7601.Service Pack 1
4268	2012/07/27	07:38:23	File=AdlmIntNWFBLicense.cpp,Line=752
4268	2012/07/27	07:38:23	AdlmIntError=20 [License check out failed]

Note that both the FLEXLM_DIAGNOSTICS and the SoftimageLicense.log say that The desired vendor daemon is down. This was the real clue, and the problem turned out to be that LMTOOLS was running multiple vendor daemons from different vendors. Assigning a specific port to each vendor daemon solved the problem.

Softimage license cascading sequence


Autodesk products use a cascading sequence to define the order in which they try to check out licenses. Here’s the cascade sequence as an ICE tree 😉

When Softimage tries to get a license, it will “cascade” from one license type to the next in the specified order. For example, if you have five Softimage licenses and one Entertainment Creation Suite Ultimate license, then the first five users to start Softimage will take Softimage licenses, and the sixth user to start Softimage will get the Suite license.

Here’s the Softimage cascade sequence as a plain-old numbered list:

  1. Autodesk Softimage 2013
  2. Autodesk Softimage Entertainment Creation Suite Standard 2013
  3. Autodesk 3ds Max Entertainment Creation Suite Premium 2013
  4. Autodesk Maya Entertainment Creation Suite Premium 2013
  5. Autodesk Entertainment Creation Suite Ultimate 2013
  6. Autodesk Animation Academy 2013
  7. Autodesk Entertainment Creation Suite For Education 2013

Note that if you start Softimage and check out a Softimage license, and then start a Suite app like Maya, then Softimage will switch over to the Suite license and free up that Softimage license it was using.

I always forget whether licenses cascade up or down. To verify the order, I pointed Softimage at a license server that had just Maya licenses, set FLEXLM_DIAGNOSTICS=3, and started xsi.exe. That gave me this sequence of error messages, which shows that the cascade order starts with a basic Softimage license (85934SFTIM_2013_0F), and then works its way through the different suite licenses.

---------------------------
FLEXible License Manager
---------------------------
FLEXnet Licensing checkout error: License server system does not support this feature.
Feature:       85934SFTIM_2013_0F
License path:  @mtl2ua0150cwy;@127.0.0.1;
FLEXnet Licensing error:-18,147
For further information, refer to the FLEXnet Licensing documentation,
available at "www.flexerasoftware.com".
---------------------------
OK   
---------------------------


---------------------------
FLEXible License Manager
---------------------------
FLEXnet Licensing checkout error: License server system does not support this feature.
Feature:       85932SIECS_2013_0F
License path:  @mtl2ua0150cwy;@127.0.0.1;
FLEXnet Licensing error:-18,147
For further information, refer to the FLEXnet Licensing documentation,
available at "www.flexerasoftware.com".
---------------------------
OK   
---------------------------


---------------------------
FLEXible License Manager
---------------------------
FLEXnet Licensing checkout error: License server system does not support this feature.
Feature:       85918MXECSP_2013_0F
License path:  @mtl2ua0150cwy;@127.0.0.1;
FLEXnet Licensing error:-18,147
For further information, refer to the FLEXnet Licensing documentation,
available at "www.flexerasoftware.com".
---------------------------
OK   
---------------------------


---------------------------
FLEXible License Manager
---------------------------
FLEXnet Licensing checkout error: License server system does not support this feature.
Feature:       85928MYECSP_2013_0F
License path:  @mtl2ua0150cwy;@127.0.0.1;
FLEXnet Licensing error:-18,147
For further information, refer to the FLEXnet Licensing documentation,
available at "www.flexerasoftware.com".
---------------------------
OK   
---------------------------


---------------------------
FLEXible License Manager
---------------------------
FLEXnet Licensing checkout error: License server system does not support this feature.
Feature:       85926ENCSU_2013_0F
License path:  @mtl2ua0150cwy;@127.0.0.1;
FLEXnet Licensing error:-18,147
For further information, refer to the FLEXnet Licensing documentation,
available at "www.flexerasoftware.com".
---------------------------
OK   
---------------------------


---------------------------
FLEXible License Manager
---------------------------
FLEXnet Licensing checkout error: License server system does not support this feature.
Feature:       85922AAA_2013_0F
License path:  @mtl2ua0150cwy;@127.0.0.1;
FLEXnet Licensing error:-18,147
For further information, refer to the FLEXnet Licensing documentation,
available at "www.flexerasoftware.com".
---------------------------
OK   
---------------------------


---------------------------
FLEXible License Manager
---------------------------
FLEXnet Licensing checkout error: License server system does not support this feature.
Feature:       85924ESEC_2013_0F
License path:  @mtl2ua0150cwy;@127.0.0.1;
FLEXnet Licensing error:-18,147
For further information, refer to the FLEXnet Licensing documentation,
available at "www.flexerasoftware.com".
---------------------------
OK   
---------------------------

If you think Softimage is not following the right cascade sequence, then this is one way to check what’s really happening.

Another thing to try if you’re having problems (like Softimage taking a Suite license instead of a Softimage license) is to delete the Cascade.cas file and restart Softimage.

Adventures with Composite 2013


My version of Composite 2013 never did start. It always gave me a Runtime Error at startup:

So I removed it and installed Composite 2013 SP1. That version silently failed: in fact, I wasn’t sure it was even running until I used Process Monitor to watch composite.exe. Process Monitor showed me that Composite was writing log files in %LOCALAPPDATA%\Temp\toxik\logs, and I found this in the stdout.log:

Exception encountered: Cannot determine a product license to use.

This suggested to me that I needed to set the environment variable ADSK_COMPOSITE_LICENSE to Softimage, and that did the trick (when I checked, that environment variable was set to 3DSMAXDESIGN, and that’s why Composite was silently failing).

As a bonus, I also found the Composite Licensing log file %LOCALAPPDATA%\Temp\toxik\adlm.Composite.2013.log. The log entries make me think that my Runtime Error was caused by a Product Information (PIT) file problem. That’s why installing Composite 2013 SP1 fixed the problem.

584	2012/07/06	11:19:44	Reason=Fatal error
584	2012/07/06	11:19:44	ComputerName=MTL2UA0150CWY
584	2012/07/06	11:19:44	OS=6.1.7600.
584	2012/07/06	11:19:44	File=AdlmIntLicense.cpp,Line=584
584	2012/07/06	11:19:44	VendorID=6 [ADLMPIT]
584	2012/07/06	11:19:44	VendorError=12 [The root information in Product Information Table XML file is missing]
584	2012/07/06	11:19:44	Reason=Fatal error
584	2012/07/06	11:19:44	ComputerName=MTL2UA0150CWY
584	2012/07/06	11:19:44	OS=6.1.7600.
584	2012/07/06	11:19:44	File=AdlmIntLicense.cpp,Line=585
584	2012/07/06	11:19:44	AdlmIntError=25 [The product key was not found]
9448	2012/07/06	11:23:17	Reason=Fatal error
9448	2012/07/06	11:23:17	ComputerName=MTL2UA0150CWY
9448	2012/07/06	11:23:17	OS=6.1.7600.
9448	2012/07/06	11:23:17	File=AdlmIntLicense.cpp,Line=584
9448	2012/07/06	11:23:17	VendorID=6 [ADLMPIT]
9448	2012/07/06	11:23:17	VendorError=12 [The root information in Product Information Table XML file is missing]
9448	2012/07/06	11:23:18	Reason=Fatal error
9448	2012/07/06	11:23:18	ComputerName=MTL2UA0150CWY
9448	2012/07/06	11:23:18	OS=6.1.7600.
9448	2012/07/06	11:23:18	File=AdlmIntLicense.cpp,Line=585
9448	2012/07/06	11:23:18	AdlmIntError=25 [The product key was not found]
13860	2012/07/10	16:03:29	Reason=Fatal error
13860	2012/07/10	16:03:29	ComputerName=MTL2UA0150CWY
13860	2012/07/10	16:03:29	OS=6.1.7600.
13860	2012/07/10	16:03:29	File=AdlmIntLicense.cpp,Line=584
13860	2012/07/10	16:03:29	VendorID=6 [ADLMPIT]
13860	2012/07/10	16:03:29	VendorError=12 [The root information in Product Information Table XML file is missing]
13860	2012/07/10	16:03:29	Reason=Fatal error
13860	2012/07/10	16:03:29	ComputerName=MTL2UA0150CWY
13860	2012/07/10	16:03:29	OS=6.1.7600.
13860	2012/07/10	16:03:29	File=AdlmIntLicense.cpp,Line=585
13860	2012/07/10	16:03:29	AdlmIntError=25 [The product key was not found]
8368	2012/07/17	09:50:58	Reason=Fatal error
8368	2012/07/17	09:50:58	ComputerName=MTL2UA0150CWY
8368	2012/07/17	09:50:58	OS=6.1.7600.
8368	2012/07/17	09:50:58	File=AdlmIntLicense.cpp,Line=584
8368	2012/07/17	09:50:58	VendorID=6 [ADLMPIT]
8368	2012/07/17	09:50:58	VendorError=12 [The root information in Product Information Table XML file is missing]
8368	2012/07/17	09:50:58	Reason=Fatal error
8368	2012/07/17	09:50:58	ComputerName=MTL2UA0150CWY
8368	2012/07/17	09:50:58	OS=6.1.7600.
8368	2012/07/17	09:50:58	File=AdlmIntLicense.cpp,Line=585
8368	2012/07/17	09:50:58	AdlmIntError=25 [The product key was not found]

Understanding the new Licensing check interval


As of the 2013 release, you can now set up your license server and Softimage workstations so that idle licenses are reclaimed by the license server and distributed to other machines.

An instance of Softimage (xsi.exe) is considered idle when there is no mouse or keyboard interaction, no command or script running, and no active progress bar. Softimage is never idle in batch mode.

2013 includes a new Licensing check interval preference (Preferences > General). Basically, this “check interval” is how long Softimage can be idle before it will give up its license. By default, the Licensing check interval is 1 minute. That means that if Softimage is idle for a minute, then the license server could reclaim the license and give it to some other user. To disable the license time-out feature, set the check interval preference to 0.

By default, the license server does not reclaim licenses when Softimage is idle. To configure the license server to reclaim idle licenses, you need to set the TIMEOUT option. To do that, create a plain text file named adskflex.opt in the same folder where your license file is located.

To set the TIMEOUT to 60 minutes for an Entertainment Creation Suite Ultimate license:

TIMEOUT 85926ENCSU_2013_0F 36000

To set the TIMEOUT for a 2012 Softimage license:

TIMEOUT 85705SFTIM_2012_0F 36000

You will need to restart the server to read the changes to the options file.

With the TIMEOUT option set on the license server, the next time your Softimage is idle for longer than the check interval, the license server may reclaim the license to give to another user. When you start working actively with Softimage again, it will try to check out another license from the server. If it gets a license, you’ll keep working and you’ll never know your license had been “lost” while idle.

However, if no licenses are available, you’ll see this:

and then you’ll have a chance to save your work:

The case of the missing Previous Version licenses


In this case, a customer received his new 2013 license for four seats of Softimage. He was able to start Softimage 2013 on four machines, but he could run Softimage 2012 on two machines only. What could be the problem?!?

Now, to diagnose this problem, you could do any one of a number of things:

  • Check the license file to make sure it has the right licenses.
  • Check the Perform Status Enquiry output from LMTOOLS, to make sure the license is actually installed.
  • Check the LMTOOLS debug log file, to see why the workstations are being refused Softimage 2012 licenses.
  • Check the workstations, to make sure they are configured properly for licensing.
  • Verify that when the customer tries to start 2012, they don’t have copies of Softimage 2013 still running.
  • Check the customer’s assets in our database (make sure they really have four licenses).

In this particular case, I could identify the issue by either checking the customers assets OR checking the actual license file. Because the problem was this:

The customer had two seats of 2013 on Subscription, and two seats of 2013 not on Subscription. Previous version usage (aka running 2012) is a Subscription benefit, so he had two 2012 licenses only.

Here’s a video walkthrough of a license file, where I point out what to look for when you’re trying to understand a license file.

In this video, I show you to tell what you’ve got in a license file.

Getting your new Softimage network license


A quick overview of how to get your new Softimage license.

I didn’t have an actual serial number, so I couldn’t go through the whole process. For that, check out this KB article:

If you don’t know how to install your new license, then check out this 2012 video, where I download a new license file and then update LMTOOLS.
https://xsisupport.wordpress.com/2011/04/07/activating-your-softimage-2012-network-license/

Licensing: Buying new licenses to run older versions


Occasionally I hear from a customer who has purchased new licenses but wants to use an older version of Softimage (because they are mid-project and don’t want to switch versions right now). For example, I recently heard from a Softimage customer who had purchased some additional 2012 licenses, but wanted to use them to run 2011.

The Autodesk licensing is not like the old Softimage licensing (where XSI 4.2 would run with a 4.0, 5.0, 6.0, or 7.0 license).

Previous version usage (the ability to run older versions of the software) is a Subscription benefit. If you buy licenses without Subscription, those licenses will run only one version of the software. For example, if you buy some Softimage 2012 licenses without Subscription, those licenses won’t run 2011 (or 2010 or 7.5).

When you are on Subscription, a 2012 license also includes a 2011 license, a 2010 license, and a 7.5 license. In a network license file, this looks like this:

 
PACKAGE 78900SFTIMA_F adskflex 1.000 COMPONENTS="85705SFTIM_2012_0F \
                85563SFTIM_2011_0F 84000SFTIM_2010_0F 78600SFTIM_7_5F" \

You’ll also see something like this in the Perform Status Enquiry output (in LMTOOLS):

 
Users of 85705SFTIM_2012_0F:  (Total of 2 licenses issued;  Total of 0 licenses in use)
Users of 85563SFTIM_2011_0F:  (Total of 2 licenses issued;  Total of 0 licenses in use)
Users of 84000SFTIM_2010_0F:  (Total of 2 licenses issued;  Total of 0 licenses in use)
Users of 78600SFTIM_7_5F:  (Total of 2 licenses issued;  Total of 0 licenses in use)

As far as I know, you can’t buy old licenses when a new version is available. There may be a short period of time after a new release when the previous version is still available for purchase, but that would be only for a few months.

The case of Error 1603 and the corrupt PIT file


In a recent case, a customer reported error 1603” during installation. As I’ve mentioned many times in various places, error 1603 is a generic error code that doesn’t tell us much. So, you can either apply some generic troubleshooting (reboot, check download, disable UAC, reinstall VC++ manually, …) or check the detailed installation logs for more specific information.

The problem is this specific case was that the installer wasn’t able to update ProductInformation.pit. Without looking at the logs, I don’t know whether you would ever figure this out.