This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Strange Licensing Behavior for loadti.sh and Floating Licenses under Linux

Hi everyone,

With our network installation of CCS 5.1.0.03001 (Linux) we've experienced some weird licensing issues (float licenses). Here's what happens:

User A executes the simulator (loadti.sh) on LinuxPC #1: OK
User B executes the simulator (loadti.sh) on LinuxPC #1: Java Lang Error
User A executes the simulator (loadti.sh) on LinuxPC #1: OK

User B executes the simulator (loadti.sh) on LinuxPC #2: OK
User A executes the simulator (loadti.sh) on LinuxPC #2: Java Lang Error (same as for B before)
User B executes the simulator (loadti.sh) on LinuxPC #2: OK

The error looks like this (java called with -verbose):

[...]
[Loaded java.util.concurrent.ThreadPoolExecutor$Worker from /data/soft/Linux/opt/TI/CCS_5.1.0_testsys/ccsv5/eclipse/jre/lib/rt.jar]
[Loaded java.util.concurrent.SynchronousQueue$Node from /data/soft/Linux/opt/TI/CCS_5.1.0_testsys/ccsv5/eclipse/jre/lib/rt.jar]
[Loaded java.util.concurrent.locks.LockSupport from /data/soft/Linux/opt/TI/CCS_5.1.0_testsys/ccsv5/eclipse/jre/lib/rt.jar]
[Loaded $Proxy72 from java.net.URLClassLoader]
terminate called after throwing an instance of 'boost::interprocess::interprocess_exception'
  what():  File exists

Basically, the first user to use the simulator on one machine seems to 'own' the license on the machine, all others cannot use it there anymore.

The issue is independent of
* which user did the installation
* which simulation model is used

Are the licenses somehow locked to a user/machine pair for a time? Or is there a file which I need to delete?

Thanks for your help!

Ciao, Andre

 

  • Hi Andre,

    Andre Gueckel said:
    User A executes the simulator (loadti.sh) on LinuxPC #1: OK
    User B executes the simulator (loadti.sh) on LinuxPC #1: Java Lang Error
    User A executes the simulator (loadti.sh) on LinuxPC #1: OK

    Is the first loadti instance from User A still running when User B starts up their instance of loadti?

    ki

  • Ki-Soo Lee said:

    Is the first loadti instance from User A still running when User B starts up their instance of loadti?

    No, it has been stopped before the second one was started.

    We've been testing that user A can actually open 2 instances of loadti on the same machine which is working fine.

    André

  • Is there nothing that can be done about this?

  • André,

    One thing that caught my attention from your first description is similar to what I experienced in the past when testing CCS with multiple users in Linux. If you are using the same workspace across users, the ownership of some files inside the directory .metadata prevent others from accessing them - thus giving the impression that the user that ran CCS first in a given PC "owned" the license. 

    I wonder if that is what may be happening in your case. 

    Regards,

    Rafael

     

  • Hi Rafael,

    Thanks for the hint. I suspected something along these lines, but could not find any files that are restricted to the computer I was running the script on.

    Where would this '.metadata' dir usually be located?

    I haven't used the eclipse framework, as we're traditionally building via makefiles here.

    Maybe a word to the installation

    • I've installed CCS5 to an nfs network share, visible to all Linux clients. (no '.metadata' dir)
    • Each user has a network mounted user space '/home/<username>', visible from all Linux clients.
    • Each Linux client has a /local partition, which is not used in connection with CCS

    I have no idea how the dependency to the Linux client manifests itself here ...

    Ciao, Andre

  • Andre,

    One further question. What are the permissions on the network share where CCS is installed (as seen from User A/B on PC#1 and PC#2?

  • I actually used each of the users to install a version of CCS on the network share,. I tried to use either versions with both users from different PCs. None of the users had admin rights.

    It did not matter which of the two installations I used. The criterium whether or not the simulation worked was always the combination 'user + PC'  - regardless which of the users did the installation.

     

  • So, we actually found the culprit:

    -rwxr-xr-x 1 testsys users 1116997 Aug  9 12:15 /dev/shm/ofs_cache

    As long as this file exists, no other user besides 'testsys' (in the case above) can get the simulator to work, but will always get the 'File exists()' error message.

    Removing this file after the simulation allows other users to simulate as well. This, however, is quite a dirty workaround, for 2 reasons

    * other instances of loadti.sh might still want to access the file

    * if a simulation process is killed (e.g., the admin decides that simulating something for > 24h is not allowed) the file would not be removed either 

    I'd actually expect the simulator to handle this here.

    @TI: Would it be possible to fix this?

    Ciao, Andre