11 Licensing FAQ¶
11.1 General questions¶
11.1.1 How do I know what version/expiry/hostid/port I have in my license file?¶
The license file is a plain text file. Open it in any text editor and follow Sec. 5.2 (License File).
11.1.2 Can I edit the license file?¶
You can change the hostname, port number(s), add an OPTIONS
section and edit comments. Any other edits (in particular changing the hostid) will invalidate the license file.
11.1.3 Can I reserve some of my floating tokens to a specific IP/username/group?¶
To reserve a certain number license features for a particular user or IP address, you must create an additional options file and use the RESERVE
option. For details see Sec. 9.1 (Options file). For example, to reserve one PTS
token for user username
make an options file res.opt
with content
RESERVE 1 PTS USER username
and add the following to your license file:
VENDOR MOSEKLM OPTIONS=res.opt
11.1.4 Can I check out licenses from more than one location?¶
You can concatenate multiple license search paths (local or remote) with the operating system’s path separator. MOSEK will then sequentially try to check out a license from all these locations until one is available. For example
MOSEKLM_LICENSE_FILE=/home/user/licenses/mosek.lic:27007@licensehost (Linux/OSX)
MOSEKLM_LICENSE_FILE=c:\users\mylogin\licenses\mosek.lic;27007@licensehost (Windows)
11.1.5 Can I use more than one hostid?¶
Yes, for a server license. In exceptional situations we can generate a server license file with a list of MAC addresses as hostid. At least one of them has to be active at any time for MOSEK to work. For a floating license we can use only a single hostid.
11.1.6 My machine has many network interfaces and I get a long list of hostid
s. Which one should I use?¶
Ideally choose the MAC address of some permanent physical device (network card) that is expected to be permanently associated with the machine. Avoid MAC addresses of temporary/virtual devices/interfaces which can easily disappear, rendering the license file invalid.
11.1.7 Is it possible to use MOSEK with a floating license on a machine detached from the LAN(WAN)?¶
Yes. It is possible to use the lmborrow
functionality. See the Sec. 9.2 (Borrowing a license).
11.1.8 Is it possible to host a token server in the cloud?¶
Yes, but you will have to create a (small) instance with a permanent MAC address to be used as hostid
. An example is described in Sec. 10 (License in a Cloud Computing Environment).
11.1.9 Do you have a complete licensing guide that covers all of FLEXlm options?¶
The ultimate guide is at FLEXnet license administration guide.
11.1.10 I know the hostid of the license server, but what about the clients?¶
The clients, that is machines on which MOSEK optimizations will actually be performed, can be arbitrary, as long as they can connect to the license server to check out a token. The floating license restricts only the physical machine for the token server.
11.1.11 What does MOSEK use to verify the license?¶
Only the license file. There is no external communication whatsoever.
11.1.12 When does MOSEK return the floating license token?¶
By default at the end of the session/process or when the MOSEK environment is deleted. This reduces the checkout overhead if one process runs multiple optimizations. However, this is completely customizable. For example, you can return the token after each optimization or upon calling a dedicated method. Your API’s manual has instructions on how to do it in the section Technical guidelines / The license system.
11.2 Floating license issues¶
11.2.1 The lmutil
and lmgrd
will not start on Linux: No such file or directory
.¶
If you run a command from the licensing system and get this error:
user@hostname:~/path_to_mosek$ ./lmutil
./lmutil: No such file or directory
then most likely you are using an older version of the token server which required the Linux Standard Base (LSB) package. Either install the package or use the token server from the most recent MOSEK distribution (at least 10.2).
11.2.2 I get the error Vendor daemon is too old.
or Error 1003: The license server version is too old.
¶
You are running an older license server (for example, from version 9) and tried to connect to it with a much more recent client (for example, from version 10). The lmgrd
license server must be at least as new as all the clients who attempt to connect to it. Use the license server distributed with the most recent version of the clients in use. We occasionally update the FLEXlm binaries inside MOSEK and then an incompatibility with older license servers may occur. In Sec. 5.3 (Versions) you can see when the updates were made.
This error has nothing to do with the MOSEK version supported by the license file.
11.2.3 The license server will not start.¶
Always check the server’s log file lmgrd.log
. It will explain the source of the problem. Typical issues are:
Wrong hostname:
11:55:03 (lmgrd) "HOSTNAME_REAL": Not a valid server hostname, exiting. 11:55:03 (lmgrd) Valid license server system hosts are: "HOSTNAME_LICFILE"
The hostname in the license file is not the actual hostname of the computer. Either you are running the license server on the wrong machine, or using a wrong file or something changed on the machine and you should contact us for a new license file.
Wrong hostid:
8:46:36 (MOSEKLM) Wrong hostid on SERVER line for license file: 8:46:36 (MOSEKLM) C:\Program Files\Mosek\10.1\tools\platform\win64x86\bin\mosek.lic 8:46:36 (MOSEKLM) SERVER line says a6321bc7ff3f, hostid is af638abf82aa 127c4da8f212
8:46:36 (MOSEKLM) (@MOSEKLM-SLOG@) HostID node-locked in license file: a6321bc7ff3f 8:46:36 (MOSEKLM) (@MOSEKLM-SLOG@) HostID of the License Server: "af638abf82aa 127c4da8f212" 8:46:36 (MOSEKLM) No valid hostids, exiting 8:46:36 (MOSEKLM) EXITING DUE TO SIGNAL 25 Exit reason 2 8:46:41 (lmgrd) MOSEKLM exited with status 25 (Invalid host)
The hostid in the license file does not correspond to actual hardware. Possible reasons are:
you are running the license server on the wrong machine,
the network interface used for hostid disappeared because some changes were made to the hardware,
the network interface used for hostid disappeared because it was a virtual, temporary interface; you are advised to use hostids of physical hardware devices for best stability, see Sec. 6 (Hostname and Hostid),
you are using a wrong (perhaps old) license file.
If the hostids / network interfaces indeed changed you will have to contact us for a new file.
Incorrect or unreadable license file, for example:
18:54:46 (MOSEKLM) Invalid license key (inconsistent authentication code)
It is possible that you invalidated the file by editing hostname or hostid or that you downloaded/saved it incorrectly. See Sec. 5.2 (License File) for how a floating license file should look. You should revert to the original file (if applicable) or contact us for a new license file, attaching the current one.
Could not open port:
18:52:12 (lmgrd) Failed to open the TCP port number in the license.
The token server or vendor daemon could not open a port. Possibly it is already open by another process, or there are firewall issues. In either case consult Sec. 7.3 (Changing default ports and firewall and antivirus issues) for a solution. Terminate any
lmgrd
orMOSEKLM
processes running.Invalid License File, on Unix:
18:54:46 (lmgrd) Server's System Date and Time: Mon Jun 21 2021 18:45:01 CET 18:54:46 (lmgrd) Invalid License File
Can appear if the license file has permissions other than 644. Change the license file’s permissions to 644.
Hostname not in network database:
11:55:03 (lmgrd) Unknown Hostname: HOSTNAME_LICFILE specified in the license file is not available in the local network database 11:55:03 (lmgrd) EXITING DUE TO SIGNAL 33 Exit reason 1
A rare error appearing on MAC where
lmgrd
exits almost immediately. The solution is to edit the file/etc/hosts
in your system and add a line with the IP address and hostname of your machine.
11.2.4 The client cannot connect to the license server or license checkout times out.¶
The following symptoms can indicate firewall issues:
The client cannot connect to the license server. The error is
MOSEK cannot connect to the license server
orOperation now in progress
.The client cannot connect to the license server from a remote machine, but everything works when the client runs on the same machine as the server.
License checkout times out after about 60 seconds with message
Timeout: operation now in progress
.
First make sure that the license server is up and running and that the lmgrd.log
file did not indicate any errors (see previous question). Assuming that, follow the instructions in Sec. 7.3 (Changing default ports and firewall and antivirus issues) to test and fix possible issues with open ports and firewalls.
This happens typically in networks with tight security settings. Occasionally antivirus software can trigger this problem.
11.2.5 I cannot check out a token even though there should be more available.¶
Most likely there are processes/users who checked out a license but never returned it. The lmgrd.log
log file on the license server will contain the history of license ckeckouts and checkins which may be used to identify the culprit.
11.2.6 The floating license worked previously and now suddenly stopped.¶
The most typical reasons for this are:
The token server was terminated.
The
hostid
of the license server changed.Something changed in the network configuration, for example there are new firewall or antivirus settings preventing the connection.
The server was restarted and now uses a different port or different vendor port.
You are trying to check out too many tokens.
Consult the error message reported by the MOSEK client for more information. Make sure that the license server is up and running and that the lmgrd.log
file did not indicate any errors (see previous questions).
If the symptoms resemble Sec. 11.2.4 (The client cannot connect to the license server or license checkout times out.), then follow the instructions in Sec. 7.3 (Changing default ports and firewall and antivirus issues) to test and fix possible issues with open ports and firewalls.
If the reason is a change in hostid
contact us for a new license file.
11.3 Local file issues¶
11.3.1 The Optimization Toolbox for Matlab or Rmosek says license has expired although I downloaded a new one.¶
After you put the license file in the right place restart Matlab or R. It caches the license. If that doesn’t help MOSEK probably uses another license path than you first thought. See next question.
11.3.2 MOSEK says there is no license file or that it expired.¶
If you are sure that your license file is valid and in the right place, then it is possible that your system is configured to expect the license file elsewhere than you thought. Search for the mosek.lic
file on the disk and see if there is one in another location. Remove any old expired licenses found.
Go through the error or diagnostic message you received from MOSEK and look for lines such as:
License path: /home/someplace/mosek/mosek.lic
or:
License cannot be located. The default search path is ':/home/someplace/mosek/mosek.lic:'
This is the actual location where this instance of MOSEK was trying to locate the license. If it does not correspond to your expectations then go through the setup again or check that this location contains the correct file.
11.4 Need more help¶
11.4.1 I tried all of the above but it doesn’t help.¶
Send us an email and attach as much as possible of the following data:
description of the problem,
the license file,
the token server log file
lmgrd.log
or its part relevant to the issue (for floating licenses),the exact error message reported by the MOSEK client, or the output from
mosekdiag
,mosektestlic
,mosek -f
or other relevant diagnostic tool.MOSEK version, operating system, which interface you are using.