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:
Find the Container IDs of Your FaceTec Server Webservice and FaceTec Usage Log Server by running
docker ps -a.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.Take a Screenshot of the logs.
Create a ZIP that contains both the Screenshot and server-logs.txt.
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.
- Please run
ulimit -c unlimitedbefore your application is started. - 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.
- Run
kill -11 [PID]from the command line, replacing [PID] with your Application's process id.
- Run
- 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.
- 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. - Gather and send the Core Dump to FaceTec (Core dumps are generated by the Java Runtime when certain crash conditions occur).
- 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.
- 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.
- Get the Container ID of the container running the FaceTec Server. Run
docker ps -a. - The following command will copy the error log from the Docker Container to the Host Machine.
Runsudo docker cp :/home/FaceTec_Server/deploy/hs_err_pidXXXX.log /Path/On/Host/ - The following command will copy the core dump from the Docker Container to the Host Machine.
Runsudo docker cp:/home/FaceTec_Server/deploy/ /Path/On/Host/
- Get the Container ID of the container running the FaceTec Server. Run
Troubleshooting core dump generation
- Enabling core dumps:
- Core dumps may not be enabled by default, to enable crash dumps, you must set
ulimit -c unlimitedbefore 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
- Core dumps may not be enabled by default, to enable crash dumps, you must set
- 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 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:
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