Bug #48425 concurrency update with select...union may crash the server
Submitted: 30 Oct 2009 5:08 Modified: 31 Jan 2010 9:50
Reporter: Xindong Su Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server Severity:S1 (Critical)
Version:5.0.85,5.0.87 OS:Linux (CentOS 5.2 x86_64)
Assigned to: CPU Architecture:Any
Tags: update select union crash

[30 Oct 2009 5:08] Xindong Su
Description:
It seems like sometimes union operation may crash the server. 

Error log:

091030 10:56:49 - mysqld got signal 11 ;
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.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.

key_buffer_size=16777216
read_buffer_size=524288
max_used_connections=372
max_connections=1000
threads_connected=369
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 1552384 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x2aaabc36f720
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...
Cannot determine thread, fp=0x4785bfd0, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
(nil)
Stack trace seems successful - bottom reached
Please read http://dev.mysql.com/doc/mysql/en/using-stack-trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do 
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x18d1fe00 = (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="CYD")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="LZJL")) ORDER BY ResultSetOrder, DD_DatabaseName, DD_TableName, DD_FieldNO
thd->thread_id=141179
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.

Number of processes running now: 0
091030 10:56:49  mysqld restarted
091030 10:56:54 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.87-community-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Edition (GPL)
091030 11:31:33 - mysqld got signal 11 ;
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.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.

key_buffer_size=16777216
read_buffer_size=524288
max_used_connections=285
max_connections=1000
threads_connected=269
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 1552384 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x7dc5330
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...
Cannot determine thread, fp=0x42d02fd0, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
(nil)
New value of fp=0x7dc5330 failed sanity check, terminating stack trace!
Please read http://dev.mysql.com/doc/mysql/en/using-stack-trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do 
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x7ccd620 = (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cyd")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cydsp")) UNION ALL (SELECT 2 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="fc")) ORDER BY ResultSetOrder ASC, DD_DatabaseName ASC, DD_TableName ASC, DD_FieldQueryOrderPriority DESC, DD_FieldNO ASC
thd->thread_id=808
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.

Number of processes running now: 0
091030 11:31:33  mysqld restarted
091030 11:31:37 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.87-community-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Edition (GPL)

Explain of SQL:
mysql> explain (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="CYD")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="LZJL")) ORDER BY ResultSetOrder, DD_DatabaseName, DD_TableName, DD_FieldNO;
+----+--------------+------------+------+---------------+--------------+---------+-------+------+----------------+
| id | select_type  | table      | type | possible_keys | key          | key_len | ref   | rows | Extra          |
+----+--------------+------------+------+---------------+--------------+---------+-------+------+----------------+
|  1 | PRIMARY      | dd         | ref  | DD_TABLENAME  | DD_TABLENAME | 33      | const |   10 | Using where    |
|  2 | UNION        | dd         | ref  | DD_TABLENAME  | DD_TABLENAME | 33      | const |   10 | Using where    |
| NULL | UNION RESULT | <union1,2> | ALL  | NULL          | NULL         | NULL    | NULL  | NULL | Using filesort |
+----+--------------+------------+------+---------------+--------------+---------+-------+------+----------------+
3 rows in set (0.00 sec)

mysql> explain (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cyd")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cydsp")) UNION ALL (SELECT 2 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="fc")) ORDER BY ResultSetOrder ASC, DD_DatabaseName ASC, DD_TableName ASC, DD_FieldQueryOrderPriority DESC, DD_FieldNO ASC;
+----+--------------+--------------+------+---------------+--------------+---------+-------+------+----------------+
| id | select_type  | table        | type | possible_keys | key          | key_len | ref   | rows | Extra          |
+----+--------------+--------------+------+---------------+--------------+---------+-------+------+----------------+
|  1 | PRIMARY      | dd           | ref  | DD_TABLENAME  | DD_TABLENAME | 33      | const |   10 | Using where    |
|  2 | UNION        | dd           | ref  | DD_TABLENAME  | DD_TABLENAME | 33      | const |   10 | Using where    |
|  3 | UNION        | dd           | ref  | DD_TABLENAME  | DD_TABLENAME | 33      | const |   10 | Using where    |
| NULL | UNION RESULT | <union1,2,3> | ALL  | NULL          | NULL         | NULL    | NULL  | NULL | Using filesort |
+----+--------------+--------------+------+---------------+--------------+---------+-------+------+----------------+
4 rows in set (0.01 sec)

How to repeat:
my.cnf

[mysqld]
#skip-locking
skip-federated
skip-innodb
skip-name-resolve
ndbcluster
log-bin=mysql1-bin
log-bin-index=mysql1-bin

#basedir=/usr/sbin/mysql
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

old_passwords=1

max_connections=1000

