On Tue, Aug 06, 2019 at 05:27:54AM -0600, Warren Young wrote:
> On Aug 5, 2019, at 6:57 PM, Fred Smith <fre...@fcshome.stoneham.ma.us> wrote:
> > 
> > no core file (yes, ulimit is configured)

yeah, I meant "ulimit -c unlimited" is in effect.


I had no idea systemd had made such a drastic change. or is it that
someone at RH decided to make it (nearly) impossible to do? I fail
to see how it is beneficial to anyone to make it so hard to get
core dump files.

but thanks for the details!

Fred
> 
> That’s nowhere near sufficient.  To restore classic core file dumps on CentOS 
> 7, you must:
> 
> 1. Remove Red Hat’s ABRT system, which wants to catch all of this and handle 
> it directly.  Say something like “sudo yum remove abrt*”
> 
> 
> 2. Override the default sysctl telling where core dumps land by writing this 
> file, /etc/sysctl.d/10-core.conf:
> 
>     kernel.core_pattern = /tmp/core-%e-%p
>     kernel.core_uses_pid = 1
>     fs.suid_dumpable = 2
> 
> Then apply those settings with “sudo sysctl —system”.
> 
> I don’t remember what the default is, which this overrides, but I definitely 
> didn’t want it.
> 
> You can choose any pattern you like, just remember what permissions the 
> service runs under, because that’s the permission needed by the process that 
> actually dumps the core to make the file hit the disk.  That’s why I chose 
> /tmp in this example: anyone can write there.
> 
> 
> 3. Raise the limits by writing the following to 
> /etc/security/limits.d/10-core.conf:
> 
>     * hard core unlimited
>     * soft core unlimited
> 
> If this is what you meant by “ulimit,” then great, but I suspect you actually 
> meant “ulimit -c unlimited”, but I believe until you do the above, the ulimit 
> CLI app can have no effect.  You have to log out and back in to make this 
> take effect.
> 
> Once the above is done, “ulimit -c unlimited” can take effect, but it’s of no 
> value at all in conjunction with systemd services, for example, since those 
> don’t run under a standard shell, so your .bash_profile and such aren’t even 
> exec’d.
> 
> 
> 4. If your program is launched via systemd, then you must edit 
> /etc/systemd/system.conf and set
> 
>     DefaultLimitCORE=infinity
> 
> then say “sudo systemctl daemon-reeexec”
> 
> Case matters; “Core” won’t work.  Ask me how I know. :)
> 
> 
> 5. If you have a systemd unit file for your service, you have to set a 
> related value in there as well:
> 
>     LimitCore=infinity
> 
> You need both because #4 sets the system-wide cap, while this sets the 
> per-service value, which can go no higher than the system cap.
> 
> 
> 6. Restart the service to apply the above two changes.
> 
> 
> Yes, it really is that difficult to enable classic core dumps on CentOS 7.  
> You’re welcome. :)
> _______________________________________________
> CentOS mailing list
> CentOS@centos.org
> https://lists.centos.org/mailman/listinfo/centos

-- 
---- Fred Smith -- fre...@fcshome.stoneham.ma.us -----------------------------
  "For him who is able to keep you from falling and to present you before his 
 glorious presence without fault and with great joy--to the only God our Savior
 be glory, majesty, power and authority, through Jesus Christ our Lord, before
                     all ages, now and forevermore! Amen."
----------------------------- Jude 1:24,25 (niv) -----------------------------
_______________________________________________
CentOS mailing list
CentOS@centos.org
https://lists.centos.org/mailman/listinfo/centos

Reply via email to