IBM BS029ML Self Help Guide - Page 175

JVM crashes, JVM signals in UNIX, Using dbx or dbxtrace against the core, Signal name, Description

Page 175 highlights

Refer to Appendix A, "Using IBM tools to find solutions and promote customer self-help" on page 169 for the tools available to diagnose crashes and hangs. JVM crashes Under normal conditions, Java is supposed to catch exceptions and handle them. So, if the JVM is found to be crashing, then this must be attributed to either JITC code (because it uses native compilation) or JNI code (because, again, it uses native code) and lastly possibly because of the JVM itself. If the JVM crashes, the following aspects should be investigated: System environment The system might have been in a state that has caused the VM to crash. For example, there could be a resource shortage (such as memory or disk) or a stability problem. The javacore file tells you how to find disk and memory resource information. The system logs can give indications of system problems. Java environment Use the javacore file to determine what each thread was doing and which Java methods were being executed.Use the -verbose:gc option to look at the state of the Java heap. JVM signals in UNIX AIX and Solaris, like other UNIX based operating systems, make use of signals. Signals are, of course, a method by which the operating system can interrupt a running process or program. Some of the common signals that result in abnormal program termination are listed Table 5-23. Table 5-23 JVM signals Signal name SIGBUS (7) SIGSEGV (11) SIGILL (4) SIGFPE (8) SIGABRT (8) SIGINT (2) Signal type Exception Exception Exception Exception Error Interrupt Description Incorrect access to memory (data misalignment). Incorrect access to memory (write to inaccessible memory). Illegal instruction (attempt to invoke an unknown machine instruction). Floating point exception (divide by zero). Abnormal termination. The JVM raises this signal whenever it detects a JVM fault. Interactive attention (CTRL-C). JVM exits normally. Using dbx or dbxtrace against the core dbx is the AIX standard command-line debugger. You can automate dbx into diagnostic "probes". IBM Support might ask you to obtain and run selected probes, either against a test instance of the troubled application, or against the dump files generated by an application failure. Chapter 5. WebSphere Portal runtime and services 161

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242

Chapter 5. WebSphere Portal runtime and services
161
Refer to Appendix A, “Using IBM tools to find solutions and promote customer self-help” on
page 169 for the tools available to diagnose crashes and hangs.
JVM crashes
Under normal conditions, Java is supposed to catch exceptions and handle them. So, if the
JVM is found to be crashing, then this must be attributed to either JITC code (because it uses
native compilation) or JNI code (because, again, it uses native code) and lastly possibly
because of the JVM itself. If the JVM crashes, the following aspects should be investigated:
±
System environment
The system might have been in a state that has caused the VM to crash. For example,
there could be a resource shortage (such as memory or disk) or a stability problem. The
javacore file tells you how to find disk and memory resource information. The system logs
can give indications of system problems.
±
Java environment
Use the javacore file to determine what each thread was doing and which Java methods
were being executed.Use the -verbose:gc option to look at the state of the Java heap.
JVM signals in UNIX
AIX and Solaris, like other UNIX based operating systems, make use of signals. Signals are,
of course, a method by which the operating system can interrupt a running process or
program. Some of the common signals that result in abnormal program termination are listed
Table 5-23.
Table 5-23
JVM signals
Using dbx or dbxtrace against the core
dbx is the AIX standard command-line debugger. You can automate dbx into diagnostic
"probes". IBM Support might ask you to obtain and run selected probes, either against a test
instance of the troubled application, or against the dump files generated by an application
failure.
Signal name
Signal type
Description
SIGBUS (7)
Exception
Incorrect access to memory
(data misalignment).
SIGSEGV (11)
Exception
Incorrect access to memory
(write to inaccessible memory).
SIGILL (4)
Exception
Illegal instruction (attempt to
invoke an unknown machine
instruction).
SIGFPE (8)
Exception
Floating point exception (divide
by zero).
SIGABRT (8)
Error
Abnormal termination. The
JVM raises this signal
whenever it detects a JVM fault.
SIGINT (2)
Interrupt
Interactive attention (CTRL-C).
JVM exits normally.