Bug #37626 | mysql-server crash | ||
---|---|---|---|
Submitted: | 25 Jun 2008 11:29 | Modified: | 15 Sep 2008 21:24 |
Reporter: | Levente Farkas | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: MyISAM storage engine | Severity: | S1 (Critical) |
Version: | 5.0.45 | OS: | Linux (rhel 5.2) |
Assigned to: | CPU Architecture: | Any |
[25 Jun 2008 11:29]
Levente Farkas
[25 Jun 2008 12:20]
Sveta Smirnova
Thank you for the report. Version 5.0.45 is a bit old. Please upgrade to current version 5.0.51b, try with it and if you still get same error provide output of SHOW CREATE TABLE geo_all_road and SHOW TABLE STATUS LIKE 'geo_all_road'
[25 Jun 2008 12:32]
Levente Farkas
this's the latest default rhel version and i don't really like to diverge from it.
[25 Jun 2008 12:36]
Sveta Smirnova
Thank you for the feedback. You don't need to install new version system-wide. Either use *tar.gz package or RPM and rpm2cpio to unpack it to temporary directory. And in any case we need output of SHOW CREATE TABLE geo_all_road and SHOW TABLE STATUS LIKE 'geo_all_road' to be able to repeat the problem.
[25 Jun 2008 12:59]
Levente Farkas
mysql> SHOW CREATE TABLE geo_all_road; +--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | View | Create View | +--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | geo_all_road | CREATE ALGORITHM=UNDEFINED DEFINER=`fregatt`@`localhost` SQL SECURITY DEFINER VIEW `geo_all_road` AS select `rc`.`ID` AS `ID`,`rc`.`NAME` AS `NAME`,`rc`.`TYPE` AS `TYPE`,`rc`.`POLYLINE` AS `POLYLINE` from `geo_road_custom_ordered` `rc` union select `r`.`ID` AS `ID`,`r`.`NAME` AS `NAME`,`r`.`TYPE` AS `TYPE`,`r`.`POLYLINE` AS `POLYLINE` from `geo_road` `r` | +--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ mysql> SHOW TABLE -> STATUS LIKE 'geo_all_road'; +--------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-----------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +--------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-----------+----------+----------------+---------+ | geo_all_road | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | +--------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-----------+----------+----------------+---------+ 1 row in set (0.00 sec)
[25 Jun 2008 13:06]
Sveta Smirnova
Thank you for the feedback. Please also provide output of SHOW CREATE TABLE and SHOW TABLE STATUS of tables geo_road_custom_ordered and geo_road.
[25 Jun 2008 13:23]
Levente Farkas
mysql> SHOW CREATE TABLE geo_road_custom_ordered; +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | View | Create View | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | geo_road_custom_ordered | CREATE ALGORITHM=UNDEFINED DEFINER=`fregatt`@`localhost` SQL SECURITY DEFINER VIEW `geo_road_custom_ordered` AS select `r`.`ID` AS `ID`,`r`.`NAME` AS `NAME`,`r`.`TYPE` AS `TYPE`,`r`.`POLYLINE` AS `POLYLINE` from `geo_road_custom` `r` order by `r`.`TYPE` desc,`r`.`POLYLINE` desc | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.01 sec) mysql> SHOW CREATE TABLE geo_road; +----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | View | Create View | +----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | geo_road | CREATE ALGORITHM=UNDEFINED DEFINER=`fregatt`@`localhost` SQL SECURITY DEFINER VIEW `geo_road` AS select `r`.`ID` AS `ID`,`r`.`NAME` AS `NAME`,`r`.`TYPE` AS `TYPE`,`r`.`POLYLINE` AS `POLYLINE` from `geo_road_base` `r` where ((`r`.`TYPE` = _utf8'Highway') or (`r`.`TYPE` = _utf8'Freeway')) order by `r`.`TYPE` desc,`r`.`POLYLINE` desc | +----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SHOW TABLE STATUS LIKE 'geo_road_custom_ordered'; +-------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-----------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +-------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-----------+----------+----------------+---------+ | geo_road_custom_ordered | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | +-------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-----------+----------+----------------+---------+ 1 row in set (0.00 sec) mysql> SHOW TABLE STATUS LIKE 'geo_road'; +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-----------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-----------+----------+----------------+---------+ | geo_road | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-----------+----------+----------------+---------+ 1 row in set (0.00 sec)
[25 Jun 2008 13:35]
Sveta Smirnova
Thank you for the feedback. We really need SHOW CREATE TABLE of all underlying tables and views from the original view and SHOW TABLE STATUS for all underlying base tables. Now this is geo_road_custom and geo_road_base. Please provide its definition too.
[25 Jun 2008 13:57]
Levente Farkas
mysql> SHOW CREATE TABLE geo_road_custom; +-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | geo_road_custom | CREATE TABLE `geo_road_custom` ( `ID` int(11) NOT NULL, `NAME` varchar(50) default NULL, `TYPE` varchar(20) default NULL, `POLYLINE` geometry NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `ID` (`ID`), SPATIAL KEY `POLYLINE` (`POLYLINE`(32)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | +-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SHOW CREATE TABLE geo_road_base; +---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | geo_road_base | CREATE TABLE `geo_road_base` ( `ID` int(11) NOT NULL, `NAME` varchar(50) default NULL, `TYPE` varchar(20) default NULL, `POLYLINE` geometry NOT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `ID` (`ID`), SPATIAL KEY `POLYLINE` (`POLYLINE`(32)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | +---------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> SHOW TABLE STATUS LIKE 'geo_road_base'; +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+----------------+---------+ | geo_road_base | MyISAM | 10 | Dynamic | 2840 | 166 | 472832 | 281474976710655 | 245760 | 0 | NULL | 2008-06-06 01:02:30 | 2008-06-25 11:17:57 | 2008-06-25 11:17:57 | utf8_general_ci | NULL | NULL | | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+----------------+---------+ 1 row in set (0.00 sec) mysql> SHOW TABLE STATUS LIKE 'geo_road_custom'; +-----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +-----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+----------------+---------+ | geo_road_custom | MyISAM | 10 | Dynamic | 0 | 0 | 0 | 281474976710655 | 1024 | 0 | NULL | 2008-06-06 01:02:30 | 2008-06-25 11:17:57 | 2008-06-25 11:17:57 | utf8_general_ci | NULL | NULL | | +-----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+----------------+---------+ 1 row in set (0.00 sec)
[25 Jun 2008 14:16]
Levente Farkas
one more thing. this is our development server which is i386, the same database exists on the production server which is x86_64. i'm not sure that the two database exactly the same (but the tables should have to be), but this bug is not happened on the other server.
[25 Jun 2008 14:28]
Levente Farkas
and one more thing, when i downgrade to rhel 5.1's mysql-server-5.0.22-2.2.el5_1.1 it's working again:-(
[25 Jun 2008 20:13]
Sveta Smirnova
Thank you for the feedback. Bug is not repeatable since version 5.0.52, although it is repeatable in 5.0.51a. Please upgrade to Enterprise server or wait next Community release.
[25 Jun 2008 20:38]
Levente Farkas
did you find the reason? do you know which changes cause this bug? since as i wrote with mysql-server-5.0.22-2.2.el5_1.1 it's working. do you have any kind of patch for this bug? imho redhat won't upgrade to 52, but can add a patch if it's possible. it's clear there is a bug, but how can fix this?
[31 Jul 2008 15:14]
Levente Farkas
any change for a new release in the near future which fix this bug?
[15 Sep 2008 21:24]
Levente Farkas
is this fixed in the latest version?