- 论坛徽章:
- 0
|
上周做一个slave , 主从都是innodb的,在备机上发出slave start后不久导致实例崩溃重启,很无解,80%怀疑是碰到了Bug
不知道还有各位碰到过类似的错误没有
如下错误
100517 10:19:37 InnoDB: Assertion failure in thread 1167059264 in file row/row0mysql.c line 1386
InnoDB: Failing assertion: node->pcur->rel_pos == BTR_PCUR_ON
InnoDB: We intentionally generate a memory trap.
InnoDB: 其他提示输出
----错误堆栈输出
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 = 0x458fdb40 thread_stack 0x30000
/usr/sbin/mysqld(my_print_stacktrace+0x33)[0x90edf3]
/usr/sbin/mysqld(handle_segfault+0x322)[0x619522]
/lib64/libpthread.so.0[0x304300de70]
/lib64/libc.so.6(gsignal+0x35)[0x3042430155]
/lib64/libc.so.6(abort+0x110)[0x3042431bf0]
/usr/sbin/mysqld[0x833afa]
/usr/sbin/mysqld(_ZN11ha_innobase10update_rowEPKhPh+0x3bc)[0x7b816c]
/usr/sbin/mysqld(_ZN7handler13ha_update_rowEPKhPh+0x72)[0x6f8422]
/usr/sbin/mysqld(_ZN12ha_partition10update_rowEPKhPh+0x203)[0x6fba03]
/usr/sbin/mysqld(_ZN7handler13ha_update_rowEPKhPh+0x72)[0x6f8422]
/usr/sbin/mysqld(_Z12mysql_updateP3THDP10TABLE_LISTR4ListI4ItemES6_PS4_jP8st_ordery15enum_duplicatesb+0xf17)[0x6a6467]
/usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x1df3)[0x628c13]
/usr/sbin/mysqld(_Z11mysql_parseP3THDPKcjPS2_+0x1f1)[0x62c801]
/usr/sbin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0xff0)[0x62d810]
/usr/sbin/mysqld(_Z10do_commandP3THD+0xe4)[0x62dda4]
/usr/sbin/mysqld(handle_one_connection+0x6f[0x620f68]
/lib64/libpthread.so.0[0x30430062f7]
/lib64/libc.so.6(clone+0x6d)[0x30424d1b6d]
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x1305be90 = UPDATE online_msg_0.msg_info_141 SET status=2 WHERE owner=205186152 AND status=0
thd->thread_id=1
thd->killed=NOT_KILLED
另外,注意上面的绿色sql语句, 如果在slave上面执行这个update语句,实例也会崩溃重启.然后Innodb自动恢复.
如果建这个语句中的库表数据和结构导到一个测试表中,再在测试表上执行这个语句,则可以完全执行成功.并且这个语句是从主库上面传过来的,在主库上执行没有导致实例崩溃,何故在slave上导致实例崩溃呢.
各种揣测,很让人无解,不知道各位有没有遇到过这个错误,如果能提供点信息感激不尽 |
|