uCosminexus Application Server, Maintenance and Migration Guide

[Contents][Glossary][Index][Back][Next]

5.8.1 When a Signal Occurs

When a signal occurs, the items shown below are output to the log. The JavaVM extended contents are included in the output contents.

#
These are the output contents extended by Hitachi.

Each output contents are described below.

Organization of this subsection
(1) Abnormal termination location and signal type
(2) Current thread information
(3) Save destination address of the signal information
(4) Signal information
(5) siginfo information (in UNIX)
(6) Register information
(7) Information saved from the top of stack
(8) Command code information
(9) Stack trace
(10) Thread information
(11) VM status
(12) Memory information
(13) Java heap usage status
(14) Libraries
(15) Command and VM parameters
(16) Environment variables
(17) Registered signal handlers
(18) Machine information
(19) System name, CPU, actual memory, and VM information
(20) Time information
(21) Command line of javatrace start command (in UNIX)

(1) Abnormal termination location and signal type

Any one of the following contents are output in compliance with the status at the time of abnormal termination. These contents are extended by JavaVM.

(a) When a signal is detected

The following message is output:

#
# A fatal error has been detected by the Java Runtime Environment:

The following contents are output:

Contents output when a signal is detected
 
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Occurred-signal-name (signal-number) at pc=PC-address, pid=Process-ID, tid=Thread-ID
#
# JRE version :(jre version information)
 
# Java VM: Java HotSpot(TM) VM-type (Sun-version-information-Hitachi-version-information-build-date mixed modeOS-name-CPU-type)
# Problematic frame:
# <type-code> <library-name-where-signal-occurred+Offset
#
 

Note: When you are able to extract a function name where the signal occurred, that function name and offset may be displayed in continuation to library-name-where-signal-occured+offset.


(b) When an internal logical error occurs

The following contents are output:

Contents output when an internal logical error occurs
 
#
# Internal Error (0xe0000000), pid=process-ID, tid=thread-ID
# Internal logical Error: Internal logical error message
#
# JRE version: 6.0
 
# Java VM: Java HotSpot(TM) VM-type (Sun-version-information-Hitachi-version-information-build-date mixed modeOS-name-CPU-type)
 

Note: Either a combination of the file name and number of lines or the Internal Error code is output to the Internal Error. In Internal logical Error, any one of fatal error, guarantee(logical type)failed, or Error is output, according to the type of the internal logical error.

(2) Current thread information

The following three types of information are output to the messages according to the thread type:

 
Current thread (address): thread-name "thread-name" [_state, id=thread-ID, stack(start-address,end-address)]
 
Or
Current thread (address): thread-name [_id=thread-ID, stack(start-address,end-address)]
 
Or
Current thread is native thread
 

(3) Save destination address of the signal information

The following contents are output. These contents are extended by JavaVM.

 
siginfo address: address, context address: address
 

(4) Signal information

The following contents are output.

In Windows
EXCEPTION_ACCESS_VIOLATION(Read violation)
 
siginfo: ExceptionCode=signal-number, reading address address
 
EXCEPTION_ACCESS_VIOLATION(Write violation)
 
siginfo: ExceptionCode=signal-number, writing address address
 
EXCEPTION_ACCESS_VIOLATION(Others)
 
siginfo: ExceptionCode=signal-number, ExceptionInformation=additional-information
 
Other than EXCEPTION_ACCESS_VIOLATION
 
siginfo: ExceptionCode=signal-number, ExceptionInformation=additional-information-1 additional-information-2 ...
 

In UNIX
 
siginfo:si_signo=signal-name, si_errno=number, si_code=number(signal-reason-type), si_addr=address
 

(5) siginfo information (in UNIX)

The following contents are output. These contents are extended by JavaVM.

 
siginfo structure dump (location: siginfo-address) 
siginfo-address siginfo-address siginfo-address siginfo-address
 ... 
siginfo-address siginfo-address siginfo-address siginfo-address
 

Note:
The siginfo-address is output in hexadecimal.

(6) Register information

The following contents are output. However, these contents are not output in the case of internal logical errors.

 
Registers: register-information
...
 

