当前位置: 首页 > news >正文

解决InnoDB: Failing assertion: !lock->recursive

背景:
在arm服务器里运行MySQL5.7.22版本

报错信息 :

2024-11-25T08:07:36.241825+08:00 856 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 126; events assigned = 53431297; worker queues filled over overrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 894612095100 waited (count) when Workers occupied = 76 waited when Workers occupied = 36574500
2024-11-25T08:09:36.383649+08:00 856 [Note] Multi-threaded slave statistics for channel '': seconds elapsed = 120; events assigned = 53462017; worker queues filled over overrun level = 0; waited due a Worker queue full = 0; waited due the total size = 0; waited at clock conflicts = 894781573600 waited (count) when Workers occupied = 76 waited when Workers occupied = 36574500
2024-11-25 08:10:43 0xffaa167160e0  InnoDB: Assertion failure in thread 281105986052320 in file sync0rw.cc line 560
InnoDB: Failing assertion: !lock->recursive
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
00:10:43 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might fail.key_buffer_size=33554432
read_buffer_size=2097152
max_used_connections=4
max_threads=64020
thread_count=18
connection_count=0
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 394231416 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.Thread pointer: 0xffa990007f70
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = ffaa167157a0 thread_stack 0x30000
/export/servers/app/mysql-5.7.22/bin/mysqld(my_print_stacktrace+0x2c)[0xd907ec]
/export/servers/app/mysql-5.7.22/bin/mysqld(handle_fatal_signal+0x39c)[0x70dcdc]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0xffffa93ef8ec]
/usr/lib64/libc.so.6(+0x80df8)[0xffffa8f2cdf8]
/usr/lib64/libc.so.6(raise+0x1c)[0xffffa8ee8cbc]
/usr/lib64/libc.so.6(abort+0xe0)[0xffffa8ed6cec]
/export/servers/app/mysql-5.7.22/bin/mysqld[0x6e55bc]
/export/servers/app/mysql-5.7.22/bin/mysqld[0xef7908]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z16buf_page_get_genRK9page_id_tRK11page_size_tmP11buf_block_tmPKcmP5mtr_tb+0x664)[0xf75ac4]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z20btr_cur_latch_leavesP11buf_block_tRK9page_id_tRK11page_size_tmP9btr_cur_tP5mtr_t+0x58c)[0xf5323c]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z27btr_cur_search_to_nth_levelP12dict_index_tmPK8dtuple_t15page_cur_mode_tmP9btr_cur_tmPKcmP5mtr_t+0x12a8)[0xf59848]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z30btr_pcur_restore_position_funcmP10btr_pcur_tPKcmP5mtr_t+0x120)[0xf607f0]
/export/servers/app/mysql-5.7.22/bin/mysqld[0xed3ca4]
/export/servers/app/mysql-5.7.22/bin/mysqld[0xed84e4]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z7row_updP10upd_node_tP9que_thr_t+0x230)[0xed8e40]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z12row_upd_stepP9que_thr_t+0x68)[0xed8f08]
/export/servers/app/mysql-5.7.22/bin/mysqld[0xea6318]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN11ha_innobase10update_rowEPKhPh+0x148)[0xdd3f58]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN7handler13ha_update_rowEPKhPh+0x198)[0x7566fc]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN21Update_rows_log_event11do_exec_rowEPK14Relay_log_info+0x84)[0xd06984]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN14Rows_log_event12do_apply_rowEPK14Relay_log_info+0x2c)[0xd034fc]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN14Rows_log_event24do_index_scan_and_updateEPK14Relay_log_info+0x218)[0xd14378]
/export/servers/app/mysql-5.7.22/bin/mysqld(_ZN14Rows_log_event14do_apply_eventEPK14Relay_log_info+0x6d0)[0xd13994]
/export/servers/app/mysql-5.7.22/bin/mysqld(_Z27slave_worker_exec_job_groupP12Slave_workerP14Relay_log_info+0x1e4)[0xd6cac4]
/export/servers/app/mysql-5.7.22/bin/mysqld(handle_slave_worker+0x2b4)[0xd504d4]
/export/servers/app/mysql-5.7.22/bin/mysqld(pfs_spawn_thread+0xf4)[0x10a4784]
/usr/lib64/libc.so.6(+0x7f320)[0xffffa8f2b320]
/usr/lib64/libc.so.6(+0xe545c)[0xffffa8f9145c]Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (ffa99ce9c970): is an invalid pointer
Connection ID (thread ID): 858
Status: NOT_KILLEDThe manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
2024-11-25T08:10:47.554095+08:00 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2024-11-25T08:10:47.554214+08:00 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2024-11-25T08:10:47.554246+08:00 0 [Note] /export/servers/app/mysql-5.7.22/bin/mysqld (mysqld 5.7.22-log) starting as process 41346 ...
2024-11-25T08:10:47.599043+08:00 0 [Warning] option 'innodb-buffer-pool-instances': unsigned value 128 adjusted to 64
2024-11-25T08:10:47.599739+08:00 0 [Warning] InnoDB: Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
2024-11-25T08:10:47.599768+08:00 0 [Warning] InnoDB: Using innodb_file_format_max is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
2024-11-25T08:10:47.599859+08:00 0 [Note] InnoDB: PUNCH HOLE support available
2024-11-25T08:10:47.599871+08:00 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2024-11-25T08:10:47.599877+08:00 0 [Note] InnoDB: Uses event mutexes
2024-11-25T08:10:47.599881+08:00 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2024-11-25T08:10:47.599885+08:00 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2024-11-25T08:10:47.599890+08:00 0 [Note] InnoDB: Using Linux native AIO
2024-11-25T08:10:47.623089+08:00 0 [Note] InnoDB: Number of pools: 1
2024-11-25T08:10:47.623284+08:00 0 [Note] InnoDB: Not using CPU crc32 instructions
2024-11-25T08:10:47.625617+08:00 0 [Note] InnoDB: Initializing buffer pool, total size = 328G, instances = 64, chunk size = 128M
2024-11-25T08:11:10.620091+08:00 0 [Note] InnoDB: Completed initialization of buffer pool
2024-11-25T08:11:13.781206+08:00 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2024-11-25T08:11:13.785464+08:00 0 [Note] InnoDB: Opened 2 undo tablespaces
2024-11-25T08:11:13.785498+08:00 0 [Note] InnoDB: 2 undo tablespaces made active
2024-11-25T08:11:13.785805+08:00 0 [Note] InnoDB: Highest supported file format is Barracuda.
2024-11-25T08:11:16.304842+08:00 0 [Note] InnoDB: Log scan progressed past the checkpoint lsn 185967007381
2024-11-25T08:11:16.426612+08:00 0 [Note] InnoDB: Doing recovery: scanned up to log sequence number 185972250112

