This article describes how to get strace output of Acronis services in Linux
Introduction
Strace should be collected when the application exits abnormally or causes the application to hang, and it is also useful when troubleshooting various issues on Linux systems.
If system is alive but Acronis software does nothing or hangs, strace can help pinpoint the cause of the issue.
If the application crashes or the system freezes, a strace is rarely useful. In this case, follow troubleshooting instructions in Troubleshooting Application Crashes.
Solution
Strace
Strace output file contains the system calls a program uses during its run time.
To collect strace, strace package must be installed in the system. In most cases, it is preinstalled. If it is not installed, you can install it in the following way (under root):
- Debian based OS:
apt-get install strace
- SLES:
yast -i strace
- RHEL/CentOS:
yum install strace
- Or you can compile it manually: http://sourceforge.net/projects/strace/
Acronis Managed Machine Service
To get a strace of the running MMS service :
1. Get PID of running MMS service using ps tool
2. Start stracing MMS with the following command:
strace -o /tmp/mms2.strace -fF -ttt -p <PID>
where <PID> is the PID of MMS service obtained at step 1
3. Reproduce the issue (e.g. start the backup).
4. After reproducing the issue, press Ctrl+C in terminal to end strace.
In some cases, it may be necessary to collect strace log from MMS start (e.g. if MMS service fails upon start or if disks are detected incorrectly). In this case follow the instructions below:
1. Stop MMS service:
sudo service acronis_mms stop
2. Start strace with the following command:
#strace -o /tmp/mms.strace -fF -ttt /usr/sbin/acronis_mms
It will create an output file mms.strace from the MMS binary.
3. If MMS crashes or terminates unexpectedly, strace logging will be stopped automatically when MMS stops. Otherwise, press Ctrl+C to terminate strace after reproducing the issue.
Acronis Management Console
Strace Management Console binary directly by issuing the following command:
#strace -o /tmp/console.strace -fF -ttt /usr/lib/Acronis/BackupAndRecoveryConsole/ManagementConsole
Service Process
Note that since Service Process's strace is automatically collected with MMS strace. Service Process strace should be collected only in case when a separate strace of this process is specifically required (in most cases MMS strace is sufficient).
Open /usr/lib/Acronis/BackupAndRecovery/service_process for editing and change this block:
else
export LD_LIBRARY_PATH
exec $WRAPPER /usr/lib/Acronis/BackupAndRecovery/service_process-bin "$@"
fi
to
else
export LD_LIBRARY_PATH
exec $WRAPPER strace -o /tmp/service_process.$$.strace -fF -ttt /usr/lib/Acronis/BackupAndRecovery/service_process-bin "$@" > /tmp/service_process.$$ 2>&1
fi
It will create a strace log in the /tmp/service_process/* directory.
Start a backup and when the issue reproduces, send the resulting file to the Development Team.
Revert all changes after collecting strace log files.
Acronis Bootable Media (Linux based)
First of all, you should boot in media in command-line without starting an Acronis product. To do this on Acronis boot selection press F11 and delete the word quite.
Start booting, the media will bring you to command-line.
Attach USB flash drive or network share as media runs in RAM.
Mount them locally, for example for USB flash drive:
#fdisk -l
Device Boot Start End Blocks Id System
/dev/sdb1 1 64 480000000 83 Linux
#mkdir /tmp/dongle
#mount -t auto /dev/sdb1 /tmp/dongle
Now you can strace the product and forward its output to the mountpoint we created. Also, remember that the FAT32 file size limit is 4 GB. If it is possible, you can format your USB drive in ext4 FS for example.
#strace -o /tmp/dongle/mms.strace -fF /bin/product
Do not remove the USB drive until you shut down or reboot the machine or until you unmount the drive with the following command:
#umount /tmp/dongle
As it can cause complete data loss and the USB drive's FS corruption.
Virtual Appliance
Note the IP address of the VA, press CTRL+SHIFT+ALT+SPACE+F2 to get to the text console and start the SSH daemon
#/bin/sshd
Connect to the VA using WinSCP and rename /bin/service_process to /bin/service_process.bin
Download service_process.zip, unzip the archive, and copy the file service_process to /bin/
In WinSCP go to Commands -> Open Terminal and run the following command
#chmod +x /bin/service_process
Reproduce the issue and collect strace from /tmp/root
Put the original /bin/service_process in place
More information
See also: