【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的报错:
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),安装记录如下:
[2023/10/08 10:19:06] Repair Bug 35619659 before apply wlserver patches.
Archive: p23335292_13940015_Generic.zipcreating: 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.logOPatch 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的报错:
Start to apply the patch, id:33093748Oracle 临时补丁程序安装程序版本 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] = 880relocation [0x00007fc44d145678,0x00007fc44d1456c0] = 72main 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 $invptrOPatch 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
相关文章:
【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&#…...
简单OpenSL ES学习
初识OpenSL ES OpenSL ESObjects和Interfaces 所有的Object在OpenSl里面我们拿到的都是一个SLObjectItf:SLObjectItf_创建引擎创建过程要设计得这么麻烦?(object的生命周期)这么多参数,参数类型这么多学习障碍太大&…...
Linux网络编程- struct packet_mreq setsockopt()
struct packet_mreq struct packet_mreq 是一个数据结构,用于 Linux 中的原始数据包套接字,当我们想改变套接字的行为以接收特定类型的数据包时,它与 setsockopt() 函数配合使用。 下面是 struct packet_mreq 的定义: struct p…...
C++学习day4
作业: 1> 思维导图 2> 整理代码 1. 拷贝赋值函数课上代码 //拷贝赋值函数课上代码 #include<iostream> using namespace std;//创建类 class Stu { private://私有的string name;int socer;int *age;//此处注意用到指针类型 public://共有的//无参构…...
从零学算法54
54.给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 螺旋遍历:从左上角开始,按照 向右、向下、向左、向上 的顺序 依次 提取元素,然后再进入内部一层重复相同的步骤,直到…...
Logback日志框架使用详解以及如何Springboot快速集成
Logback简介 日志系统是用于记录程序的运行过程中产生的运行信息、异常信息等,一般有8个级别,从低到高为All < Trace < Debug < Info < Warn < Error < Fatal < OFF off 最高等级,用于关闭所有日志记录fatal 指出每个…...
Nginx概念
Nginx概念 Nginx 是一款面向性能设计的 HTTP 服务器,相较于 Apache、lighttpd 具有占有内存少,稳定性高等优势,同时也是一个非常高效的反向代理、负载平衡服务器 nginx使用的是反应器模式,主事件循环等待操作系统发出准备事件的信…...
vim基础指令(自用)
这个是自己随便写的,类似于笔记 vim 多模式编辑器 查看指令: gg: 定位光标到最开始行 shift(按)g 定位到最结尾行 nshift(按)g 定位到任意行 shift$ 定位到本行结尾 0 定位到本行开头 w:跨单词移动 h.j.k,l: 左下上右 …...
【centos7安装ElasticSearch】
概述 最近工作中有用到ES ,当然少不了自己装一个服务器捣鼓。本文的ElasticSearch 的版本: 7.17.3 一、下载 ElasticSearch 点此下载 下载完成后上传至 Linux 服务器,本文演示放在: /root/ 下,进行解压࿱…...
ElementPlus Switch 开关基础使用
昨天开发用到开关组件 后台返回字段是 can_write 默认是0 or 1 但是Switch 组件绑定的默认值默认是 true or false 直接绑定会导致默认是关闭状态 在页面一加载 值发生变化时 会自己调用 查了文档 需要使用 active-value 和 inactive-value 来指定绑定的数据类型 …...
Spring Boot:自定义注解--annotation
目录 自定义注解的定义和作用范围如何创建自定义注解创建注解接口 如何使用自定义注解进行数据验证创建注解处理器控制器中使用注解 如何为字段添加注解 自定义注解的定义和作用范围 自定义注解可以作用在类、方法、属性、参数、异常、字段或其他注解上。 如何创建自定义注解…...
WIFI频段
问题: 5ghzwifi频段带宽怎么选 智造喵回答: 选择5GHz WiFi频段的带宽取决于你的网络需求和设备兼容性。通常有两种可选的带宽:20MHz和40MHz。 20MHz带宽:这是较为常见的 WiFi 频段带宽设置。它提供较好的穿墙能力和信号稳定性…...
Java的引用详解与示例
引用的作用 在Java中,引用(Reference)是一种重要的概念,它们用于管理对象的生命周期、内存分配和垃圾回收。引用的作用包括以下几个方面: 内存管理:引用帮助Java虚拟机(JVM)管理内存…...
c++视觉处理---霍夫变换
霍夫直线变换的函数 HoughLines 是OpenCV库中用于执行霍夫直线变换的函数。霍夫直线变换用于检测图像中的直线。下面是该函数的基本用法: cv::HoughLines(image, lines, rho, theta, threshold);image: 输入的二值图像,通常是通过边缘检测算法生成的。…...
el-table 边框颜色修改 简单有效!
废话不多说,直接上图 (1)修改前的图如下: 以上是elementUI原组件自带的样式 (2)下面是修改后的边框图如下: 源码如下: <el-table :data"jctableData" border size…...
Zabbix第二部分:基于Proxy分布式部署实现Web监控和Zabbix HA集群的搭建
代理和高可用 一、基于zabbix-proxy的分布式监控1.1 分布式监控的作用1.2 数据流向1.3 构成组件 二、部署zabbix代理服务器Step1 前置准备Step2 设置 zabbix 的下载源,安装 zabbix-proxyStep3 部署数据库并将zabbix相关文件导入Step4 修改zabbix-proxy的配置文件&am…...
JumpServer rce深入剖析
影响范围 JumpServer < v2.6.2 JumpServer < v2.5.4 JumpServer < v2.4.5 JumpServer v1.5.9 修复链接及参考 修改了一处代码: Git History 增加了一处鉴权 def connect(self):user self.scope["user"]if user.is_authenticated and …...
EasyExcel导入/导出Excel文件
EasyExcel导入/导出Excel文件简单写法 1、导入依赖 2、创建简单导入、导出demo 3、创建类 继承AnalysisEventListener(导入Excel监听解析表格数据) 4、创建类 基于注解 自定义Excel导出模版 1、导入EasyExcel依赖 <!--导入EasyExcel…...
力扣(LeetCode)2512. 奖励最顶尖的K名学生(C++)
优先队列哈希集合反向思维(或自定义排序) 模拟,请直接看算法思路: 两个哈希集合S1和S2, S1存正面词汇,S2存负面词汇;一个优先队列pq,pq存{score, id}键值对,即学生分数-学生id。 算法流程: 初…...
CubeMX+BabyOS 使用方法
MCU:STM32G030F 编译器:MDK 托管工具:Sourcetree CubeMX创建工程 BabyOS克隆 添加子模块 git submodule add https://gitee.com/notrynohigh/BabyOS.git BabyOS 切换dev 分支 查看当前分支 git branch -a 切换本地分支到dev git che…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
