我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么解决MySQL中InnoDB: Failing assertion: format != 0错误

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么解决MySQL中InnoDB: Failing assertion: format != 0错误

本篇内容介绍了“怎么解决MySQL中InnoDB: Failing assertion: format != 0错误”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、MySQL版本5.7.19,OS是MAC OSX在删除表空间时,出现如下错误

[root@localhost][(none)]> drop tablespace ts1;
ERROR 2013 (HY000): Lost connection to MySQL server during query

2、查看error.log日志,看样子有点像是BUG

2018-04-09 16:00:21 0x700007f04000 InnoDB: Assertion failure in thread 123145435496448 in file ha_innodb.cc line 20927 InnoDB: Failing assertion: format != 0 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. 08:00:21 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=8388608 read_buffer_size=16777216 max_used_connections=1 max_threads=512 thread_count=2 connection_count=1 It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 25180932 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x7f86b59eda00
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 = 700007f03e90 thread_stack 0x40000
0   mysqld                              0x000000010385b12a my_print_stacktrace + 58
1   mysqld                              0x00000001037b7e30 handle_fatal_signal + 688
2   libsystem_platform.dylib            0x00007fff7ab81f5a _sigtramp + 26
3   mysqld                              0x0000000104175c4b _ZZN10binary_log4Uuid9to_stringEPKhPcE11byte_to_hex + 78811
4   libsystem_c.dylib                   0x00007fff7a9ac312 abort + 127
5   mysqld                              0x0000000103ab1471 _Z23ut_dbg_assertion_failedPKcS0_m + 161
6   mysqld                              0x0000000103970147 _Z11ib_senderrfP3THD14ib_log_level_tjz + 359
7   mysqld                              0x0000000103982b27 _Z7ib_errfP3THD14ib_log_level_tjPKcz + 199
8   mysqld                              0x0000000103984f9c _ZL25innobase_alter_tablespaceP10handlertonP3THDP19st_alter_tablespace + 1260
9   mysqld                              0x00000001037353e4 _Z22mysql_alter_tablespaceP3THDP19st_alter_tablespace + 228
10  mysqld                              0x00000001036c6920 _Z21mysql_execute_commandP3THDb + 12816
11  mysqld                              0x00000001036c2d28 _Z11mysql_parseP3THDP12Parser_state + 872
12  mysqld                              0x00000001036c1b98 _Z16dispatch_commandP3THDPK8COM_DATA19enum_server_command + 4728
13  mysqld                              0x00000001036c2789 _Z10do_commandP3THD + 505
14  mysqld                              0x000000010379ba44 handle_connection + 436
15  mysqld                              0x0000000103b11756 pfs_spawn_thread + 310
16  libsystem_pthread.dylib             0x00007fff7ab8b6c1 _pthread_body + 340
17  libsystem_pthread.dylib             0x00007fff7ab8b56d _pthread_body + 0
18  libsystem_pthread.dylib             0x00007fff7ab8ac5d thread_start + 13

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7f86b589dc30): drop tablespace ts1
Connection ID (thread ID): 4
Status: NOT_KILLED

The 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.

3、查看ha_innodb.cc源码的20927行

 void ib_senderrf(  THD*    thd,  ib_log_level_t  level,  ib_uint32_t  code,  ...)  {
  va_list    args;
  char*    str = NULL; const char*  format = innobase_get_err_msg(code);  ut_a(thd != 0);  ut_a(format != 0);

  va_start(args, code);

#ifdef _WIN32
  int    size = _vscprintf(format, args) + 1; if (size > 0) {
    str = static_cast<char*>(malloc(size));
  } if (str == NULL) {
    va_end(args); return;  }
  str[size - 1] = 0x0;
  vsnprintf(str, size, format, args);
#elif HAVE_VASPRINTF
  int  ret;
  ret = vasprintf(&str, format, args); if (ret < 0) {
    va_end(args); return;  }
#else  str = static_cast<char*>(malloc(BUFSIZ)); if (str == NULL) {
    va_end(args); return;  }
  my_vsnprintf(str, BUFSIZ, format, args);
#endif  Sql_condition::enum_severity_level  l;

  l = Sql_condition::SL_NOTE; switch (level) { case IB_LOG_LEVEL_INFO: break; case IB_LOG_LEVEL_WARN:
    l = Sql_condition::SL_WARNING; break; case IB_LOG_LEVEL_ERROR:  my_printf_error(code, "%s", MYF(0), str); break; case IB_LOG_LEVEL_FATAL:
    l = Sql_condition::SEVERITY_END; break;
  } if (level != IB_LOG_LEVEL_ERROR) {
    push_warning_printf(thd, l, code, "InnoDB: %s", str);
  }

  va_end(args);
  free(str); if (level == IB_LOG_LEVEL_FATAL) {
    ut_error;
  }
}

“怎么解决MySQL中InnoDB: Failing assertion: format != 0错误”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么解决MySQL中InnoDB: Failing assertion: format != 0错误

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

win10电脑弹出assertion错误怎么解决