default-character-set=latin1

max_allowed_packet=4M

thread_concurrency = 16
thread_cache_size=256
open_files_limit=4096
table_cache=2048
query_cache_size=8M

tmp_table_size=18M
key_buffer = 16M

#following 3 parameters are 'per-thread'
sort_buffer_size=1M
read_buffer_size=512K
read_rnd_buffer_size=1M

myisam_sort_buffer_size=16M
bulk_insert_buffer_size=4M

interactive_timeout=14400
wait_timeout=14400

# the IP of the MANAGMENT SERVER
ndb-connectstring=192.168.1.245
#ndb-connectstring=192.168.1.248

#sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE,NO_ZERO_DATE"

[mysql_cluster]
# the IP of the MANAGMENT SERVER
ndb-connectstring=192.168.1.245
#ndb-connectstring=192.168.1.248

[mysql.server]
user=mysql

[mysqld_safe]
#seems has no effect, so comment it out.
#err-log=/var/log/mysqld.log
#pid-file=/var/run/mysqld.pid

[mysqldump]
quick
max_allowed_packet = 16M

Table structure:
/*Column Information For - ZJGLXT.dd*/
--------------------------------------

Field                       Type              Collation          Null    Key     Default  Extra           Privileges                       Comment
--------------------------  ----------------  -----------------  ------  ------  -------  --------------  -------------------------------  -------
DD_Index                    int(10) unsigned  (NULL)             NO      PRI     (NULL)   auto_increment  select,insert,update,references         
DD_DatabaseName             varchar(20)       latin1_swedish_ci  YES             (NULL)                   select,insert,update,references         
DD_TableName                varchar(30)       latin1_swedish_ci  YES     MUL     (NULL)                   select,insert,update,references         
DD_FieldNO                  int(10) unsigned  (NULL)             YES     MUL     (NULL)                   select,insert,update,references         
DD_FieldNameCN              varchar(20)       latin1_swedish_ci  YES             (NULL)                   select,insert,update,references         
FieldName                   varchar(30)       latin1_swedish_ci  YES             (NULL)                   select,insert,update,references         
FieldType                   varchar(20)       latin1_swedish_ci  YES             (NULL)                   select,insert,update,references         
FieldLength                 int(10) unsigned  (NULL)             YES             (NULL)                   select,insert,update,references         
FieldDec                    int(10) unsigned  (NULL)             NO              0                        select,insert,update,references         
FieldIsKey                  char(1)           latin1_swedish_ci  NO              N                        select,insert,update,references         
DD_FieldIsAltKey            char(1)           latin1_swedish_ci  NO              N                        select,insert,update,references         
DD_FieldIsAuto              char(1)           latin1_swedish_ci  NO              N                        select,insert,update,references         
FieldCanBeQuery             char(1)           latin1_swedish_ci  NO              Y                        select,insert,update,references         
DD_FieldIsHide              char(1)           latin1_swedish_ci  NO              N                        select,insert,update,references         
DD_FieldQueryOrderPriority  int(10)           (NULL)             NO              0                        select,insert,update,references         
DD_RangeQuery               char(1)           latin1_swedish_ci  NO              N                        select,insert,update,references         
DD_Reference                varchar(255)      latin1_swedish_ci  YES             (NULL)                   select,insert,update,references         
DD_ExtraGet                 varchar(255)      latin1_swedish_ci  YES             (NULL)                   select,insert,update,references         
DD_FillFields               varchar(255)      latin1_swedish_ci  YES             (NULL)                   select,insert,update,references         
DD_ConfigItem               varchar(20)       latin1_swedish_ci  YES             (NULL)                   select,insert,update,references         
DD_ConfigInitial            varchar(100)      latin1_swedish_ci  YES             (NULL)                   select,insert,update,references         

/*Index Information For - ZJGLXT.dd*/
-------------------------------------

Table   Non_unique  Key_name      Seq_in_index  Column_name   Collation  Cardinality  Sub_part  Packed  Null    Index_type  Comment
------  ----------  ------------  ------------  ------------  ---------  -----------  --------  ------  ------  ----------  -------
dd               0  PRIMARY                  1  DD_Index      A                 4028    (NULL)  (NULL)          BTREE              
dd               1  DD_TABLENAME             1  DD_TableName  A                 4028    (NULL)  (NULL)  YES     BTREE              
dd               1  DD_FieldNO               1  DD_FieldNO    A                 4028    (NULL)  (NULL)  YES     BTREE              

/*DDL Information For - ZJGLXT.dd*/
-----------------------------------

