embedit报错

说明:

  embedit工具运行在一批机器总是报错,报错信息如下:

bash 复制代码
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f650df1bf05, pid=4853, tid=4854
#
# JRE version: OpenJDK Runtime Environment (11.0.2+9) (build 11.0.2+9)
# Java VM: OpenJDK 64-Bit Server VM (11.0.2+9, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C  [libcrypto.so.1.0.2k+0x70f05]  OPENSSL_ia32_cpuid+0x5
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e %P %I %h" (or dumping to /home/tools/core.4853)
#
# 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.
#

---------------  S U M M A R Y ------------

Command Line: -Xmx512m -Djava.library.path=/cadtools/synopsys/embedit-T-2022.09-SP1/linux64/lib -Djava.util.prefs.systemRoot=/home/tools/.java -Dsun.java2d.pmoffscreen=true /cadtools/synopsys/embedit
-T-2022.09-SP1/lib/classes/integrator.jar -h /cadtools/synopsys/embedit-T-2022.09-SP1

Host: Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz, 16 cores, 62G, Red Hat Enterprise Linux Server release 7.9 (Maipo)
Time: Thu Jun  4 18:18:27 2026 CST elapsed time: 0 seconds (0d 0h 0m 0s)

---------------  T H R E A D  ---------------

Current thread (0x00007f6504011000):  JavaThread "main" [_thread_in_native, id=4854, stack(0x00007f650e695000,0x00007f650e796000)]

Stack: [0x00007f650e695000,0x00007f650e796000],  sp=0x00007f650e792f48,  free space=1015k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libcrypto.so.1.0.2k+0x70f05]  OPENSSL_ia32_cpuid+0x5

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.lang.ClassLoader$NativeLibrary.load0(Ljava/lang/String;Z)Z+0 java.base@11.0.2
j  java.lang.ClassLoader$NativeLibrary.load()Z+53 java.base@11.0.2
j  java.lang.ClassLoader$NativeLibrary.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)Z+216 java.base@11.0.2
j  java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;)Z+46 java.base@11.0.2
j  java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V+312 java.base@11.0.2
j  java.lang.Runtime.loadLibrary0(Ljava/lang/Class;Ljava/lang/String;)V+54 java.base@11.0.2
j  java.lang.System.loadLibrary(Ljava/lang/String;)V+7 java.base@11.0.2
j  integrator.system.Project.<clinit>()V+2
v  ~StubRoutines::call_stub
j  integrator.system.ProjectProxy.<init>()V+126
j  integrator.system.ProjectProxy.getInstance(Ljava/lang/String;)Lintegrator/system/ProjectProxy;+33
j  integrator.main.Q.main([Ljava/lang/String;)V+101
v  ~StubRoutines::call_stub

siginfo: si_signo: 11 (SIGSEGV), si_code: 2 (SEGV_ACCERR), si_addr: 0x00007f649f667b38

Register to memory mapping:

根据报错信息,尝试更新java版本还是报错

崩溃源头函数:OPENSSL_ia32_cpuid()

OpenSSL 1.0.2k内部硬编码汇编,主动调用 CPU 的 CPUID 指令去探测 CPU 特性(SSE/AES-NI/AVX 等):

老 OpenSSL 在 Cascade Lake(Xeon 6248)新一代 CPU 上:CPU 新增的扩展寄存器 / 标识位超出 1.0.2k 代码预设范围,汇编越界访问内存 → SIGSEGV (11 段错误),日志里:

plaintext

bash 复制代码
C  [libcrypto.so.1.0.2k+0x70f05]  OPENSSL_ia32_cpuid+0x5
siginfo: si_signo: 11 (SIGSEGV)

解决:

OPENSSL_ia32cap=0x0 ,强制把 OpenSSL 识别到的 CPU 硬件能力掩码置 0,跳过原生 cpuid 汇编探测逻辑,不走出错的OPENSSL_ia32_cpuid代码。

bash 复制代码
setenv OPENSSL_ia32cap 0x0

小结:

相关推荐
酸菜。2 小时前
dw_axi_dmac总结
linux
神奇霸王龙2 小时前
Agent 准入门控屠夫:5 旗舰 4 维度评估
linux·运维·数据库·ai·ai作画·agent·ai编程
小绫网络安全5 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
西安景驰电子5 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php
猫吃了源码6 小时前
k9s简介和安装
linux·docker·kubernetes
小马同学-7 小时前
高可用-Keepalived全解析
linux·运维
Forever Nore8 小时前
LeetCode 13 罗马数字转整数 - 按规则处理
linux·服务器·leetcode
我不会插花弄玉8 小时前
2.Linux基础指令下【由浅入深-Linux】
linux·服务器
雯宝9 小时前
3. 驱动框架(块设备)
linux
静止了 所有的花开9 小时前
Ubuntu 26.04 静态 IP 配置不生效解决方法
linux·ubuntu·静态ip