OPatch 11.1.0.10.1 on AIX: Unhandled exception (Segmentation error)

One thing that you don’t want to see while performing an update of a database with the OPatch utility is a SEGFAULT. In my scenario, I simply wanted to list all the installed patches for an ORACLE_HOME and therefore issued opatch lsinventory:

$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinventory
Oracle Interim Patch Installer version 11.1.0.10.1
Copyright (c) 2013, Oracle Corporation.  All rights reserved.

Unhandled exception
Type=Segmentation error vmState=0x00060000
[..]

Here is the full error message:

Unhandled exception
Type=Segmentation error vmState=0x00060000
J9Generic_Signal_Number=00000004 Signal_Number=0000000b Error_Value=00000000 Signal_Code=00000033
Handler1=09001000A043AC78 Handler2=09001000A0432538
R0=0000000000000000 R1=0FFFFFFFFFFFC940 R2=07000000000425D8 R3=000000000000002F
R4=0700000000182580 R5=0000000000000000 R6=0700000000288528 R7=000000011151F380
R8=0000000000000178 R9=0000000000000001 R10=000000011028CB28 R11=0900000004E79C38
R12=00000001102840AC R13=000000011000EAA0 R14=000000011160B2D8 R15=00000001101F9600
R16=0000000110A8F990 R17=0000000111494450 R18=09001000A043E3B0 R19=0700000000267DF0
R20=000000011151D468 R21=000000011160B458 R22=0000000000000002 R23=00000000000000BF
R24=0000000000000000 R25=0000000111F76A78 R26=0700000000288330 R27=000000000000000B
R28=07000000000425D8 R29=000000008A75A635 R30=0700000000288300 R31=0000000111686860
IAR=0900000004E79C38 LR=000000011028CD0C MSR=A00000000000D032 CTR=0900000004E79C38
CR=822482442000005E FPSCR=8200400000000000 XER=2000005E82004000
FPR0 3fe8000000000000 (f: 0.000000, d: 7.500000e-01)
FPR1 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR2 3fe8000000000000 (f: 0.000000, d: 7.500000e-01)
FPR3 3fee666660000000 (f: 1610612736.000000, d: 9.500000e-01)
FPR4 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR5 4530000000000000 (f: 0.000000, d: 1.934281e+25)
FPR6 3ff0000000000000 (f: 0.000000, d: 1.000000e+00)
FPR7 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR8 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR9 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR10 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR11 4026000000000000 (f: 0.000000, d: 1.100000e+01)
FPR12 4024000000000000 (f: 0.000000, d: 1.000000e+01)
FPR13 3ff0000000000000 (f: 0.000000, d: 1.000000e+00)
FPR14 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR15 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR16 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR17 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR18 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR19 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR20 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR21 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR22 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR23 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR24 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR25 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR26 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR27 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR28 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR29 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR30 0000000000000000 (f: 0.000000, d: 0.000000e+00)
FPR31 0000000000000000 (f: 0.000000, d: 0.000000e+00)
Module=/u01/app/oracle/product/11.1.0.7/jdk/jre/bin/libj9jit23.so
Module_base_address=0900000004E4F000
Target=2_30_20070131_11312_BHdSMr (AIX 6.1)
CPU=ppc64 (8 logical CPUs) (0xc40000000 RAM)
JVMDUMP006I Processing Dump Event "gpf", detail "" - Please Wait.
JVMDUMP007I JVM Requesting System Dump using '/u01/app/oracle/product/11.1.0.7/OPatch/core.20131009.123103.37945398.dmp'



JVMDUMP010I System Dump written to /u01/app/oracle/product/11.1.0.7/OPatch/core.20131009.123103.37945398.dmp
JVMDUMP007I JVM Requesting Snap Dump using '/u01/app/oracle/product/11.1.0.7/OPatch/Snap0001.20131009.123103.37945398.trc'
JVMDUMP010I Snap Dump written to /u01/app/oracle/product/11.1.0.7/OPatch/Snap0001.20131009.123103.37945398.trc
JVMDUMP007I JVM Requesting Java Dump using '/u01/app/oracle/product/11.1.0.7/OPatch/javacore.20131009.123103.37945398.txt'
JVMDUMP012E Error in Java Dump: /u01/app/oracle/product/11.1.0.7/OPatch/javacore.20131009.123103.37945398.txt
JVMDUMP013I Processed Dump Event "gpf", detail "".

OPatch failed with error code 160
$

Really, really ugly. It turns out that this is a common problem on AIX hosts. The solution for this problem can be found in Oracle Support Doc ID 1387763.1: Simply set the JAVA_COMPILER environment variable to “NONE” and you’re good to go:

$ export JAVA_COMPILER=NONE
$ ./opatch lsinventory
Oracle Interim Patch Installer version 11.1.0.10.1
Copyright (c) 2013, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.1.0.7/
Central Inventory : /u00/app/oraInventory
   from           : /u01/app/oracle/product/11.1.0.7/oraInst.loc
OPatch version    : 11.1.0.10.1
OUI version       : 11.1.0.7.0
Log file location : /u01/app/oracle/product/11.1.0.7/
[..]

Please note that the MOS document quotes several documents and also provides other solutions to solve the problems. So if this fix does not solve the problem, please refer to the document mentioned above.

Hello world

My name is Simon Krenger, I am a Technical Account Manager (TAM) at Red Hat. I advise our customers in using Kubernetes, Containers, Linux and Open Source.

Elsewhere

  1. GitHub
  2. LinkedIn
  3. GitLab