Table   Create Table                                                  
------  --------------------------------------------------------------
dd      CREATE TABLE `dd` (                                           
          `DD_Index` int(10) unsigned NOT NULL auto_increment,        
          `DD_DatabaseName` varchar(20) default NULL,                 
          `DD_TableName` varchar(30) default NULL,                    
          `DD_FieldNO` int(10) unsigned default NULL,                 
          `DD_FieldNameCN` varchar(20) default NULL,                  
          `FieldName` varchar(30) default NULL,                       
          `FieldType` varchar(20) default NULL,                       
          `FieldLength` int(10) unsigned default NULL,                
          `FieldDec` int(10) unsigned NOT NULL default '0',           
          `FieldIsKey` char(1) NOT NULL default 'N',                  
          `DD_FieldIsAltKey` char(1) NOT NULL default 'N',            
          `DD_FieldIsAuto` char(1) NOT NULL default 'N',              
          `FieldCanBeQuery` char(1) NOT NULL default 'Y',             
          `DD_FieldIsHide` char(1) NOT NULL default 'N',              
          `DD_FieldQueryOrderPriority` int(10) NOT NULL default '0',  
          `DD_RangeQuery` char(1) NOT NULL default 'N',               
          `DD_Reference` varchar(255) default NULL,                   
          `DD_ExtraGet` varchar(255) default NULL,                    
          `DD_FillFields` varchar(255) default NULL,                  
          `DD_ConfigItem` varchar(20) default NULL,                   
          `DD_ConfigInitial` varchar(100) default NULL,               
          PRIMARY KEY  (`DD_Index`),                                  
          KEY `DD_TABLENAME` (`DD_TableName`),                        
          KEY `DD_FieldNO` (`DD_FieldNO`)                             
        ) ENGINE=myisam DEFAULT CHARSET=latin1                    

Not always happen, so hard to repeat. Sometimes 2 crashes happend within one hour(as the bug report), sometimes no crash at all in a whole day.
[30 Oct 2009 5:24] Valeriy Kravchuk
Thank you for the problem report. Please, send the results of:

show table status like 'dd'\G
select count(distinct DD_TableName) from dd;
[30 Oct 2009 6:36] Xindong Su
table dump

Attachment: dd.zip (application/zip, text), 70.81 KiB.

[30 Oct 2009 6:37] Xindong Su
mysql> show table status like 'dd';
+------+------------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-------------------+----------+----------------+-----------------------+
| 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               |
+------+------------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-------------------+----------+----------------+-----------------------+
| dd   | ndbcluster |      10 | Dynamic    | 4028 |           1092 |     5373952 |               0 |            0 |         0 |           6460 | NULL        | NULL        | NULL       | latin1_swedish_ci |     NULL |                | number_of_replicas: 2 |
+------+------------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-------------------+----------+----------------+-----------------------+
1 row in set (0.01 sec)

mysql> select count(distinct DD_Tablename) from dd;
+------------------------------+
| count(distinct DD_Tablename) |
+------------------------------+
|                          247 |
+------------------------------+
1 row in set (0.02 sec)

I have tried different storage engines: MyISAM and NDB. But I have not ever tried InnoDB.
[30 Oct 2009 6:38] Xindong Su
NDBD did not crash when mysqld crashed. So I think this is a bug relate to mysqld.
[30 Oct 2009 16:49] Valeriy Kravchuk
Can you upload a dump of dd table data (as private file, if you want). I can not repeat with my dummy data generated.
[31 Oct 2009 14:38] Xindong Su
Table dump had been uploaded. Please see "Files" for it.

This bug is not always happened. Sometimes the crash log contains no SQL statement, like this:

091030 16:59:54 - mysqld got signal 11 ;
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.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.

key_buffer_size=16777216
read_buffer_size=524288
max_used_connections=439
max_connections=1000
threads_connected=419
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 1552384 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x2aaabd034540
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...
Cannot determine thread, fp=0x43257fd0, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
(nil)
Stack trace seems successful - bottom reached
Please read http://dev.mysql.com/doc/mysql/en/using-stack-trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x2aaab4959e70  is invalid pointer
thd->thread_id=376683
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.

Number of processes running now: 0
091030 16:59:54  mysqld restarted
091030 16:59:58 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.87-community-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Edition (GPL)

How to make the error log more detailed? I am using rpm packages and I have installed the debug info package but how to use it?
[31 Oct 2009 15:19] Valeriy Kravchuk
Can not repeat this crash with your dd table dump and recent 5.0.88 from bzr. Please, send the results of:

free
df -k

Linux commands from your system.
[1 Nov 2009 7:55] Xindong Su
[root@mysql1 ~]# free
             total       used       free     shared    buffers     cached
