This KB outlines the steps to enable core dump collection for Linux VDA modules(ctxgfx etc) using the ABRT (Automatic Bug Reporting Tool) framework on RHEL/CentOS systems.
1. Configure ABRT to Handle Unpackaged Binaries
Edit the following file:
/etc/abrt/abrt-action-save-package-data.conf
Set:
OpenGPGCheck = no
ProcessUnpackaged = yes
2. Allow Specific Users and Groups for Core Dump Handling
Edit:
/etc/abrt/plugins/CCpp.conf
Set:
AllowedUsers = ctxsrvr
AllowedGroups = ctxadm
3. Enable Core Dumps for SUID Programs
Edit:
/etc/sysctl.conf
Add:
fs.suid_dumpable=2
Apply changes:
sysctl -p
4. Modify Systemd Unit Files for ABRT Services
Edit the ABRT daemon unit file:
/usr/lib/systemd/system/abrtd.service
Set:
After=livesys.service network.service
Requires=network.service
Edit the CCpp hook unit file:
/usr/lib/systemd/system/abrt-ccpp.service
Set:
After=abrtd.service network.service
Requisite=abrtd.service network.service
5. Reload and Restart ABRT Services
systemctl daemon-reload
systemctl stop abrt-journal-core.service
systemctl disable abrt-journal-core.service
systemctl restart abrtd
systemctl enable abrtd
systemctl restart abrt-ccpp.service
systemctl enable abrt-ccpp
6. Reboot and Verify Core Pattern
reboot
sysctl -a | grep pattern
Expected output:
kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t %P %I %h %e
7. Testing and verifing the crash captured by ABRT.
kill -SIGSEGV $ctxgfx_pid
abrt-cli list