How to correct StorageGRID core file truncation due to core file size restriction
Applies to
StorageGRID
Description
This article describes the procedure to remove a StorageGRID core file size restriction that could result in core file getting truncated.
Before uploading any StorageGRID core file to NetApp, test the file integrity using a GDB backtrace. For information on performing a GDB backtrace, see KB: How to collect a GDB backtrace from a StorageGRID service
The GDB output will indicate if a core file is truncated after the GNU license header.
Example:
gdb /usr/local/clb/clb clb.core.29051
GNU gdb (GDB) SUSE (6.8.50.20090302-1.5.18)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
BFD: Warning: /var/local/core/clb.core.29051 is truncated: expected core file size >= 1381822464, found: 1381818368.
This final line (first line after the GNU header) may alternately look similar to the following:
"/var/local/core/clb.core.29051" is not a core dump: File truncated
There are several reasons for a core file to be truncated, such as the following:
- Disk/filesystem I/O issues
- RAM issues
- OS restriction on the core file size
If a truncated file is discovered, as a first step, confirm that there are no restrictions on the core file sizes, and then remove the restrictions found. Removing a core file size restriction is accomplished by editing the corresponding OS parameter and then rebooting the server.
Procedure
Perform the following steps:
Note: You should have already logged in to the server as part of running the GDB backtrace.
- Check that the core file size is unlimited, by running the following command:
ulimit -c
- This should result in the value unlimited being returned. If instead, a numeric value is returned, use a text editor (either vi or nano) to edit the file:
/etc/profile.local
- Edit the ulimit -c line to read as below:
ulimit -c unlimited
- Save the file
- Stop the services and reboot the server:
service servermanager stop
reboot
- Verify that the value unlimited is now returned correctly:
ulimit -c
At this point, pause for the original issue to re-occur so that a new core file can be generated.