当Windows 10电脑弹出assertion错误时,说明系统遇到了一个问题,以下是一些解决方法:1. 重新启动电脑:有时候,简单地重新启动电脑就可以解决assertion错误。2. 更新驱动程序:确保所有的驱动程序都是最新的版本。可以通
2023-10-18

win10错误0x80131500怎么解决

错误代码0x80131500通常与Windows 10操作系统中的应用程序错误相关。以下是解决此错误的几种方法:1. 重新启动计算机:尝试重新启动计算机,有时候仅仅重新启动可以解决错误。2. 更新Windows 10:确保您的Windows
2023-09-04

windows 0x00000bcb错误怎么解决

今天小编给大家分享一下windows 0x00000bcb错误怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。0x00
2023-07-01

windows 0x80080005错误怎么解决

这篇文章主要介绍了windows 0x80080005错误怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇windows 0x80080005错误怎么解决文章都会有所收获,下面我们一起来看看吧。0x800
2023-07-01

windows 0x80070422错误怎么解决

这篇文章主要讲解了“windows 0x80070422错误怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“windows 0x80070422错误怎么解决”吧!0x80070422是
2023-07-01

Windows11中0x80073701更新错误怎么解决

本文小编为大家详细介绍“Windows11中0x80073701更新错误怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“Windows11中0x80073701更新错误怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
2023-04-27

win10错误代码0x80072EFD-0x20000怎么解决

错误代码0x80072EFD-0x20000通常表示Windows 10系统中的网络连接问题。以下是一些可能的解决方法:1. 检查网络连接:确保你的计算机已连接到可靠的网络,并且网络连接正常。2. 重启路由器和计算机:有时候,通过重启网络设
2023-09-17

windows 0xe8000015错误怎么解决

本篇内容主要讲解“windows 0xe8000015错误怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows 0xe8000015错误怎么解决”吧!0xe8000015错误解决
2023-07-01

电脑0x8007003A错误怎么解决

本篇内容介绍了“电脑0x8007003A错误怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!0x8007003A错误解决方法:1、首先
2023-06-30

0x80070002错误代码怎么解决

0x80070002错误代码通常表示文件或文件夹在系统中找不到。以下是一些解决该错误代码的方法:1. 执行Windows更新:打开Windows设置,选择“更新和安全”,然后点击“检查更新”。确保系统是最新的,尤其是与问题相关的更新。2.
2023-09-15

win101909更新错误0x800f0986怎么解决

本篇内容主要讲解“win101909更新错误0x800f0986怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win101909更新错误0x800f0986怎么解决”吧!方法一: “干净
2023-07-01

win101903更新错误0x800f081f怎么解决

这篇“win101903更新错误0x800f081f怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“win101903
2023-07-01

win10错误代码0x0000011b怎么解决

错误代码0x0000011b是Windows 10系统中的一个蓝屏错误代码,通常表示系统遇到了一个内存管理错误。要解决这个问题,可以尝试以下方法:1. 更新驱动程序:确保所有驱动程序都是最新的,尤其是显卡、声卡和网络适配器的驱动程序。可以通
2023-08-25

Windows11激活错误0x87e107f9怎么解决

这篇文章主要介绍“Windows11激活错误0x87e107f9怎么解决”,在日常操作中,相信很多人在Windows11激活错误0x87e107f9怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Win
2023-05-06

win10安装0x80070570错误怎么解决

错误代码0x80070570通常表示在安装Windows 10时发生了文件损坏或不完整的情况。以下是一些可能的解决方案:1. 检查安装媒体:如果您使用的是USB驱动器或光盘来安装Windows 10,请检查它们是否损坏或有损坏的文件。您可以
2023-09-15

win11错误代码0x80070002怎么解决

错误代码0x80070002通常表示系统文件丢失或损坏,导致无法执行某些操作。以下是一些可能的解决方法:1. 运行Windows更新故障排除工具:在Windows 10中,可以运行“设置”>“更新和安全”>“故障排除”>“Windows更新
2023-08-21

win11错误代码0x800705b4怎么解决

错误代码0x800705b4是指Windows Update服务无法连接到Windows Update服务器的错误。以下是一些可能的解决方法:1. 检查网络连接:确保你的计算机已连接到互联网,并且网络连接正常。尝试重新启动你的路由器或调制解
2023-09-02

win10错误代码0X80070035怎么解决

错误代码0X80070035通常表示网络共享出现问题。要解决这个问题,你可以尝试以下几种方法:1. 检查网络设置:确保电脑和共享的设备处于同一局域网中,确保网络连接正常。2. 检查防火墙设置:防火墙可能会阻止网络共享,你可以暂时关闭防火墙,
2023-08-26

win11错误代码0x80004005怎么解决

错误代码0x80004005是Windows操作系统中常见的错误代码之一,它通常表示着与文件、驱动程序、注册表或其他系统组件相关的问题。以下是一些可能的解决方案:1. 执行系统文件扫描:打开命令提示符,并作为管理员运行。然后输入命令 `sf
2023-08-28

编程热搜

目录