Keil Logo

LICENSE: Flex License Error -7,10015 During Manual Check-In


Information in this knowledgebase article applies to:

  • MDK-ARM
  • FlexNet v11.14.0.0 or older

SYMPTOM

Another user is getting FlexNet licensing error -4: Licensed number of users already reached. Previously I manually checked out a license. When manually checking it back in using the Check-In button, a No socket connection to license server manager -7,10015 appears:

No socket connection to license server manager -7,10015

CAUSE

NOTE: The following KB article only affects the Check-Out/Check-In feature, i.e., the user manually borrowing a license. This issue does not affect normal borrowing, where clients communicate with a Flex license server to borrow features.

For a FlexNet -7 error, the most likely causes are:

  1. Different server issue: This client computer is trying to return a license to another server, different from the original server where the license was checked-out. For example:
    • While a license was still checked out on an older server, that server was decommissioned, and a new server brought up.
    • A user did not manually check-in all the licenses before upgrading the FlexNet binaries on the server.
    • See the resolution below.
  2. Old FlexNet license server software:
    • The license server software is too old to use with this version of the ARM compiler.
    • A known problem with FlexNet binaries v11.14.0.0
    • See the resolution below.

RESOLUTION: DIFFERENT SERVER ISSUE

  1. Shut down the new license server.
  2. Restart the old license server, i.e., the server where the license was originally checked out.
  3. On the client PC, check-In the license to old license server.
  4. Shut down the old license server.
  5. Restart the new license server.
  6. In µVision, in the FLexLM License dialog, click the Used By button - it should show the Current Users as 0.

RESOLUTION: UPDATE THE FLEXNET LICENSE SERVER

Find out what services are still in use on this computer, and return each individual feature. Then stop and upgrade the license server.

  1. Verify this is the guilty client PC. On the client machine, open the command line and type:
     set path=%path%;C:\Keil_v5\UV4\FlexNet\ 
     lmutil lmstat -a -i -c [PORT]@[SERVER_NAME]
    

    The set path ... command temporarily updates the path variable during this session.

    Here is an excerpt of an expected response:

    ...
    
    License server status: [PORT]@[SERVER_NAME]
    
    ...
    
    Floater-LAP: license server UP (MASTER) v11.14.0
    
    Vendor daemon status (on [SERVER_NAME]):
    
        armlmd: UP v11.14.1
    Feature usage info:
    
    ...
    
    Users of mdk_std_armasm5: (Total of 1 license issued; Total of 1 license in use)
    
     "mdk_cm_std" v5.9, vendor: armlmd, expiry: [EXP_DATE]
     floating license
    
       KeilUsr PC_Name dummy (v5.9) ([PORT]/[SERVER_NAME] xxx), start [STRT_DATE] (linger:... )
    
    ...
    

    This says a user named KeilUsr used a license feature on PC_Name. the (linger:...) on the end means this was a manual checkout. If something looks off see LICENSE: FlexNet: Installation, Management, Troubleshooting

  2. (Optional) If you do not know what features are currently checked out, type:
     lmutil lmborrow -status
    

    Here is an excerpt of an expected response:

     Vendor   Feature           Version    Expiration
     ______   ________          __________ __________
     armlmd   mdk_std_armasm5   5.9        [EXP_DATE]
     armlmd   mdk_std_armlink5  5.9        [EXP_DATE]
     armlmd   mdk_std_compiler5 5.9        [EXP_DATE]
     armlmd   mdk_std_fromelf5  5.9        [EXP_DATE]
     armlmd   mdk_std_arm_lcf5  5.9        [EXP_DATE]
     armlmd   mdk_std_µVision   5.9        [EXP_DATE]
    
  3. Return each feature For each checked-out feature (one at a time) use the lmutil lmborrow -return command . A total of 6 features must be returned:
     lmutil lmborrow -return -c [PORT]@[SERVER_NAME] mdk_std_armasm5
     lmutil lmborrow -return -c [PORT]@[SERVER_NAME] mdk_std_armlink5
     lmutil lmborrow -return -c [PORT]@[SERVER_NAME] mdk_std_compiler5
     lmutil lmborrow -return -c [PORT]@[SERVER_NAME] mdk_std_fromelf5
     lmutil lmborrow -return -c [PORT]@[SERVER_NAME] mdk_std_arm_lcf5
     lmutil lmborrow -return -c [PORT]@[SERVER_NAME] mdk_std_µVision
    
  4. Verify everything was returned This command should return nothing:
     lmutil lmborrow -status
    
  5. Upgrade for prevention To fix this, update the license server binaries to at least FlexNet Publisher version 11.14.1.0 - which came with MDK-ARM version 5.22. Download the latest FlexNet binaries from developer.arm.com. See downloading the latest FlexNet binaries for more details.

If the issue persists, see LICENSE: FlexNet: Installation, Management, Troubleshooting or contact Keil Support.

Note: The above code snippets assume:

  • C:\Keil_v5\ as the installation folder
  • Originally using the FlexNet Binary lmutil.exe v11.14.0.0 which shipped with MDK v5.21
  • Updated to FlexNet Binary lmutil.exe v11.14.1.0 which shipped with MDK v5.22
  • On the license server, in the license.dat file, the the server name listed there is verbatim as [SERVER_NAME]
  • Also in license.dat, the lmgrd port number of the server is [PORT]
  • An MDK-ARM Plus edition license. If using a different edition: on the server, look in the license.dat file for a complete list of features corresponding to that license.

MORE INFORMATION

SEE ALSO

Last Reviewed: Friday, December 7, 2018


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.