当前位置: 首页 > MySQL数据库

mysqld got signal举例分析

时间:2026-01-28 14:10:25
Description: When SELECTing from a timestamp based range partition where the table has no partition to handle values less than MAXVALUE and the SELECT condition reads from the last partition or greater, mysqld gets a signal 8.Repeatable with 5.5.23, 5.5.24 and 5.5.25, NOT with 5.5.20, 5.5.21, 5.5.22 How to repeat: [revin@forge msb_5_5_24]$ ./use testReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -AWelcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.5.24 MySQL Community Server (GPL)Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql [localhost] {msandbox} (test) > show create table table_XXXXX \G*************************** 1. row ***************************       Table: table_XXXXXCreate Table: CREATE TABLE `table_XXXXX` (  `record_type` smallint(5) unsigned NOT NULL,  `timestamp` int(10) unsigned NOT NULL,  `meta_pos_id` smallint(5) unsigned NOT NULL,  `value` mediumint(8) unsigned NOT NULL,  KEY `ts_rtype` (`timestamp`,`record_type`)) ENGINE=InnoDB DEFAULT CHARSET=latin1/*!50100 PARTITION BY RANGE (timestamp)(PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB, PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB, PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB, PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */1 row in set (0.00 sec)mysql [localhost] {msandbox} (test) > SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800;+----------+| COUNT(*) |+----------+|        0 |+----------+1 row in set (0.00 sec)mysql [localhost] {msandbox} (test) > SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799;ERROR 2013 (HY000): Lost connection to MySQL server during query Suggested fix: NA, but a workaround is to add a partition to handle values less than MAXVALUE.
Backtrace from core file during one of the crashes.Attachment: 23293-backtrace.txt (text/plain), 13.89 KiB.
Error log from sandbox creation to crash then restart.Attachment: 23293-error-log.txt (text/plain), 9.63 KiB.
Thank you for the bug report. Indeed repeatable with 5.5.24 but not anymore with current source:Microsoft Windows [Version 6.1.7601]Copyright (c) 2009 Microsoft Corporation.  All rights reserved.h:\dbs>55h:\dbs>h:\dbs\5.5\bin\mysql -uroot --port=3540 --prompt="mysql 5.5 >"Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.5.24 Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql 5.5 >use testDatabase changedmysql 5.5 >CREATE TABLE `table_XXXXX` (    ->   `record_type` smallint(5) unsigned NOT NULL,    ->   `timestamp` int(10) unsigned NOT NULL,    ->   `meta_pos_id` smallint(5) unsigned NOT NULL,    ->   `value` mediumint(8) unsigned NOT NULL,    ->   KEY `ts_rtype` (`timestamp`,`record_type`)    -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1    -> /*!50100 PARTITION BY RANGE (timestamp)    -> (PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB,    ->  PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB,    ->  PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB,    ->  PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */;Query OK, 0 rows affected (0.88 sec)mysql 5.5 >SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800;+----------+| COUNT(*) |+----------+|        0 |+----------+1 row in set (0.00 sec)mysql 5.5 >SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799;ERROR 2013 (HY000): Lost connection to MySQL server during querymysql 5.5 >Microsoft Windows [Version 6.1.7601]Copyright (c) 2009 Microsoft Corporation.  All rights reserved.d:\dbs>55d:\dbs>d:\dbs\5.5\bin\mysql -uroot --port=3541 --prompt="mysql 5.5 >"Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.5.26 Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql 5.5 >use testDatabase changedmysql 5.5 >CREATE TABLE `table_XXXXX` (    ->   `record_type` smallint(5) unsigned NOT NULL,    ->   `timestamp` int(10) unsigned NOT NULL,    ->   `meta_pos_id` smallint(5) unsigned NOT NULL,    ->   `value` mediumint(8) unsigned NOT NULL,    ->   KEY `ts_rtype` (`timestamp`,`record_type`)    -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1    -> /*!50100 PARTITION BY RANGE (timestamp)    -> (PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB,    ->  PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB,    ->  PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB,    ->  PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */;Query OK, 0 rows affected (0.24 sec)mysql 5.5 >SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800;+----------+| COUNT(*) |+----------+|        0 |+----------+1 row in set (0.05 sec)mysql 5.5 >SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799;+----------+| COUNT(*) |+----------+|        0 |+----------+1 row in set (0.00 sec)mysql 5.5 >
Miguel, have you tried with 5.5.25 official Oracle binaries as I did?
Not sure why this is still marked as can't repeat - have you tested with official Oracle binaries yet?
The problem still exists on 5.5.25a, not sure why this is still can't repeat?[revin@forge mysql]$ sb 5525Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.5.25a MySQL Community Server (GPL)Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql [localhost] {msandbox} ((none)) > use test;Database changedmysql [localhost] {msandbox} (test) > CREATE TABLE `table_XXXXX` (    ->   `record_type` smallint(5) unsigned NOT NULL,    ->   `timestamp` int(10) unsigned NOT NULL,    ->   `meta_pos_id` smallint(5) unsigned NOT NULL,    ->   `value` mediumint(8) unsigned NOT NULL,    ->   KEY `ts_rtype` (`timestamp`,`record_type`)    -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1    -> /*!50100 PARTITION BY RANGE (timestamp)    -> (PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB,    ->  PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB,    ->  PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB,    ->  PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */    -> ;Query OK, 0 rows affected (0.01 sec)mysql [localhost] {msandbox} (test) > SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800;+----------+| COUNT(*) |+----------+|        0 |+----------+1 row in set (0.00 sec)mysql [localhost] {msandbox} (test) > SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799;ERROR 2013 (HY000): Lost connection to MySQL server during querymysql [localhost] {msandbox} (test) >
This is a know bug that is fixed in current code:macbook-pro:5.5 openxs$ bin/mysql -uroot testReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -AWelcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.5.28-debug Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> CREATE TABLE `table_XXXXX` (    -> `record_type` smallint(5) unsigned NOT NULL,    -> `timestamp` int(10) unsigned NOT NULL,    -> `meta_pos_id` smallint(5) unsigned NOT NULL,    -> `value` mediumint(8) unsigned NOT NULL,    -> KEY `ts_rtype` (`timestamp`,`record_type`)    -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1    -> /*!50100 PARTITION BY RANGE (timestamp)    -> (PARTITION 2012y03m VALUES LESS THAN (1333238400) ENGINE = InnoDB,    -> PARTITION 2012y04m VALUES LESS THAN (1335830400) ENGINE = InnoDB,    -> PARTITION 2012y05m VALUES LESS THAN (1338508800) ENGINE = InnoDB,    -> PARTITION 2012y06m VALUES LESS THAN (1341100800) ENGINE = InnoDB) */;Query OK, 0 rows affected (0.07 sec)mysql> SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1338508800;+----------+| COUNT(*) |+----------+|        0 |+----------+1 row in set (0.00 sec)mysql> SELECT COUNT(*) FROM table_XXXXX WHERE `timestamp` > 1341100799;+----------+| COUNT(*) |+----------+|        0 |+----------+1 row in set (0.00 sec)So, please, wait for the official release of 5.5.27 with the fix.
Valeriy,Thanks - looks like Miguel tested with 5.5.26 - is this coming to .26 or .27 as you mentioned?
Ahh, nvm, found my answer :) http://dev.mysql.com/doc/refman/5.5/en/news-5-5-26.html

上一篇:Mysql RELICATION对存过的处理是怎样的
下一篇:MySQL存储引擎中的索引分析
mysqld
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素