openssl版本冲突导致的崩溃(初稿)

2024-04-04 20:04

本文主要是介绍openssl版本冲突导致的崩溃(初稿),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题现象:UniAuditToSyslog 崩溃 数据库:mysql 系统:oracle linux server

排查步骤:
进入到容器内部后

1 执行gdb
报错 command not found

2 没有gdb想着生成个core取出来看看
ulimit -c结果是0
执行ulimit -c unlimited

3 cat /proc/sys/kernel/core_pattern
发现没有这个路径,手动创建了一个后使用方案1设置了core生成的路径后。
手动运行模块后,设置的路径下生成了core文件。
(1)执行 sysctl kernel.core_pattern=core路径 命令进行修改,重启后失效
(2)在/etc/sysctl.conf中添加kernel.core_pattern=core路径;然后执行sysctl -p加载

4 结果客户反馈没法取出core文件且没有gdb
提供一个centos的gdb包 gdb-7.6.1-120.el7.x86_64
执行rpm -ivh gdb-7.6.1-120.el7.x86_64 安装失败
报错:conflicts with file from package gdb-7.6.1-114.el7.x86_64
执行yum remove gdb卸载原来的114版本
重新执行rpm -ivh gdb-7.6.1-120.el7.x86_64
执行gdb -v发现安装成功
gdb UniAuditToSysLog堆栈:
请添加图片描述
gdb UniAuditToSysLog和gdb isql的堆栈对比
请添加图片描述

而后修改makefile添加-Wl,–exclude-libs,ALL后才隐藏了libblowsnow_db.a里面所有的符号,重新编译UniAuditToSysLog替换后验证,发现模块可正常运行
在这里插入图片描述

这篇关于openssl版本冲突导致的崩溃(初稿)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/876715

相关文章

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作