Note:
In UNIX, different BSP register value and debugger (gdb) value are output. This is because, in debugger, the contents of the backing store area that indicates BSP is output and the position that indicates BSP is modified.

(7) Information saved from the top of stack

The following contents are output. However, these contents are not output in the case of internal logical errors.

 
Top of Stack: (sp=Address-of-stack-pointer)
Address: Saved-contents
...
 

Note:
saved-contents are output in hexadecimal.

(8) Command code information

The following contents are output. However, these contents are not output in the case of internal logical errors.

 
Instructions: (pc=Address-of-program-counter)
Address: Command-code
...
 

Note: command-code is output in hexadecimal.


(9) Stack trace

The following contents are output. However, these contents are not output when the Current thread is other than JavaThread.

 
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
 Stack-trace
...
 

(10) Thread information

The following contents are output:

 
Java Threads: ( => current thread )
 address JavaThread "thread-name" [state, id=thread-ID, stack(start-address,end-address)]
 :
=>address JavaThread "thread-name" [state, id=thread-ID, stack(start-address,end-address)]
Other Threads:
 address thread-name [stack(start-address,end-address)] [id=thread-ID]
 :
 

(11) VM status

The following contents are output.

 
VM state: current-status
 
VM Mutex/Monitor currently owned by a thread: <mutexs/moniter>
 

The lock information may be output in continuation with this information.


(12) Memory information

The following contents are output. These contents are extended by JavaVM.

 
Memory:
secure-memory-function:addressStart-address - End-address (size: size)
 ...
 
 Heap Size: secured-memory-size
 Alloc Size: memory-size-in-use
 Free Size: unused-memory-size

memory-securing-function is either mmap()or malloc(). The address is displayed in hexadecimal.

The unit of each type of memory size is bytes.

(13) Java heap usage status

The following contents are output. These contents are extended by JavaVM.

 
Heap
Java-heap-information
 

(14) Libraries

The list of loaded libraries is output in continuation to the following contents.

 
Dynamic libraries:
libraries
...
 

(15) Command and VM parameters

The following contents are output. These contents are extended by JavaVM.

 
Command : command-line
 
Java Home Dir : JDK-execution-environment-install-directory
Java DLL Dir : JDK-library-install-directory
Sys Classpath : system-class-path
User Args :
command-option-1
command-option-2
...
 

(16) Environment variables

The following contents are output.

 
Environment Variables:
environment-variable=value
...
 

(17) Registered signal handlers

The following contents are output.

 
Signal Handlers:
signal-type:
 [signal-handler-address], sa_mask[0]= mask-signal, sa_flags=special-flag
...
Changed Signal Handlers -
signal-type: [signal-handler-address], sa_mask[0]=signal-mask, sa_flags=special-flag
...
 

The meaning of output contents are as follows:


(18) Machine information

The following contents are output. These contents are extended by JavaVM.

 
Host: host-name:IP-address
 

Note: Multiple IP addresses may be displayed in IP-address.


(19) System name, CPU, actual memory, and VM information

The following contents are output.

In Windows
 
OS:OS-version
 
CPU: number-of-CPUs-that-can-be-used, CPU-type
 
Memory:actual-memory-information
 
vm_info:VM-information
 

In UNIX
 
OS:OS version
 
[uname:uname output]
[libc:version-number-of-libc(at-times-version number-is-not-output)]
[rlimit:limit-value]
]load average:load-average]
[/proc/meminfo:/proc/meminfo contents]
 
 
CPU:number-of-CPUs-that-can-be-used,CPU-type
 
Memory:actual-memory-information
 
vm_info:VM-information
 

(20) Time information

The following contents are output:

 
time: execution-date
 
elapsed time: execution-time seconds
 

Note:
An example of the execution date is as follows:
Example: Wed Aug 25 14:55:04 2004

(21) Command line of javatrace start command (in UNIX)

The following contents are output. These contents are extended by JavaVM.

# You can get further information from javatrace.log file generated
# by using javatrace command.
# usage: javatrace core-file-name loadmodule-name [out-file-name] [-l(library-name)...]
# Please use javatrace command as follows and submit a bug report
# to Hitachi with javatrace.log file:
#[installation-directory/jre/bin/javatrace core-file load-module]