Mem:      16430804   16214524     216280          0     709908   13617072
-/+ buffers/cache:    1887544   14543260
Swap:      2096440        200    2096240
[root@mysql1 ~]# df -k
文件系统               1K-块        已用     可用     已用% 挂载点
/dev/sda8              4061540    562024   3289872  15% /
/dev/sda7              4061540     73928   3777968   2% /tmp
/dev/sda6             20315812   5226044  14041128  28% /home
/dev/sda5             20315812   3995248  15271924  21% /usr
/dev/sda3            203145268  31503988 161155656  17% /var
/dev/sda2               256665     23516    219896  10% /boot
tmpfs                  8215400         0   8215400   0% /dev/shm
/home/client/CentOS_5.2_Final.iso
                       4493152   4493152         0 100% /mnt
[root@mysql1 ~]#
[2 Nov 2009 7:26] Xindong Su
After turnning on the general log, I found that this bug is not so simple. Here is the latest crash log and the general log:

Crash log:

091102 15:16:50 - mysqld got signal 11 ;
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.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.

key_buffer_size=16777216
read_buffer_size=262144
max_used_connections=390
max_connections=1000
threads_connected=363
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 784384 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x2aaab01da900
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...
Cannot determine thread, fp=0x42e18fd0, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
(nil)
Stack trace seems successful - bottom reached
Please read http://dev.mysql.com/doc/mysql/en/using-stack-trace.html and follow instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do 
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x1803ad50 = (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cyd")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cydsp")) ORDER BY ResultSetOrder ASC, DD_DatabaseName ASC, DD_TableName ASC, DD_FieldQueryOrderPriority DESC, DD_FieldNO ASC
thd->thread_id=217
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.

Number of processes running now: 0
091102 15:16:50  mysqld restarted
091102 15:16:54 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.87-community-log'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Edition (GPL)

Here is the last second of the general log:

		    217 Query       (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cyd")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cydsp")) ORDER BY ResultSetOrder, DD_DatabaseName, DD_TableName, DD_FieldNO
091102 15:16:50	  10954 Query       SET AUTOCOMMIT=0
		  10954 Query       UPDATE dd SET DD_FieldQueryOrderPriority=DD_FieldQueryOrderPriority+1 WHERE DD_TableName="cyd" and FieldName="InspectionStandard"
		    217 Query       (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cyd")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cydsp")) ORDER BY ResultSetOrder ASC, DD_DatabaseName ASC, DD_TableName ASC, DD_FieldQueryOrderPriority DESC, DD_FieldNO ASC

Maybe the update operation to the table 'dd' is the real cause of the crash.
Please check it out.
[2 Nov 2009 7:29] Xindong Su
last 2 seconds of the general log when mysqld crashed.

Attachment: last_2_seconds_general_log.zip (application/zip, text), 2.14 KiB.

[3 Nov 2009 5:00] Xindong Su
After researching to the general log, I realized that this bug may be caused by the concurrency UPDATE and SELECT...UNION operation by different thread. 

General log Example 1:
217 Query       (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cyd")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cydsp")) ORDER BY ResultSetOrder, DD_DatabaseName, DD_TableName, DD_FieldNO
10954 Query       SET AUTOCOMMIT=0
10954 Query       UPDATE dd SET DD_FieldQueryOrderPriority=DD_FieldQueryOrderPriority+1 WHERE DD_TableName="cyd" and FieldName="InspectionStandard"
217 Query       (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cyd")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cydsp")) ORDER BY ResultSetOrder ASC, DD_DatabaseName ASC, DD_TableName ASC, DD_FieldQueryOrderPriority DESC, DD_FieldNO ASC
mysqld crashed after this statement.

General log example 2:
18283 Query       SET AUTOCOMMIT=0
18283 Query       UPDATE dd SET DD_FieldQueryOrderPriority=DD_FieldQueryOrderPriority+1 WHERE DD_TableName="cyd" and FieldName="SamplingSheetNO"
148384 Query       (SELECT 0 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cyd")) UNION ALL (SELECT 1 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="cydsp")) UNION ALL (SELECT 2 as ResultSetOrder, dd.* FROM dd WHERE DD_FieldIsHide="N" and (DD_DatabaseName="JWXT") and (DD_TableName="fc")) ORDER BY ResultSetOrder, DD_DatabaseName, DD_TableName, DD_FieldNO
18283 Query       COMMIT
18283 Query       SET AUTOCOMMIT=1
mysqld crashed after this statement.

So I modified my program, disabled the UPDATE operation to the table. The mysqld doesn't crashed since then.
[17 Dec 2009 14:33] Susanne Ebrecht
I am not able to repeat this with MySQL 5.1.
[30 Dec 2009 22:56] MySQL Verification Team
Are you able to provide a repeatable test case?. Thanks in advance.
[31 Dec 2009 9:44] Xindong Su
I will try.
[1 Feb 2010 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".