FaceTec Server-specific Help & Troubleshooting

Get help with FaceTec Server questions.


Server Troubleshooting Info

If you are having undesirable behavior with the FaceTec Server, then the following set of information is required for us to effectively assist you:

FaceTec SDK Information

  • What version of the FaceTec Server are you running?

  • Are you running the FaceTec Server using Docker?

  • What are the exact steps you are taking to reproduce the behavior?

  • Do you have any specialized code running and/or have you customized the FaceTec Server Code? If yes, how have you updated it?

  • What command are you using to run the FaceTec Server?

  • If this is on a remote server, what command are you using to deploy the FaceTec Server?

    Are you trying to run the FaceTec Server Code without Docker and on your own Windows/Mac machine? Please note that the FaceTec Server is a Linux JAR and does not run natively on Windows/Mac.

Your Server Specs

  • Processor brand type (Intel/AMD)

  • Exact Processor Model

  • How much RAM does the system have?

  • Are you using Virtualization? What kind? Please provide any and all details.

  • Please send us a screenshot of the specs of your server/dev computer (whichever computer is reproducing the behavior).

    • Mac - Apple Menu > About

    • Linux - less /proc/cpuinfo

    • Windows - Control Panel > System and Maintenance > System

Your Server Environment

  • Are you experiencing this while developing locally or when deployed to a remote server?

  • Are you using a cloud provider like AWS, Google, Azure, etc.? If so, which cloud provider and which deployment and hosting technology stack are you using?

  • What Operating System and version are you running? Please provide the specific version.

  • Is the server clean, or are you running other non-FaceTec services on it?

  • If the server is clean, please provide explicit steps you took to create and configure it.

  • If the server is not clean, can you try again on a clean server and let us know the results?

  • Can you also provide a list of other processes running and a description of the other libraries and services running on this server?

  • If you are running on Windows, are you on a Home or Professional version?

More Bug Report Collateral To Send FaceTec

  • A video and screenshots of the behavior.

  • All Logs related to the problem. Please provide all logs, not just the log line that is showing an error or warning.

  • If you are using AWS, please export logs from CloudWatch from the affected server and send to us.

  • To retrieve the logs from the FaceTec Docker Containers, please perform the following steps:

    1. Find the Container IDs of Your FaceTec Server Webservice and FaceTec Usage Log Server by running docker ps -a.

    2. Print the logs to the terminal and a text file: docker compose logs -f [WEBSERVICE_CONTAINER_ID] [USAGE_LOG_SERVER_CONTAINER_ID ] up 2> | tee -a server-logs.txt.

    3. Take a Screenshot of the logs.

    4. Create a ZIP that contains both the Screenshot and server-logs.txt.

    5. Provide the ZIP in Your Support Request to FaceTec.

Crashes and Hanging

Gathering Crash Report Information:

If you encounter a crash or hang follow the steps below to get the error log and core dump files.

  1. Please run ulimit -c unlimited before your application is started.
  2. If you are experiencing a crash, reproduce the crash. If you are experiencing a hang, reproduce the hang and trigger a core dump by running the below command.
    1. Run kill -11 [PID] from the command line, replacing [PID] with your Application's process id.
  3. Gather and send your ENTIRE Application log output and include in your message to FaceTec. The Application log output will reference the location of the error log and core dump.
  4. Gather and send your ENTIRE error log to FaceTec -- it will be named hs_err_pidXXXX.log, and will be referenced in the Application log output.
  5. Gather and send the Core Dump to FaceTec (Core dumps are generated by the Java Runtime when certain crash conditions occur).
    1. The core dump error log will likely be several hundred megabytes, but it will be much smaller after zipping. Please provide us with the ZIP file.
  6. If using the Dockerized FaceTec Server, the error log and core dump will be generated inside of the container and you will need to pull them from the Docker container to the Host Machine.
    1. Get the Container ID of the container running the FaceTec Server. Run docker ps -a.
    2. The following command will copy the error log from the Docker Container to the Host Machine.
      Run sudo docker cp :/home/FaceTec_Server/deploy/hs_err_pidXXXX.log /Path/On/Host/
    3. The following command will copy the core dump from the Docker Container to the Host Machine.
      Run sudo docker cp :/home/FaceTec_Server/deploy/ /Path/On/Host/

Troubleshooting core dump generation

  1. Enabling core dumps:
    • Core dumps may not be enabled by default, to enable crash dumps, you must set ulimit -c unlimited before your application runs.
    • If using Docker, you must enable this within the docker container by adding a RUN step in the Dockerfile then rebuild and re-run the Container.
      Example RUN step: RUN ulimit -c unlimited
  2. Locating the core dump:
    • If using Docker, the location that the core dump will get saved to can be host machine dependent. If you encounter difficulties locating the core dump, you may need to change the location that the system has set to store them. To do this run the following command on your Host Machine: sudo sysctl -w kernel.core_pattern=core.%u.%p.%t.

If this is a hang, please follow these steps to get us a thread dump:

  • GNU Debugger

    • If 'gdb' is available, this is the easiest path to getting a thread dump.

    • Run the following command, replacing [PID] with your Application's process id:

      • gdb -p [PID] -ex "thread apply all bt" -ex "info proc mappings" -batch