Chapter 28. Automatic Bug Reporting Tool (ABRT)
abrtddaemon and a number of system services and utilities to process, analyze, and report detected problems. The daemon runs silently in the background most of the time, and springs into action when an application crashes or a kernel oops is detected. The daemon then collects the relevant problem data such as a core file if there is one, the crashing application's command-line parameters, and other data of forensic utility. For a brief overview of the most important ABRT components, see Table 28.1, “Basic ABRT components”.
Table 28.1. Basic ABRT components
| ||abrt||The ABRT daemon which runs under the root user as a background service.|
| ||abrt-gui|| The program that receives messages from |
| ||abrt-gui||The GUI application that shows collected problem data and allows you to further process it.|
| ||abrt-cli||The command-line interface that provides similar functionality to the GUI.|
| ||abrt-addon-ccpp||The ABRT service that provides the C/C++ problems analyzer.|
| ||abrt-addon-kerneloops||The ABRT service that provides the kernel oopses analyzer.|
| ||abrt-addon-vmcore[a]||The ABRT service that provides the kernel panic analyzer and reporter.|
[a] The abrt-addon-vmcore package is provided by the Optional subscription channel. See Section 8.4.8, “Adding the Optional and Supplementary Repositories” for more information on Red Hat additional channels.
kdumpcrash dumping mechanism is enabled and configured on the system accordingly.
SCP, email it, or write it to a file.
backtrace, can be created during analysis depending on which analyzer method is used and its configuration settings. Each of these files holds specific information about the system and the problem itself. For example, the
kernelfile records the version of the crashed kernel.
libreport. For more information on report-cli, see
28.1. Installing ABRT and Starting its Services
abrtddaemon requires the
abrtuser to exist for file system operations in the
/var/spool/abrtdirectory. When the abrt package is installed, it automatically creates the
abrtuser whose UID and GID is 173, if such user does not already exist. Otherwise, the
abrtuser can be created manually. In that case, any UID and GID can be chosen, because
abrtddoes not require a specific UID and GID.
yum install abrt-desktop
yum install abrt-cli
abrtdis running. The daemon is typically configured to start up at boot time. You can use the following command as root to verify its current status:
service abrtd statusabrtd (pid 1535) is running...
servicecommand returns the
abrt is stoppedmessage, the daemon is not running. It can be started for the current session by entering this command:
service abrtd startStarting abrt daemon: [ OK ]
abrt-ccppservice if you want ABRT to catch C/C++ crashes. To set ABRT to detect kernel oopses, use the same steps for the
abrt-oopsservice. Note that this service cannot catch kernel oopses which cause the system to fail, to become unresponsive or to reboot immediately. To be able to detect such kernel oopses with ABRT, you need to install the
abrt-vmcoreservice. If you require this functionality, see Section 28.4.5, “Configuring ABRT to Detect a Kernel Panic” for more information.
runlevels 3 and 5. You can disable or enable any ABRT service for the desired runlevels using the
chkconfigutility. See Section 12.2.3, “Using the chkconfig Utility” for more information.
/proc/sys/kernel/core_patternfile which can contain a template used to name core dump files. The content of this file will be overwritten to:
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
ABRT notification appletis running:
ps -el | grep abrt-applet0 S 500 2036 1824 0 80 0 - 61604 poll_s ? 00:00:00 abrt-applet
abrt-applet & 2261
Figure 28.1. Setting ABRT notification applet to run automatically.