• 【WebLogic】WebLogic 2023年7月补丁导致JVM崩溃的解决方案


    受影响版本:

    • 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的报错:

    1. Caused by: com.oracle.cie.gdr.utils.LocalizedGdrException: GDR-70005: Failed to apply inventory patching to home.
    2. GDR-70005: A failure occurred while attempting to apply inventory patches to the home
    3. GDR-70005: Contact customer support.

           为了解决上面的问题,官方给出了一个临时补丁,在升级完成OPatch后,再安装这个临时补丁即可(PatchID: 23335292),安装记录如下:

    1. [2023/10/08 10:19:06] Repair Bug 35619659 before apply wlserver patches.
    2. Archive: p23335292_13940015_Generic.zip
    3. creating: 23335292/
    4. creating: 23335292/etc/
    5. creating: 23335292/etc/config/
    6. inflating: 23335292/etc/config/actions.xml
    7. inflating: 23335292/etc/config/inventory.xml
    8. inflating: 23335292/etc/config/patchdeploy.xml
    9. creating: 23335292/files/
    10. creating: 23335292/files/oracle.nginst.common/
    11. creating: 23335292/files/oracle.nginst.common/13.9.4.0.0/
    12. creating: 23335292/files/oracle.nginst.common/13.9.4.0.0/oracle.nginst.common.symbol/
    13. creating: 23335292/files/oracle.nginst.common/13.9.4.0.0/oracle.nginst.common.symbol/modules/
    14. 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
    15. creating: 23335292/files/inventory/
    16. creating: 23335292/files/inventory/Components/
    17. creating: 23335292/files/inventory/Components/oracle.nginst.common/
    18. creating: 23335292/files/inventory/Components/oracle.nginst.common/13.9.4.0.0/
    19. creating: 23335292/files/inventory/Components/oracle.nginst.common/13.9.4.0.0/patches/
    20. creating: 23335292/files/inventory/Components/oracle.nginst.common/13.9.4.0.0/patches/23335292/
    21. inflating: 23335292/files/inventory/Components/oracle.nginst.common/13.9.4.0.0/patches/23335292/compDef.xml
    22. inflating: 23335292/README.txt
    23. Oracle 临时补丁程序安装程序版本 13.9.4.2.13
    24. 版权所有 (c) 2023, Oracle Corporation。保留所有权利。
    25. Oracle 主目录 :/weblogic/Oracle/Middleware/Oracle_Home
    26. 主产品清单:/weblogic/oraInventory
    27. 来自 :/weblogic/Oracle/Middleware/Oracle_Home/oraInst.loc
    28. OPatch 版本 :13.9.4.2.13
    29. OUI 版本 :13.9.4.0.0
    30. 日志文件位置:/weblogic/Oracle/Middleware/Oracle_Home/cfgtoollogs/opatch/opatch2023-10-08_10-19-07上午_1.log
    31. OPatch detects the Middleware Home as "/weblogic/Oracle/Middleware/Oracle_Home"
    32. Verifying environment and performing prerequisite checks...
    33. OPatch continues with these patches: 23335292
    34. 是否继续? [y|n]
    35. Y (auto-answered by -silent)
    36. User Responded with: Y
    37. All checks passed.
    38. 请关闭本地系统上在此 ORACLE_HOME 之外运行的 Oracle 实例。
    39. (Oracle 主目录 = '/weblogic/Oracle/Middleware/Oracle_Home')
    40. 本地系统是否已准备打补丁? [y|n]
    41. Y (auto-answered by -silent)
    42. User Responded with: Y
    43. Backing up files...
    44. 正在将临时补丁程序 '23335292' 应用于 OH '/weblogic/Oracle/Middleware/Oracle_Home'
    45. 正在为组件 oracle.nginst.common, 13.9.4.0.0 打补丁...
    46. 正在为组件 oracle.nginst.common, 13.9.4.0.0 打补丁...
    47. Patch 23335292 successfully applied.
    48. N-Apply process is complete. No bug fixes are lost.
    49. Log file location: /weblogic/Oracle/Middleware/Oracle_Home/cfgtoollogs/opatch/opatch2023-10-08_10-19-07上午_1.log
    50. Executing: com.oracle.cie.gdr.utils.RuntimeExecShutdownHook$Exec@5716d05c

           然后,在安装这个临时补丁的过程中,我这边又发现了新的问题。如果这个补丁安装成功后(实际后台还有一个什么脚本在执行,需要等待15至30秒才能结束),在这15-30秒内,如果立马安装新的补丁,就会出现下面的JVM Crash的报错:

    1. Start to apply the patch, id:33093748
    2. Oracle 临时补丁程序安装程序版本 13.9.4.2.13
    3. 版权所有 (c) 2023, Oracle Corporation。保留所有权利。
    4. #
    5. # A fatal error has been detected by the Java Runtime Environment:
    6. #
    7. # SIGBUS (0x7) at pc=0x00007fc4627371d0, pid=104444, tid=0x00007fc4650bc700
    8. #
    9. # JRE version: Java(TM) SE Runtime Environment (8.0_381) (build 1.8.0_381-b32)
    10. # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.381-b32 mixed mode linux-amd64 compressed oops)
    11. # Problematic frame:
    12. # C [libzip.so+0x121d0] newEntry.isra.4+0x60
    13. #
    14. # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
    15. #
    16. # An error report file with more information is saved as:
    17. # /weblogic/tools/bugrepair/hs_err_pid104444.log
    18. Compiled method (nm) 4178 113 n 0 java.util.zip.ZipFile::getEntry (native)
    19. total in heap [0x00007fc44d145550,0x00007fc44d1458c0] = 880
    20. relocation [0x00007fc44d145678,0x00007fc44d1456c0] = 72
    21. main code [0x00007fc44d1456c0,0x00007fc44d1458c0] = 512
    22. #
    23. # If you would like to submit a bug report, please visit:
    24. # http://bugreport.java.com/bugreport/crash.jsp
    25. # The crash happened outside the Java Virtual Machine in native code.
    26. # See problematic frame for where to report the bug.
    27. #
    28. /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
    29. OPatch failed with error code 134

            为了解决这个问题,就需要在安装完成这个临时补丁后,在脚本中设置一个休眠时间,比如

    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

  • 相关阅读:
    roppy代码实战-Python实现
    第六章:面向对象编程(基础部分)
    c/c++内存管理
    多线程篇1:java创建多线程以及线程状态
    Oracle GoldenGate日常运维过程中常见的问题
    Linux 回收内存
    前端面试宝典
    真实场景sql优化持续更新(老司机必备)
    【ARM】CCI集成指导整理
    【AI绘画 | draft意间】国产draft推荐及AI绘画背后的原理解读
  • 原文地址:https://blog.csdn.net/cnskylee/article/details/133681738