License Locked Due to Network Disconnect
A VectorCAST license remains in use and cannot be again checked out when undocking a laptop or disconnecting a machine from the network.
From a license release standpoint, VectorCAST will release a target RSP license as soon as an environment is closed. A host license, however, is only released when the application is closed.
The issue in this scenario is that un-docking a laptop or disconnecting a machine from the network without shutting down the VectorCAST application will keep the license in use since the application was never closed. Switching from a wired connection to again attempting to use VectorCAST via a wireless network will then check out a separate license since it uses a different MAC address. Connecting back to the wired network will attempt to check out a second license for the same machine.
If a license is hung, unfortunately, VectorCAST has no control over the period of time before a license is released. Once a call is made to clicast.exe or vcastqt.exe, VectorCAST makes a call to FlexLM to serve the license and once it is done being used it is released immediately. There is no way of telling what a safe margin would be for the amount of time before the license is released as it will depend on the network traffic.
FLEXlm contains a timeout feature, but what the TIMEOUT does is check in the licenses if the FLEX-enabled application has been inactive for a period longer than the specified time period. The daemon declares a process inactive when it has not received heartbeats from it; whereas, an active FLEX-enabled application sends heartbeats.
The problem with this feature is that, as long as the VectorCAST process it running, it will continue to send heartbeats. So as long as VectorCAST sends heartbeats, the license is still consumed, even if there is no activity within VectorCAST for hours. FLEXlm includes an lmremove command that can be tried for giving the license back to the license pool. You need to run a FLEXlm command to get license status information, then one of two forms of lmremove commands to supply information to free the licenses.
To get the details of your license usage specifying your actual port@server:
%VECTORCAST_DIR%\flexlm\lmutil lmstat -a -c <port@server>
For each product/feature (typically named VCAST_xxxxxxx) being used there will be information returned in the form of:
<user> <client_machine> <client_machine> (VCversion) (<server>/<port#> <handle#>), start .......
The user-based lmremove command for product/feature VCAST_ xxxxxxx would be:
%VECTORCAST_DIR%\flexlm\lmutil lmremove -c <port@server> VCAST_ xxxxxxx <user> <client_machine> <client_machine>
The handle-based lmremove command for product/feature VCAST_ xxxxxxx would be:
%VECTORCAST_DIR%\flexlm\lmutil lmremove -c <port@server> -h VCAST_ xxxxxxx <server> <port#> <handle#>