官方说明:
https://bugs.mysql.com/bug.php?id=94699
https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-27.html
属于漏洞,已经在新版本里修复了

其他修复方案:
1、调大slave_pending_jobs_size_max
如果slave_pending_jobs_size_max的大小小于当前需要执行事件所需的内存大小
2、临时调整sync_binlog大小
当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘
3、slave_parallel_workers
调整并行复制的参数,建议修改为cpu的核数
4、innodb_io_capacity
sas硬盘建议200,如果是nvme固态盘,建议调整为1500

相关文章:

解决InnoDB: Failing assertion: !lock->recursive

背景: 在arm服务器里运行MySQL5.7.22版本 报错信息 : 2024-11-25T08:07:36.24182508:00 856 [Note] Multi-threaded slave statistics for channel : seconds elapsed 126; events assigned 53431297; worker queues filled over overrun level 0; …...

基于微信小程序的外卖点餐系统设计与实现ssm+论文源码调试讲解

4系统概要设计 4.1概述 本系统后台采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原…...

Helm Chart 实现 Kubernetes 应用的多环境部署与镜像更新

在现代软件开发中,通常需要将应用部署到多个环境(如开发环境、测试环境、生产环境),并且在不同环境中使用不同的配置和镜像版本。Helm Chart 提供了强大的模板化和参数化功能,可以轻松实现多环境部署和镜像更新。本文将详细介绍如何使用 Helm Chart 实现 Kubernetes 应用的…...

“腾讯、钉钉、飞书” 会议开源平替,免费功能强大

在数字化时代,远程办公和线上协作越来越火。然而,市面上的视频会议工具要么贵得离谱,要么功能受限,甚至还有些在数据安全和隐私保护上让人不放心。 今天开源君给大家安利一个超棒的开源项目 - Jitsi Meet,这可是我在网…...

我谈区域偏心率

偏心率的数学定义 禹晶、肖创柏、廖庆敏《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》P312 区域的拟合椭圆看这里。 Rafael Gonzalez的二阶中心矩的表达不说人话。 我认为半长轴和半短轴不等于特征值,而是特征值的根号。…...

思科交换机telnet配置案例

