Troubleshooting: General License Problems

This chapter serves as a combination of troubleshooting section and FAQ. If you can’t find what you are looking for, a list of error codes can be found here, Error Codes.

You can contact our support at support@hightec-rt.com, and don’t forget to add your SEN-number in the subject of your email.

What Toolchain Version is my License Valid For?

  • In your license file you will find information regarding what toolchain your license is valid for.

    LICENSE hightec-rt tricore-gcc 2024.01 permanent 1 share=u
    client_cache=300 max_roam=30 max_roam_count=1 start=10-mar-2023
    platforms="x64_w x86_w" contract=SEN15xxx replace options=ver=4.9.x

In this example, you can see that your license gives you access to:

  • The input "tricore-gcc", indicates toolchain,

  • Proceeding date, indicates that the license is valid for builds until 2024.01,

  • The input "platforms", indicates that the license is valid only for Windows machines,

  • The input "replace options", indicates that versions of the toolchain up until 4.9.x are valid. That is, it is possible to use v4.6.x, v4.8.x, v4.9.4.x etc., with this license.

Sample Compilation

In case you are experiencing trouble with the license checks while compiling, you can run a test by creating a dummy main.c file elsewhere and try to compile it via your terminal.

main.c:

int main(void) {
    return 0;
}

In a terminal, type:

> cd <your_main.c_location>
> set RLM_LICENSE=localhost@5053
> "<your_toolchain_location>\bin\tricore-c++.exe" -c main.c

This way, it is easier to conclude where the error is coming from.

Generating RLM Diagnostics

  • Please note that with RLM v14-15.0, a password file is required in order to generate diagnostics. You can set this up by creating a new “rlm.pw” file in the same directory as the RLM executable.

    -In this newly created file, create a user line of the format: username:password:list-of-permissions
    -Example: [yourusername]:[keep blank for now]:all
    -Launch RLM (If you are using the example above and you have a blank password, RLM will run for 10 minutes before shutting down.)
    -Login to the web portal using the username you created, and a blank password
    -From the menu column choose “Change Password”
    -Enter your new password and click “Change Password”
    -You will now be able to run Diagnostics.
    -As of RLM v15.1 a rlm.pw file is automatically created with username: admin, password: blank, access: all.

License Monitoring Tools

  • The RLM web-interface offers tools to monitor your licenses. It can be accessed by typing your <host_name>:<port_number> in a web browser.

    You can also run the RLM monitoring tools via command line. Open a terminal in the directory containing the rlmutil executable and make sure your RLM_LICENSE variable points to your license server, then call "rlmutil.exe" to get a list of possible options.

Setting up Diagnostics

export (set) RLM_DEBUG=1
export (set) RLM_EXTENDED_ERROR_MESSAGES=y
export (set) RLM_DIAGNOSTICS=diag.txt

CLIENT_CACHE

  • Client_cache is specified in your license file, and it indicates how long a license seat is “occupied” after having accessed it. That is, the time it takes for the seat to be returned to the license pool and become available to another user.

    The client_cache value equals seconds. The standard cache time is set to 300, that is, five minutes. If this causes issues with long license queues, we recommend you to contact our sales department (sales@hightec-rt.com) and order additional license seats.

RLM_QUEUE

  • RLM enables you to queue for a license. For instructions on how to set up this function, consult the RLM user-guide, section ‘How to Queue for Licenses’.

    For CI-Server environment the queue is recommended to avoid build errors (as a license seat can not be granted if max number of seats is already in use).

RLM Web-interface Does Not Show Buttons

  • This usually occurs because of a firewall or anti-virus software. It’s difficult to pinpoint, but if you open the developer window in the browser, and check the Console tab you may be able to see the error that is causing the problem. You may try and see if any of these options works out.

    -Open the page in a private or incognito browser, and make sure that all add-ons are disabled
    -Disable content filtering from your antivirus software. Note that this could be due to a local running antivirus or a network antivirus. You may need to involve your IT department for assistance.
    -Exclude the server ip address in the protocol filtering of your antivirus software.
    -Check your antivirus or firewall settings to make sure that the machine running the license server is allowed through the filtering.

ISV File Problems With Linux

  • The ISV name of HighTec is "hightec-rt". The environment variable HIGHTEC-RT_LICENSE (Windows) and hightec-rt_license (Linux - case sensitive) has precedence over the environment variable RLM_LICENSE. Since the dash is not a valid identifier under Linux, if you have troubles you can try the following.

    Try to pass an environment variable with a hyphen to an application using the "env" command (if the Linux distro has the command):
    env 'HIGHTEC-RT_LICENSE=port@host' application

License Failure With Many Parallel Builds (> 16)

  • The operating system maintains a queue of connections to a network service, when the service can’t respond fast enough to incoming connection requests. If the queue is full, clients connecting can get this error.

    Set the environment variable RLM_TCP_LISTEN_BACKLOG to 20, restart the RLM server with this configuration.

Exception in chsize from rlm1233.dll.

  • This exception comes "out of the blue".

    -In C:\ProgramData\Reprise there are two files:
    rlminfo.5053
    hightec-rtkmeftricore-gcc
    -Delete them and it should work again.

Command make -j

  • This command does NOT limit the number of parallel builds. This can lead to problems, e.g., high load on file I/O, CPU, and license errors.

    This problem can be been fixed by changing the command to:
    make -j %NUMBER_OF_PROCESSORS%
    By this change the parallel build is limited to the available number of cores on the corresponding build machine.
    Note: The number of processors must be limited to the physical number of processors.