Java event replacement in Z Abend Investigator event list

When an abend includes Java™ events, Z Abend Investigator requests a system dump of the JVM. This Java system dump is analyzed by Z Abend Investigator using Diagnostic Tool Framework for Java (DTFJ) APIs.

The DTFJ processing occurs asynchronously and does not delay the initial real-time abend analysis. This means that the real-time Z Abend Investigator report contains only internal JVM events, not Java events.

When DTFJ processing has completed, the additional Java information is added into the fault entry so when reanalysis of the fault entry is performed, the more concise and useful Java event information is shown instead.

For example, the real-time event summary might show the following:

Figure 1. Initial real-time report showing internal JVM events
Event           Fail  Module   Program  EP
#  Type         Point Name     Name     Name     Event Location (*) Description
-- ------------ ----- -------- -------- -------- ------------------ --------------------------------------------
 1 Call               JVMLDM71 CEEROOTA n/a      P+D4               BOOTSTRAP MODULE FOR LE; From CTEST.AUTHLOAD
 2 Call               CEEPLPKA n/a      CEEBBEXT E+1D2              BOOTSTRAP MODULE FOR Language Environment; From LPA
 3 Call               CELHV003 n/a      EDCZHINV E+B4               CRTL Main invocation event XPLINK; From CEE.SCEERUN2
 4 >>> XPLink         CEEPLPKA n/a      CEEVROND E+127E             Run on down stack swap; From LPA
 5 Call               JVMLDM71 JzosVM#C main     E+A6               From CTEST.AUTHLOAD
 6 Call               JVMLDM71 JzosVM#C JzosVM::run(int,char**)
                                                 E+34A              From CTEST.AUTHLOAD
 7 Call               JVMLDM71 JzosVM#C JzosVM::invokeMain()
                                                 E+50A              From CTEST.AUTHLOAD
 8 Call               JVMLDM71 JzosVM#C JNIEnv_::CallStaticVoidMethod(_jclass*,_jmethodID*,...)
                                                 E+30               From CTEST.AUTHLOAD
 9 Call               libj9vm27.so
                               n/a      callStaticVoidMethodV
                                                 E+4E               From /apc/java710/31bit/usr/lpp/java/J7.1/lib/s390/default/
10 Call               libj9vm27.so
                               n/a      gpCheckCallin
                                                 E+5C               From /apc/java710/31bit/usr/lpp/java/J7.1/lib/s390/default/
11 Call               n/a      n/a      gpProtectAndRun
                                                 n/a                From not determined
12 Call               libj9prt27.so
                               n/a      j9sig_protect_ceehdlr
                                                 E+176              From /apc/java710/31bit/usr/lpp/java/J7.1/lib/s390/default/
13 Call               libj9vm27.so
                               n/a      signalProtectAndRunGlue
                                                 E+14               From /apc/java710/31bit/usr/lpp/java/J7.1/lib/s390/default/
14 Call               n/a      n/a      gpProtectedRunCallInMethod
                                                 n/a                From not determined
15 Call               n/a      n/a      RUNCALLINMETHOD
                                                 n/a                From not determined
16 <<< XPLink         CEEPLPKA n/a      CEEVRONU E+10CE             CEL Common Runtime; From LPA
17 Abend S0C4   ***** libHelloWorld.so
                               n/a      Java_HelloWorld_badArrayAccess
                                                 E+112              From /u/ctest/javatest-j2c/bin/

After DTFJ processing has completed, Java events are displayed:

Figure 2. Reanalysis of the fault entry after DTFJ processing, showing Java event information
The following events are presented in chronological order.

 Event           Fail  Module   Program  EP
 #  Type         Point Name     Name     Name     Event Location (*) Description
 -- ------------ ----- -------- -------- -------- ------------------ --------------------------------------------
  1 Call               JVMLDM71 CEEROOTA n/a      P+D4               BOOTSTRAP MODULE FOR LE; From CTEST.AUTHLOAD
  2 Call               CEEPLPKA n/a      CEEBBEXT E+1D2              BOOTSTRAP MODULE FOR Language Environment; From LPA
  3 Call               CELHV003 n/a      EDCZHINV E+B4               CRTL Main invocation event XPLINK; From CEE.SCEERUN2
  4 >>> XPLink         CEEPLPKA n/a      CEEVROND E+127E             Run on down stack swap; From LPA
  5 Call               JVMLDM71 JzosVM#C main     E+A6               From CTEST.AUTHLOAD
  6 Java               n/a      n/a      com.ibm.j9ddr.vm27.view.dtfj.java.DTFJJavaStackFrame@300676d
                                                  L#1                From not determined
  7 Call               n/a      n/a      RUNCALLINMETHOD
                                                  n/a                From not determined
  8 <<< XPLink         CEEPLPKA n/a      CEEVRONU E+10CE             CEL Common Runtime; From LPA
  9 Abend S0C4   ***** libHelloWorld.so
                                n/a      Java_HelloWorld_badArrayAccess
                                                  E+112              From /u/ctest/javatest-j2c/bin/