Skip to content

Troubleshooting

Some requests to Server are failing with "Closed Connection" error or similar

This happens because your HTTP client keeps idle connections in a pool, and keeps them there for the same amount of time as the IDLive Face Server keeps the connections open (which is 60 seconds).

Sometimes the client can take the connection from the pool at the last moment before it should be purged. There will be a small delay after the connection is taken from the pool and before it's actually used. Because of this delay the total lifetime of the connection will exceed the Server's timeout, and the Server will close it.

The fix is to either decrease the timeout for the client or increase it for the Server. For the latter you can use the SERVER_TOMCAT_KEEP_ALIVE_TIMEOUT environment variable. It expects a value in milliseconds:

docker run \
    --env SERVER_TOMCAT_KEEP_ALIVE_TIMEOUT=70000 \
    ...

License key fails to install with error 43

The error usually occurs if you made the container's filesystem read-only, as the license manager needs write access to a set of directories. It can also indicate other IO-related issues, like there is no storage available.

Before the Server version 1.30 the error can also occur if you used the --user parameter and changed the default user (which is uid=1000(server)). In this case you need to use the default user. Note that some cloud platforms may change the user implicitly.

Server returns "License check failed" with error 7 after some time

This can happen if you use a user mode license with the disabled HASP_ENABLE_RTE option. The user mode licenses exhibit unstable behavior in some cloud environments. The only solution at the moment is to set HASP_ENABLE_RTE to true.

Server fails to start with "License Manager is not running" error

This usually happens when License Manager takes more time to start then we anticipate. You can increase the startup timeout with the HASP_RTE_STARTUP_TIMEOUT environent variable.

Server fails to start with "Debugger detected" error

If you use Linux kernel older than 4.8 or your Docker’s version is older than 19.03 you need to additionally enable ptrace capability when starting the container:

docker run --cap-add=SYS_PTRACE ...

This requirement was removed in IDLive Face Server version 1.31.

Server fails to start with segmentation fault

It usually looks like this:

...
OpenJDK 64-Bit Server VM warning: You have loaded library /app/lib/libFaceSdk.so.1.24.4 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f63b874bba7, pid=1, tid=0x00007f63d58d8700
...

You need to enable ptrace capability when starting the container:

docker run --cap-add=SYS_PTRACE ...

This requirement was removed in IDLive Face Server version 1.31.

Slow performance on NUMA systems

IDLive Face does not support NUMA (i.e. multi-socket configuration). While it will function on such systems, the performance will be inadequate. We advice not to use such systems and run IDLive Face on a single-socket configuration only.

If you have to use a machine with NUMA you need to pin the IDLive Face Server to a single socket (for example with Docker's --cpuset-cpus option).