What are Core Dump Files?
Core Dump Files About:
A core dump is a "dump" file containing unstructured records the working memory at a specific time. Core dumps are generally used to debug a program that has crashed (abnormal termination). Originally, core dumps recorded a printout of the entire contents of working memory but nowadays, it typically refers to a file containing the memory image of a particular process and not the entire working memory.
Most core dumps usually occur due to application development faults, for example - appserver crashes, process scheduler crashes but they can also be caused by unforeseen events like operating system faults.
Core dumps are useful debugging aid in several situations like appserver crashes, process scheduler crashes etc.. Core dumps allow a user to save the crash data for later analysis and can be used to compare with other crashes. Core dumps are also useful in situations when an additional debugging tools are either not available or expensive to deploy.
On many operating systems, a fatal error in a program automatically triggers a core dump. Thus, to 'dump core' means to encounter a fatal error.
Generation of Core Dump Files:
When a core dump occurs, a file with prefix "core." gets created.
The most common core dump scenarios in PeopleSoft (and other Tuxedo based applications) occur as a result of application errors. Since Tuxedo applications are generally C/C++ code, knowledge of C/C++ is needed to analyze core dump errors.
Usually organizations like Oracle have tools available to analyze core dump files. Such tools may not be available but they are specific to the platform on which the core dump was created. Also, system administrators may have some default tools available to analyze core files.
In some uncommon situations, depending on the environment setup, a coredump file may not even get generated. If you find yourself in a situation, wherein core dump file is not getting generated, you can check the following:
- Run ulimit to check the system and user size limit on core files. On Linux, core dumps are disabled by default,
- Check user level disk quota limits.
- Use the gcore utility to see if you can even create a core file. The syntax of this command is: gcore <pid>. This utility will create a core file of the process specified by <pid>, if it is possible to do so.
- Check if permission is causing core files not to get generated.
- Some generic recommended limits are:
time(seconds) - unlimited
file(blocks) - 2097151
data(kbytes) - unlimited
stack(kbytes) - 4194304
memory(kbytes) - 4194304
coredump(blocks) - 2097151
nofiles(descriptors) - 4096
Troubleshooting Core Dump Files
Generation of core dump files in PeopleSoft is not an uncommon situation. If core dump files are getting generated once in a while, it is okay to ignore them as it may not be worthwhile to spend time on the same. However, if you see core dump files getting generated regularly, it can cause issues like your disk may go out of space quickly as the size of a core dump file is usually in GBs.
Here are some troubleshooting steps for dealing with core dump files:
- Check the hardware release of servers - a non-certified server may witness generation of core dump files.
- Check if your server was recently upgraded - core dump files may result because the upgraded server is either non-certified servers or there could be lingering issues from upgrade.
- Check if your domains are configured properly. Presence of regular core dump files in a particular PS_CFG_HOME may indicate that there is something wrong in the configuration of that particular domain. Also, disable any unwanted features that you may not be using like PerfMon to reduce the chances of core dumps getting generated.
- Check if core dump files are getting generated in other same/similar PTools release domains as well. Presence of core dump files in other same/similar PTools release domains will indicate a potential bug in that particular PTools release and you can check Oracle Support for any bugs/solutions. Likely chances are that you will find an existing bug or solution. If not, you can think about contacting Oracle regarding the same.
- Check if any third-party software is malfunctioning installed and is causing generation of core dump files.
- Check if any integration with other PeopleSoft or Non-PeopleSoft system is having issues, which is resulting in generation of core dump files.
- Check if you can find a corresponding event when the core file got generated. For example - there may be performance issues reported around that time or a particular process may have failed or even database connectivity issue can result in generation of a core dump file.