Bug #12807 MySql Server Crashes when a query is ran
Submitted: 25 Aug 2005 14:35 Modified: 26 Aug 2005 23:43
Reporter: Rob Simmermon Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:MySql Server 5.0.11 Beta OS:Linux (RedHat Linux)
Assigned to: CPU Architecture:Any

[25 Aug 2005 14:35] Rob Simmermon
Description:
When a specific query is ran from an Access 2000 database using a linked table, MySql Server crashes.

How to repeat:
Create a table as follows:
CREATE TABLE `Derunit` (
  `UNIT` varchar(50) default NULL,
  `MODEL` varchar(50) default NULL,
  `DIST` varchar(255) default NULL,
  `CUST` varchar(255) default NULL,
  `DIST_WO#` varchar(255) default NULL,
  `DIST_PO#` varchar(50) default NULL,
  `ENG_DOC` enum('True','False') default 'False',
  `FORECAST` enum('True','False') default 'False',
  `STOCK` enum('True','False') default 'False',
  `LINE` int(11) default NULL,
  `STATUS` varchar(50) default NULL,
  `STATUS_CODE` int(11) default NULL,
  `DERRICK` enum('True','False') default 'False',
  `UNIT_wk` float default NULL,
  `UNIT_YEAR` int(11) default NULL,
  `DERRICK_DUE_DATE` datetime default NULL,
  `UNIT_$$` decimal(10,0) default NULL,
  `ASSIST` decimal(10,0) default NULL,
  `DERRICK_NOTES` text,
  `SCHEDULED` enum('True','False') default 'False',
  `UNIT_REV_MONTH` varchar(50) default NULL,
  `UNIT_REV_YEAR` int(11) default NULL,
  `BODY` enum('True','False') default 'False',
  `BODY_ORDER_NUMBER` varchar(255) default NULL,
  `BODY_UNIT_WK` int(11) default NULL,
  `BODY_UNIT_YEAR` int(11) default NULL,
  `BODY_DUE_DATE` datetime default NULL,
  `BODY$` decimal(10,0) default NULL,
  `BODY_NOTES` text,
  `BODY_REV_MONTH` varchar(50) default NULL,
  `BODY_REV_YEAR` int(11) default NULL,
  `INSTALLATION` enum('True','False') default 'False',
  `INSTALLATION_ORDER_NUMBER` varchar(255) default NULL,
  `INSTALLATION_LOCATION` varchar(255) default NULL,
  `INSTALL_UNIT_WK` int(11) default NULL,
  `INSTALL_UNIT_YEAR` int(11) default NULL,
  `INSTALL_DUE_DATE` datetime default NULL,
  `INST_$$$$` decimal(10,0) default NULL,
  `INSTALL_CUSTOMER_INSPECTION` datetime default NULL,
  `INSTALL_NOTES` varchar(255) default NULL,
  `INSTALL_SCHEDULED` enum('True','False') default 'False',
  `INSTALL_REV_MONTH` varchar(50) default NULL,
  `INSTALL_REV_YEAR` int(11) default NULL,
  `CHASSIS` enum('True','False') default 'False',
  `CHASSIS_PROVIDER` varchar(255) default NULL,
  `CHAS_VIN` varchar(255) default NULL,
  `CHASSIS$` decimal(10,0) default NULL,
  `CHASSIS_DUE_DATE` datetime default NULL,
  `CHASSIS_NOTES` text,
  `ORDER_NOTES` text,
  `ORDER_ENTRY_DATE_ACCESS` datetime default NULL,
  `CUSTOMER_REQUIRED_DATE` datetime default NULL,
  `COMMITTED_SHIP_DATE` datetime default NULL,
  `SHIPPING_SIZE` varchar(255) default NULL,
  `Order_Written_Days` int(11) default NULL,
  `Engineering_Date` datetime default NULL,
  `Procure_Material_Days` int(11) default NULL,
  `Pre_Build_Hours` int(11) default NULL,
  `Assembly_Hours` int(11) default NULL,
  `Test_Hours` int(11) default NULL,
  `Paint_Hours` int(11) default NULL,
  `Body_Hours` int(11) default NULL,
  `Installation_Hours` int(11) default NULL,
  `Final_Test_Hours` int(11) default NULL,
  `Final_Paint_Hours` int(11) default NULL,
  `Final_Prep_Hours` int(11) default NULL,
  `Claim_Hours` int(11) default NULL,
  `Ship_Hours` int(11) default NULL,
  `PTO` enum('True','False') default 'False',
  `Torsion_Bars` enum('True','False') default 'False',
  `Unit_On_Hand` enum('True','False') default 'False',
  `Body_On_Hand` enum('True','False') default 'False',
  `Chassis_On_Hand` enum('True','False') default 'False',
  `Folder_Complete` enum('True','False') default 'False',
  `BODY_PART_NUM` varchar(50) default NULL,
  `BODY_DRAWINGS_SENT_TARGET` datetime default NULL,
  `BODY_DRAWINGS_SENT_ACTUAL` datetime default NULL,
  `BODY_DRAWINGS_APPROVED_TARGET` datetime default NULL,
  `BODY_DRAWINGS_APPROVED_ACTUAL` datetime default NULL,
  `CUT_SHEET_DUE_TARGET` datetime default NULL,
  `CUT_SHEET_DUE_ACTUAL` datetime default NULL,
  `BODY_STATUS` varchar(50) default NULL,
  `BODY_STATUS_NUM` int(11) default NULL,
  `PURCHASE_HARD_CARD_TARGET` datetime default NULL,
  `PURCHASE_HARD_CARD_ACTUAL` datetime default NULL,
  `PARTS_DUE_DATE` datetime default NULL,
  `INSTALL_DRAWINGS_SENT_TARGET` datetime default NULL,
  `INSTALL_DRAWINGS_SENT_ACTUAL` datetime default NULL,
  `INSTALL_DRAWINGS_APPROVED_TARGET` datetime default NULL,
  `INSTALL_DRAWINGS_APPROVED_ACTUAL` datetime default NULL,
  `FOLDER_TO_SHOP_TARGET` datetime default NULL,
  `FOLDER_TO_SHOP_ACTUAL` datetime default NULL,
  `INST_SHOP_COMPLETE` datetime default NULL,
  `INST_PAINT_COMPLETE` datetime default NULL,
  `TARGET_INST_FINISH_DATE` datetime default NULL,
  `INST_COMPLETE_ACTUAL` datetime default NULL,
  `INST_TYPE` varchar(50) default NULL,
  `INST_STATUS` varchar(50) default NULL,
  `INST_STATUS_CODE` int(11) default NULL,
  `DIST_INST_DATE` datetime default NULL,
  `CLAIM_DATE` datetime default NULL,
  `SHIP_DATE` datetime default NULL,
  `DIGGER_CTRL` varchar(50) default NULL,
  `DIGGER_TOWER` varchar(50) default NULL,
  `Powder_Coat_Color` varchar(50) default NULL,
  `DIST_INST_CMPLT` enum('True','False') NOT NULL default 'False',
  `Huron_Boom` datetime default NULL,
  `Huron_Majors` datetime default NULL,
  `Huron_Minors` datetime default NULL,
  `Huron_Boom_Done` varchar(15) default NULL,
  `Huron_Majors_Done` varchar(15) default NULL,
  `Huron_Minors_Done` varchar(15) default NULL,
  `AUTOID` int(32) unsigned NOT NULL auto_increment,
  `Margin` decimal(10,0) default NULL,
  PRIMARY KEY  (`AUTOID`),
  KEY `AUTOID` (`AUTOID`),
  KEY `idxkey` (`UNIT`,`MODEL`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Link to the table in MS Access and name the table "Bay Schedule Table".  Then run this query:

SELECT `Bay Schedule Table`.`IN_NUM` ,`Bay Schedule Table`.`BAY` ,`Bay Schedule Table`.`POSITION` ,`Bay Schedule Table`.`IN_DATE` ,`Bay Schedule Table`.`OUT_DATE` ,`Bay Schedule Table`.`DELAY_DAYS` ,`Derunit`.`DERRICK_DUE_DATE` ,`Bay Schedule Table`.`DK_NUM` ,`Derunit`.`MODEL` ,`Derunit`.`LINE` ,SUM(`Bay Schedule Table`.`HOURS_WORKED` ) ,COUNT(`Bay Schedule Table`.`HOURS_WORKED` )  FROM `Derunit`,`Bay Schedule Table` WHERE (((`Bay Schedule Table`.`DK_NUM` = `Derunit`.`UNIT` ) AND (`Bay Schedule Table`.`IN_NUM` = `Derunit`.`INSTALLATION_ORDER_NUMBER` ) ) AND ((`Bay Schedule Table`.`IN_UNIT_MTH` =  'AUGUST' ) AND (`Bay Schedule Table`.`IN_UNIT_YEAR` =  2005 ) ) ) GROUP BY `Bay Schedule Table`.`IN_NUM` ,`Bay Schedule Table`.`BAY` ,`Bay Schedule Table`.`POSITION` ,`Bay Schedule Table`.`IN_DATE` ,`Bay Schedule Table`.`OUT_DATE` ,`Bay Schedule Table`.`DELAY_DAYS` ,`Derunit`.`DERRICK_DUE_DATE` ,`Bay Schedule Table`.`DK_NUM` ,`Derunit`.`MODEL` ,`Derunit`.`LINE`  ORDER BY `Bay Schedule Table`.`BAY`
[25 Aug 2005 14:38] Rob Simmermon
Error output from MySql Server Crash

Attachment: trxfw.telelect.com.err (application/octet-stream, text), 13.55 KiB.

[25 Aug 2005 15:13] MySQL Verification Team
I was unable to repeat using Access 2003 Vs 5.0.13 on Suse.
You said:

Link to the table in MS Access and name the table "Bay Schedule Table".

Then I renamed the linked to the above name and Access launchs the
error that can't find the table Derunit that is also mentioned in the
query. 
Could you please explains the steps you did in Access.

Thanks in advance.
[25 Aug 2005 15:33] Rob Simmermon
This is happenning from Access 2000.  There's a table in the MySql server on the Linux box called "Derunit".  In Access 2000, there is a linked table called "Bay Schedule Table" that links to the Derunit table on the MySql server via the ODBC Connector version 3.51.

That's all the information I know for now.  The Access database is using switchboards and I do have a copy of the Access database that causes the crash to repeat itself, but it contains company information that is confidential and I can't release.  Try to reproduce the problem using Access 2000 instead of Access 2003.

Thank you.
[26 Aug 2005 23:43] Jorge del Conde
I was unable to reproduce this bug using our latest 5.0 from bk