受影响版本:
- Oracle WebLogic 12c(12.2.1.4.0)
- Oracle WebLogic 14c(14.1.1.0.0)
问题描述:
Oracle官方在2023年7月发布的最新版本的OPatch(13.9.4.2.13)存在一个新出现的Bug(会导致安装WebLogic的PSU时,出现下面的GDR-70005的报错:
objectivec
Caused by: com.oracle.cie.gdr.utils.LocalizedGdrException: GDR-70005: Failed to apply inventory patching to home.
GDR-70005: A failure occurred while attempting to apply inventory patches to the home <ORACLE_HOME>
GDR-70005: Contact customer support.
为了解决上面的问题,官方给出了一个临时补丁,在升级完成OPatch后,再安装这个临时补丁即可(PatchID: 23335292),安装记录如下:
objectivec
[2023/10/08 10:19:06] Repair Bug 35619659 before apply wlserver patches.
Archive: p23335292_13940015_Generic.zip
creating: 23335292/
creating: 23335292/etc/
creating: 23335292/etc/config/
inflating: 23335292/etc/config/actions.xml
inflating: 23335292/etc/config/inventory.xml
inflating: 23335292/etc/config/patchdeploy.xml
creating: 23335292/files/
creating: 23335292/files/oracle.nginst.common/
creating: 23335292/files/oracle.nginst.common/13.9.4.0.0/
creating: 23335292/files/oracle.nginst.common/13.9.4.0.0/oracle.nginst.common.symbol/
creating: 23335292/files/oracle.nginst.common/13.9.4.0.0/oracle.nginst.common.symbol/modules/
inflating: 23335292/files/oracle.nginst.common/13.9.4.0.0/oracle.nginst.common.symbol/modules/com.oracle.cie.gdr_1.8.4.0.jar.23335292
creating: 23335292/files/inventory/
creating: 23335292/files/inventory/Components/
creating: 23335292/files/inventory/Components/oracle.nginst.common/
creating: 23335292/files/inventory/Components/oracle.nginst.common/13.9.4.0.0/
creating: 23335292/files/inventory/Components/oracle.nginst.common/13.9.4.0.0/patches/
creating: 23335292/files/inventory/Components/oracle.nginst.common/13.9.4.0.0/patches/23335292/
inflating: 23335292/files/inventory/Components/oracle.nginst.common/13.9.4.0.0/patches/23335292/compDef.xml
inflating: 23335292/README.txt
Oracle 临时补丁程序安装程序版本 13.9.4.2.13
版权所有 (c) 2023, Oracle Corporation。保留所有权利。
Oracle 主目录 :/weblogic/Oracle/Middleware/Oracle_Home
主产品清单:/weblogic/oraInventory
来自 :/weblogic/Oracle/Middleware/Oracle_Home/oraInst.loc
OPatch 版本 :13.9.4.2.13
OUI 版本 :13.9.4.0.0
日志文件位置:/weblogic/Oracle/Middleware/Oracle_Home/cfgtoollogs/opatch/opatch2023-10-08_10-19-07上午_1.log
OPatch detects the Middleware Home as "/weblogic/Oracle/Middleware/Oracle_Home"
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 23335292
是否继续? [y|n]
Y (auto-answered by -silent)
User Responded with: Y
All checks passed.
请关闭本地系统上在此 ORACLE_HOME 之外运行的 Oracle 实例。
(Oracle 主目录 = '/weblogic/Oracle/Middleware/Oracle_Home')
本地系统是否已准备打补丁? [y|n]
Y (auto-answered by -silent)
User Responded with: Y
Backing up files...
正在将临时补丁程序 '23335292' 应用于 OH '/weblogic/Oracle/Middleware/Oracle_Home'
正在为组件 oracle.nginst.common, 13.9.4.0.0 打补丁...
正在为组件 oracle.nginst.common, 13.9.4.0.0 打补丁...
Patch 23335292 successfully applied.
N-Apply process is complete. No bug fixes are lost.
Log file location: /weblogic/Oracle/Middleware/Oracle_Home/cfgtoollogs/opatch/opatch2023-10-08_10-19-07上午_1.log
Executing: com.oracle.cie.gdr.utils.RuntimeExecShutdownHook$Exec@5716d05c
然后,在安装这个临时补丁的过程中,我这边又发现了新的问题。如果这个补丁安装成功后(实际后台还有一个什么脚本在执行,需要等待15至30秒才能结束),在这15-30秒内,如果立马安装新的补丁,就会出现下面的JVM Crash的报错:
objectivec
Start to apply the patch, id:33093748
Oracle 临时补丁程序安装程序版本 13.9.4.2.13
版权所有 (c) 2023, Oracle Corporation。保留所有权利。
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGBUS (0x7) at pc=0x00007fc4627371d0, pid=104444, tid=0x00007fc4650bc700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_381) (build 1.8.0_381-b32)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.381-b32 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libzip.so+0x121d0] newEntry.isra.4+0x60
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /weblogic/tools/bugrepair/hs_err_pid104444.log
Compiled method (nm) 4178 113 n 0 java.util.zip.ZipFile::getEntry (native)
total in heap [0x00007fc44d145550,0x00007fc44d1458c0] = 880
relocation [0x00007fc44d145678,0x00007fc44d1456c0] = 72
main code [0x00007fc44d1456c0,0x00007fc44d1458c0] = 512
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
/weblogic/Oracle/Middleware/Oracle_Home/OPatch/opatch: 行 1364: 104444 已放弃 (吐核)$JAVA $otherOpt $JAVA_VM_OPTION $JRE_MEMORY_OPTIONS -cp $opatchClassPath -DOPatch.ORACLE_HOME="$OH" -DOPatch.DEBUG="$DEBUGVAL" -DOPatch.MAKE="$MAKEVAL" -DOPatch.RUNNING_DIR="$BASE" -DOPatch.MW_HOME="$MWH" -DOPatch.WL_HOME="$WL_HOME" -DOPatch.COMMON_COMPONENTS_HOME="$COMMON_COMPONENTS_HOME" -DOPatch.OUI_LOCATION="$OUI_LOCATION" -DOPatch.FMW_COMPONENT_HOME="$FMW_COMPONENT_HOME" -DOPatch.OPATCH_CLASSPATH="$CLASSPATH" -DOPatch.WEBLOGIC_CLASSPATH="$WEBLOGIC_CLASSPATH" -DOPatch.SKIP_OUI_VERSION_CHECK="$SKIP_OUI_VERSION_CHECK" -DOPatch.NEXTGEN_HOME_CHECK="$IS_NEXTGEN_HOME" -DOPatch.PARALLEL_ON_FMW_OH=$PARALLEL_ON_FMW_OH $FUSION_TRUST_OPTION ${oracleOcmService} ${_bootClassPath} oracle/opatch/OPatch $args $invptr
OPatch failed with error code 134
为了解决这个问题,就需要在安装完成这个临时补丁后,在脚本中设置一个休眠时间,比如
bash
sleep 30s
然后再安装其他补丁,就不会出现上面的问题了。
参考:
https://support.oracle.com/epmos/faces/DocumentDisplay?id=2806740.2
https://support.oracle.com/epmos/faces/DocumentDisplay?id=2962593.1
https://support.oracle.com/epmos/faces/SrDetail?srNumber=3-34497119531