Purpose, preparation, and file paths of core dump files for effective troubleshooting and optimization of your anynode SBC on Windows and Linux.

Core Dump Files

In the rare event of a crash, anynode automatically generates core dump files (.dmp files) to assist in troubleshooting and debugging. These files contain valuable diagnostic information about the state of the application at the time of the crash. Below are the default paths where core dump files are stored, categorized by operating system and anynode services:

Windows File Paths

Core dump files for various anynode components on Windows are stored in the following directories:

anynode core service:

C:\ProgramData\TE-SYSTEMS\anynode\abort

anynode administration interface:

C:\ProgramData\TE-SYSTEMS\anynode administration\abort

anynode frontend:

C:\ProgramData\TE-SYSTEMS\anynode frontend\abort

anynode monitor:

C:\ProgramData\TE-SYSTEMS\anynode monitor\abort

Handling Logs and Core Dump Files

In the directories mentioned earlier, anynode typically generates not only .dmp files but also text files that provide a brief summary of the crash. These text files often contain a short error description (e.g., "Out of memory") and a small stack trace with function names and memory addresses.

In many cases, the content of the small text file is sufficient for initial analysis. These files can be easily attached to an email and sent directly to the support team without additional steps.

Dump files, however, are significantly larger—often ranging from several megabytes to gigabytes—and usually need to be uploaded to a cloud storage service. For this reason, we first request the text file during the support process. If the text file does not provide enough information, we then request the corresponding dump file.

Preparation for Linux Systems

For anynode to generate core dump files on Linux, some additional setup is required compared to Windows. Follow these steps to configure it properly:

Update and upgrade the System. Ensure the system is up to date:

apt-get update && apt-get upgrade

Install the Core Dump Service

Install the required system service to handle core dumps:

apt-get install systemd-coredump

Configure Core Dump Filter

Set the coredump_filter to capture relevant memory segments:

echo 0x1FF > /proc/self/coredump_filter

Alternatively, this can be set at boot using the coredump_filter boot option.

Reproducing the Issue

Start the anynode product or service that is expected to generate the core dump.

Post-Crash Steps (Linux)

List Available Core Dumps

Use coredumpctl to view the core dumps collected by the system:

coredumpctl list

This will display a list of available core dumps, potentially from multiple processes.

Extract a Specific Core Dump

Select a specific core dump from the list using its PID or index, and write it to a file:

coredumpctl dump <PID> -o anynode.core

Replace <PID> with the process ID or index from the list command. The -o parameter specifies the output filename (e.g., anynode.core).

Run Dependency Gathering Script

Linux requires an additional step when the dump file alone is insufficient for analysis. Since there is no universal Linux version, we need detailed information about the operating system environment.

To gather this information, the customer must execute a specific script that is shipped with anynode. The script is provided separately for each service and located in a designated directory:

For a complete analysis, run the corresponding script to generate additional diagnostic data. The script location depends on the anynode service.

anynode

/opt/tesystems/anynode/bin/anynode-gather-core-deps

anynodead

/opt/tesystems/anynodead/bin/anynodead-gather-core-deps

anynodefe

/opt/tesystems/anynodefe/bin/anynodefe-gather-core-deps

anynodemon

/opt/tesystems/anynodemon/bin/anynodemon-gather-core-deps

The script can be run from any directory, such as the user's home or a temporary directory. For example:

# cd /home/admin

# /opt/tesystems/anynodefe/bin/anynodefe-gather-core-deps

Files to Provide

After completing the steps above, you will have two critical files for analysis:

The core dump file (e.g., anynode.core).

The diagnostic archive (e.g., anynode-core-deps.tar.gz).

These files should be securely transferred to the support team for further analysis.

Ensure that the system has adequate disk space to store core dump files.

Contents of the Archive File (Linux)

The archive includes two packed folders with libraries that anynode relies on during runtime. These libraries are specific to the current Linux kernel version and are affected by the system’s update state. Since the exact Linux version and setup vary across customers, this archive ensures we have a precise snapshot of the files used by anynode at runtime.

Without this information, analyzing the dump file is not possible.

Unlike Linux, Windows systems do not require this additional step. The .dmp and accompanying text files are typically sufficient for complete analysis.

By following this process, we can ensure effective troubleshooting and minimize delays in resolving anynode issues.

Support Assistance

Provide these files to the anynode support team (support@te-systems.de) for detailed analysis. Be sure to include all related files from the appropriate directory.

File Retention

Regularly monitor and clean up the abort directories to manage disk space, especially in production environments. During a complete uninstallation of anynode, including the Purge option on Linux, the abort directories are also permanently deleted. If you need to retain these files for troubleshooting or support purposes, ensure they are backed up before initiating the uninstallation process.

Ensure appropriate permissions to access these directories on both Windows and Linux systems. Always maintain backups of critical data before performing any manual operations with core dump files.

This structured approach to managing core dump files ensures efficient debugging and minimal downtime for anynode deployments.