This issue generally indicates that the MATLAB License Manager (MLM) process failed to start because the required ports are not available. The cause of this error may be due to one of the following:
- Port Conflict
- /var/tmp/ Conflict
- Incorrect or Outdated MLM
- Incorrect Host ID
- Expired License
When the port defined by the server license file is already in use, the License Manager will not be permitted to start.
To resolve this issue, you must set different ports for each license manager that you are running. Ports are defined in the first two lines of the license.dat file used by the license manager.
For example, in this license.dat file:
SERVER license-server-name 0123456789AB 27000
DAEMON MLM "C:\Program Files\MATLAB\R20XXx\etc\win64\mlm.exe"
- lmgrd.exe is set use port 27000.
- MLM.exe uses a random port by default, unless a port is manually defined.
If the license.dat file is edited as follows:
SERVER license-server-name 0123456789AB 27050
DAEMON MLM "C:\Program Files\MATLAB\R20XXx\etc\win64\mlm.exe" port=27051
- lmgrd.exe will now use port 27050.
- MLM.exe will now use port 27051.
After the license.dat file is updated, you must restart the network license manager:
Next, change the port number used by MATLAB on the network client.
Update the client's network.lic file. This file is one of the following:
- (Windows) - $MATLAB\R20XXx\licenses\network.lic
- (Linux) - /usr/local/MATLAB/R20XXx/licenses/network.lic
- (MacOS) - /Applications/MATLAB_R20XXx.app/licenses/network.lic
Update the SERVER line in the client license files to match the SERVER line in the license file for the license manager.
There may also be a port conflict if the firewall is blocking the port. To verify that the firewall is the cause, temporarily disable it—if it is safe to do so.
If disabling the firewall allows licenses to be checked out, you will need to allow the MLM and LMGRD to pass through. It is possible to create program-based exceptions to the firewall in Windows and MacOS allowing any port from the MLM vendor daemon. On Linux, you must use the port number.
To resolve this issue, follow these steps:
- Remove the lockMLM file and the lm_TMW files from /var/tmp.
- After these files are removed, restart the license manager.
If you still receive the same error, an existing license manager or vendor daemon process might be the cause. The $MATLAB/etc/lmdown script shuts down a running lmgrd and MLM process. Sometimes the lmdown script can fail in its task.
If this occurs, the most effective way to shut down the license manager daemon is to use the UNIX "kill" command as follows:
1. Determine whether the license daemons are operating.
Depending on your system, use one of the following commands:
ps -ef | grep lm
ps agx | grep lm
2. Check the output to see if any LMGRD and "LM" or "MLM" associated with MATLAB are running. If so, kill all daemons manually by executing (root user may be required) the following command for each process.
3. Restart the daemons by running $MATLAB/etc/lmstart.
If the error still remains at this point, it is also possible that the vendor daemon is trying to run on an occupied port. To resolve this, see the above solution for Port Conflict for changing the ports used by the SERVER and DAEMON lines.
Incorrect or Outdated MLM
To resolve this issue, make sure you’re running the latest version of FlexLM. Version 11.18.1 is the minimum required to serve licenses for R2022a and newer.
Follow these steps to check the version of FlexLM on Windows:
- Check the version of LMTools through Help > About
- Check in the "Config Services" tab that the paths are pointing to the latest versions of lmgrd and license.dat
- Confirm the license.dat has the DAEMON line pointed to the latest MLM.exe
Follow these steps to check the version of FlexLM on Linux and MacOS:
- Navigate to usr/local/MATLAB/R20XXx/etc or /Applications/MATLAB_R20XXx/etc
- Run the “lmver” command
- Check that you are running the latest version of license manager binaries.
- You should also make sure you are correctly referencing the vendor daemon. Pointing to the wrong file or not specifying that the vendor daemon being used is MLM will cause this error. Remember that MLM is specified as the vendor daemon and then its file location is specified.
For instructions on updating the License Manager, please refer to the following article:
To resolve this issue, verify that the Host ID of the license server matches the license.dat and network.lic files. For more information on Host ID, see the following Article:
To resolve this issue, please obtain an updated license that is not expired.