Operating System - HP-UX
1846817 Members
9698 Online
110256 Solutions
New Discussion

difference between core dumps file

 
SOLVED
Go to solution
Shivkumar
Super Advisor

difference between core dumps file

Dear Sirs,

I have heard that in case we want to take core dump of weblogic server on hpux 11i, we need to execute kill -3 pid (of wls managed server process id).

Someone had suggested to take core dump; we need to execute kill -6 pid command. ( i didn't find kill -6 option on hpux with man command).

It seems java core dump and os core dumps are different ??

Can someone shed some light on this ?

Thanks in advance,
Shiv
6 REPLIES 6
Warren_9
Honored Contributor
Solution

Re: difference between core dumps file

kill -6

send the SIGIOT or SIGABRT, abort signal to process.

The default response to this signal is the process dumping a core file and terminating.

Joseph Loo
Honored Contributor

Re: difference between core dumps file

hi shiv,

read this doc about kill -3:

http://www2.itrc.hp.com/service/cki/docDisplay.do?docLocale=en_US&docId=200000079997107

regards.
what you do not see does not mean you should not believe
Ralph Grothe
Honored Contributor

Re: difference between core dumps file

Have a look at "man 5 signal"
There you'll find a table with short explanations and default actions of processes catching the signal.
Those marked with Roman ii are considered to dump their core (if so implemented).
Not being a Java developer and thus not knowing much about Java, I guess that a Java "core" dump is rather a stack trace that is being written when a method catches an exception it doesn't know how to handle because its class didn't implement an exception handler for it.
It then would pass the exception up the stack, hoping that a parent class knows how to handle the exception.
Madness, thy name is system administration
Muthukumar_5
Honored Contributor

Re: difference between core dumps file

Refer signal 5 man page.

Signals with Default type 2,

======================================================
ii Abnormal termination of the process. Additionally,
implementation-dependent abnormal termination actions,
such as creation of a core file, may occur.
======================================================
will generate core files such as,

SIGABRT ii Process abort signal.
SIGSEGV ii Invalid memory reference.

etc.

You can know the type of signal which passed to the file as,

# what core
# file core
# gdb core

hth.
Easy to suggest when don't know about the problem!
Matti_Kurkela
Honored Contributor

Re: difference between core dumps file

Shiv, what you call a "java core dump" is more properly a "java thread dump". The "OS core dump" is usually named just a "core dump".

You won't find much information on manual pages: the thread dump is produced by the JVM, not by the OS.

Sun's JVM (which is ported to HP-UX by HP) is programmed to catch the OS-level signal SIGQUIT and produce a thread dump when the signal is received. This information is available in the Java SDK documentation.

On HP-UX, SIGQUIT is the signal number 3, hence "kill -3 pid_of_JVM".

(Use "kill -l" to get a table listing the signal names and numbers, if you're interested.)

The thread dump is a human-readable (or at least programmer-readable) listing of threads within the JVM and information on what Java code each thread is currently executing. This is very useful for Java application debugging. The JVM does not usually stop when it receives SIGQUIT: instead, it just prints the thread dump on the standard output of the JVM process and keeps running.

The core dump, on the other hand, is a binary dump of the entire workspace of the process. If the core dump is taken from a Weblogic/Java process, it is often rather big. Taking a core dump from a process usually means that the process gets killed.

To get useful information about a core dump of a Java process, one must first map out the JVM's internal state from the core dump. Only after that you can start finding out things about the Java application that was running inside the JVM. This requires deep knowledge about the inner workings of the JVM, so it is not that useful for an average Java programmer.
MK
Kent Ostby
Honored Contributor

Re: difference between core dumps file

Shiv --

In the RC, we refer to the OS core dump as a "core dump" or "system dump" because it dumps the entire memory for the system when it occurs (either when the OS panics or when someone generates a Transfer of Control). There are certain tools written to read this type of dump file: adb, q4, and some additional tools that are internal to HP.

We refer to a core file from an application or command as a "core file" or "application core file" (i.e. core FILE vs core DUMP since the Dump is made up of multiple files). A (generally) different set of tools is used for debugging core FILES: adb, gdb, etc. q4 (for instance) does NOT work on application core files.

Best regards,

Oz
"Well, actually, she is a rocket scientist" -- Steve Martin in "Roxanne"