4

I recently upgraded a system to openSUSE 13.1. We're running a custom-built service on the system through xinetd, and in the old xinetd init script had the line ulimit -c unlimited before starting xinetd to enable core dumps. Since openSUSE 13.1 uses systemd, this does not work anymore.

systemd-coredumpctl does not find any core dumps even though there are kernel log messages that confirm the crashes. Starting the service manually from bash and then sending it SIGSEGV does create a core dump in the directory we configured. How do I get my core dumps back?

4

It turns out systemd supports setting limits in the configuration files, the information is just scattered throughout various man pages. According to systemd.exec, the limit for core dump creation / file size is set with LimitCORE. Additionally, it is possible to modify a unit / service configuration without having to modify the system-provided config file. More information in the ArchLinux Wiki. So creating the file (and parent directory) /etc/systemd/system/xinetd.service.d/core.conf with the following content

[Service]
LimitCORE=infinity

and then executing

# systemctl daemon-reload
# systemctl restart xinetd

activated the changes needed for creating core dumps.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.