Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

When I execute a program that I work on, it fails with the following message:

...
Aborted (core dumped)

However, no core dump is created. Core dumps were written previously, and I don't remember that I changed anything related to it.

Here are the outputs of ulimit -a (core file size is unlimited):

$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 30
file size               (blocks, -f) unlimited
pending signals                 (-i) 24047
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 99
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 24047
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
  • I verified that my user can create files in the current directory.
  • I read about /proc/sys/fs/suid_dumpable. Currently, it is set to 0 on my machine. I tried to change it to 1 or 2 but no difference.
  • I also tried to execute the program as root, but that did not make a difference either.

I'm running Arch Linux with a 3.7.8-1 kernel. I also downgraded the kernel, but again no difference. (Unfortunately, I don't remember when I could produce the last successful core-dump.)

Now I'm running out of options. Do you know how I can further analyze why no core dumps are produced?

share|improve this question

1 Answer 1

up vote 5 down vote accepted

As per this solution, you have to link coredump.conf to /dev/null then apply with sysctl :

# ln -s /dev/null /etc/sysctl.d/coredump.conf
# /lib/systemd/systemd-sysctl 

Since systemd, things are managed differently.

share|improve this answer
    
Wow, you are right! Not long ago I switched to systemd. sudo systemd-coredumpctl shows all the missing core dumps. Your solution worked but only after a system reboot. –  Philipp Claßen Feb 17 '13 at 20:08
1  
systemd's systemd-sysctl.service just runs sysctl at the proper point of boot, and handles rerunning it by hand on changes. And don't go creating/overwriting configuration files without investigating what they are for and their contents. –  vonbrand Feb 17 '13 at 22:51
1  
The file seems to be renamed to 50-coredump.conf, in order to apply the settings in the current boot, I had to run change the sysctl setting manually, see stackoverflow.com/q/2065912/427545. –  Lekensteyn Nov 15 '13 at 9:52
1  
To restore the default , do not set an empty string, use this instead: sysctl -w kernel.core_pattern="core" –  Lekensteyn Nov 15 '13 at 10:05

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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