当前位置: 首页 > 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:前缀…...

【T6/T3】通过账套备份文件快速识别畅捷通软件版本的实用技巧

1. 为什么需要识别畅捷通软件版本 最近接手了一个老客户的财务系统迁移项目,发现他们提供的账套备份文件没有标注具体版本号。这种情况在实际工作中很常见——企业可能多年未升级系统,或者交接文档不完整。如果直接安装错误版本的畅捷通软件,…...

用Multisim 14.0和AD620/OP07,手把手教你搭建一个能用的简易心电放大电路

从零开始构建心电放大电路:Multisim 14.0与AD620/OP07实战指南 在生物医学信号处理领域,心电信号采集一直是极具挑战性的课题。想象一下,当医生将电极贴在你胸口时,那些微弱的电信号是如何被放大并转化为清晰波形图的?…...

FDTD仿真中谐振腔Q值计算:从低Q到高Q的完整实践指南

1. 谐振腔Q值计算的核心概念 第一次接触谐振腔Q值计算时,我被各种公式和图表搞得晕头转向。直到在实验室熬了三个通宵后,才真正理解Q值就像是一个"能量储存能力"的评分卡——分数越高,能量泄漏越慢。在FDTD仿真中,我们…...

jquery-match-height完全教程:5分钟学会创建完美等高元素

jquery-match-height完全教程:5分钟学会创建完美等高元素 【免费下载链接】jquery-match-height a responsive equal heights plugin 项目地址: https://gitcode.com/gh_mirrors/jq/jquery-match-height jquery-match-height是一款强大的响应式等高元素插件&…...

OpenClaw技能开发入门:为Qwen3.5-4B-Claude定制数学解题模块

OpenClaw技能开发入门:为Qwen3.5-4B-Claude定制数学解题模块 1. 为什么需要数学解题模块 去年辅导侄女做几何证明题时,我发现市面上大多数AI工具要么只能给出最终答案,要么解题步骤过于简略。作为一个喜欢折腾技术的程序员,我决…...

2026知识付费SaaS平台实测对比:创客匠人综合首选,断层领跑行业榜单

随着知识付费市场规模突破千亿大关(数据来源:艾瑞咨询2026年报告),越来越多内容创作者、教培机构和企业涌入这一赛道。但在选择SaaS平台时,用户却面临诸多痛点:功能卡顿影响用户体验、获客成本高企、私域运…...

tcc-g15:硬件级散热控制的开源替代方案 | 轻量无广告设计

tcc-g15:硬件级散热控制的开源替代方案 | 轻量无广告设计 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 tcc-g15作为Dell G15系列游戏本的开源替代…...

Anthropic公司内容管理系统配置错误致大模型泄露引市场震荡

配置错误:Claude Mythos大模型意外泄露3月30日,据SiliconAngle报道,Anthropic公司内容管理系统发生配置错误,导致正在测试的新一代大语言模型Claude Mythos意外泄露。官方证实,该模型是公司“迄今为止构建的能力最强的…...

异步流式响应总卡顿、丢帧、OOM?FastAPI 2.0三大核心配置必须在上线前重写,否则AI服务将不可用

第一章:FastAPI 2.0异步AI流式响应的典型故障图谱在 FastAPI 2.0 中启用异步流式响应(如 StreamingResponse 配合 async generator)处理大语言模型推理输出时,常见故障并非源于逻辑错误,而是由异步生命周期、客户端兼容…...

Pixel Dream Workshop一文详解:基于diffusers的FluxPipeline定制部署

Pixel Dream Workshop一文详解:基于diffusers的FluxPipeline定制部署 1. 像素幻梦创意工坊概述 Pixel Dream Workshop(像素幻梦创意工坊)是一款专为像素艺术创作设计的AI生成工具,基于最新的FLUX.1-dev扩散模型构建。与传统AI绘…...