目录 1.telnet简述2.网络拓扑3.设备说明4.网络配置4.1 电脑PC ip设置4.2 网络交换机telnet配置 5.小结 1.telnet简述 Telnet是远程登录服务的一个协议,该协议定义了远程登录用户与服务器交互的方式。它允许用户在一台联网的计算机上登录到一个远程分时系统中&#…...

机器学习:支持向量机

支持向量机(Support Vector Machine)是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的广义线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。 假设两类数据可以被 H x : w T x…...

人工智能前沿技术进展与应用前景探究

一、引言 1.1 研究背景与意义 人工智能作为一门极具变革性的前沿技术,正深刻地改变着人类社会的各个层面。从其诞生之初,人工智能便承载着人类对智能机器的无限遐想与探索。自 20 世纪中叶起,人工智能踏上了它的发展征程,历经了…...

(一)HTTP协议 :请求与响应

前言 爬虫需要基础知识,HTTP协议只是个开始,除此之外还有很多,我们慢慢来记录。 今天的HTTP协议,会有助于我们更好的了解网络。 一、什么是HTTP协议 (1)定义 HTTP(超文本传输协议&#xff…...

什么是网络爬虫?Python爬虫到底怎么学?

最近我在研究 Python 网络爬虫,发现这玩意儿真是有趣,干脆和大家聊聊我的心得吧!咱们都知道,网络上的信息多得就像大海里的水,而网络爬虫就像一个勤劳的小矿工,能帮我们从这片浩瀚的信息海洋中挖掘出需要的…...

NR_shell运行流程简析

nr_shell 是一套开源 shell 框架,基于框架可创建终端交互功能。 为了记录终端输入指令,以及进行解析处理,nr_shell 提供了一套 cmd 结构体,具体如下:typedef struct static_cmd_function_struct {char cmd[NR_SHELL_CM…...

CSS Fonts(字体)

CSS Fonts(字体) 在网页设计中,字体是传达信息情感和风格的关键元素。CSS(层叠样式表)提供了丰富的字体样式和属性,使得网页设计者能够根据需求选择合适的字体,从而提升用户体验。本文将详细介绍CSS字体相关的知识,包括字体的选择、加载、样式设置等。 字体的选择 选…...

基于Django的Boss直聘IT岗位可视化分析系统的设计与实现

【Django】基于Django的Boss直聘IT岗位可视化分析系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统采用Python作为主要开发语言,利用Django这一高效、安全的W…...

linux系统中的 scp的使用方法

SCP(Secure Copy Protocol)是一种通过加密的方式在本地主机和远程主机之间安全地传输文件的协议。 它是基于SSH协议的扩展,允许用户在不同主机之间进行文件复制和传输,是Linux和Unix系统中常用的工具之一。 在嵌入式Linux软件的…...

x5music3.0 admin_index.php 后台权限绕过漏洞复现(附脚本)

免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…...

【单链表算法实战】解锁数据结构核心谜题——相交链表

题目如下: 解题过程如下: 相交链表只可以在中间任意位置/头/尾结点相交,如下图: 一个next指针只能指向一块地址,所以不会出现这种情况: 在返回相交链表的起始结点之前先要判断两个链表是否相交&#xff0…...

Crewai框架添加日志功能

一开始看官方文档以为要用callback这个注释在一个自定义函数上输出日志,结果弄半天都没有结果,最后发已经有现成的方法了(一开始搜log都没搜到这个方法) 只要添加这个output_log_file配置参数即可,由于我的项目只有一…...

【2025年数学建模美赛E题】(农业生态系统)完整解析+模型代码+论文

生态共生与数值模拟:生态系统模型的物种种群动态研究 摘要1Introduction1.1Problem Background1.2Restatement of the Problem1.3Our Work 2 Assumptions and Justifications3 Notations4 模型的建立与求解4.1 农业生态系统模型的建立与求解4.1.1 模型建立4.1.2求解…...

Linux(Centos、Ubuntu) 系统安装jenkins服务

该文章手把手演示在Linux系统下如何安装jenkins服务、并自定义jenkins数据文件位置、以及jenkins如何设置国内镜像源加速,解决插件下载失败问题 安装方式:war包安装 阿里云提供的war下载源地址:https://mirrors.aliyun.com/jenkins/war/?s…...

2013年蓝桥杯第四届CC++大学B组真题及代码

目录 1A:高斯日记(日期计算) 2B:马虎的算式(暴力模拟) 3C:第39级台阶(dfs或dp) 4D:黄金连分数(递推大数运算) 5E:前缀…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

pam_env.so模块配置解析

在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

微信小程序云开发平台MySQL的连接方式

注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...