Hitachi

uCosminexus Application Server Maintenance and Migration Guide


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

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 (file-name:number-of-lines or internal-error-code), pid=process-ID, tid=thread-ID
# Internal logical Error: Internal logical error message
#
# 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 compressed-OOP)
#
# core-file-information
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= occurred-signal-number (occurred-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) 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
...

(9) 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]
 :

(10) VM status

The following contents are output.

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

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

(11) 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.

(12) Java heap usage status

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

Heap#
Java-heap-information
#

The header section differs between the extended thread dump and the error report file.

For the extended thread dump

Heap Status

-----------

For the error report file

Heap

(13) Card table map address display

The following contents are output.

Card table byte_map: [address,address] byte_map_base: address

(14) Polling page address display

The following contents are output.

Polling page: address

(15) Large pages allocation failure information

If memory allocation by using the mmap() function fails, the number of failures is output.

Large page allocation failures have occurred number-of-times times

(16) CodeCache information

The following contents are output.

CodeCache: size=total-size used=used-size max_used=maximum-size free=free-space-size
 bounds [bottom, commit-addr, reserve-addr]
 total_blobs=total-number-of-CodeBlobs nmethods=total-number-of-methods adapters=total-number-of-adapters
 compilation: enabled or disabled

(17) Event information

All contents of the event buffer are output.

event-type-name (number-of-events events):
event-record
  :

Event information is managed in a ring buffer, and the maximum number of events retained per event type is 10. If the number of events is 0, No events is output to event-record.

The following are examples of output for each event-type that can be output.

(18) Libraries

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

Dynamic libraries:
libraries
...

(19) 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
...

(20) Environment variables

The following contents are output.

Environment Variables:
environment-variable=value
...

(21) 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:
  • signal-type: It is the signal name defined in /usr/include/sys/signal.h.

  • signal-handler-address: It is the signal handler address output in hexadecimal. It may also be displayed in the library-name+offset format.

  • signal-mask: It is the value where the sa_mask field value of the structure extracted by sigaction() is output in hexadecimal.

  • special-flag: It is the value where the sa_flags field value of the structure extracted by sigaction() is output in hexadecimal.

(22) 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.

(23) 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

Time information

The following contents are output:

time: execution-date
 
elapsed time: execution-time seconds (formatted-execution-time-output)
Note:

An example of the execution date is as follows:

Example: Wed Aug 25 14:55:04 2004

It is difficult to understand the execution time given only in unit of seconds, so the execution time is output in (formatted-execution-time-output) in the format of days, hours, minutes, and seconds.

(Example) elapsed time: 900 seconds (0d 0h 15m 0s)

(24) 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/bin/javatrace core-file load-module]