Bug #6205 Update killed MySQL server
Submitted: 21 Oct 2004 19:56 Modified: 21 Oct 2004 21:29
Reporter: Gordon Bruce Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:4.0.14 OS:Linux (linux RedHat 7.3)
Assigned to: CPU Architecture:Any

[21 Oct 2004 19:56] Gordon Bruce
Description:
mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> update product_order_features as estp
    ->        INNER JOIN product_order_features as est
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN product_order_features as ppp
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN product_order_features as stat
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN er_poft1
    ->        USING (ordr_ID, poft_Sub_Month)
    -> set    estp.poft_Value = '0',
    ->        est.poft_Value = '0.00',
    ->        ppp.poft_Value = '0.00',
    ->        stat.poft_Contents = 'Updated By: IGB1 10/21/04'
    -> where  est.poft_Feature = 'estp_Addr_Postage'
    ->        and est.poft_Feature = 'Est_Price'
    ->        and ppp.poft_Feature = 'ppp_Addr_Postage'
    ->        and stat.poft_Feature = 'Status';
ERROR 2013: Lost connection to MySQL server during query
mysql> select now();
ERROR 2006: MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    31
Current database: mailprint

+---------------------+
| now()               |
+---------------------+
| 2004-10-21 13:57:40 |
+---------------------+
1 row in set (0.20 sec)

mysql> show create table er_poft1;
+----------+-----------------------------------------------------------------------------------------------------------------------------
| Table    | Create Table
+----------+-----------------------------------------------------------------------------------------------------------------------------
| er_poft1 | CREATE TABLE `er_poft1` (
  `ordr_ID` int(11) NOT NULL default '0',
  `poft_Sub_Month` char(3) NOT NULL default '',
  `poft_Value` text,
  PRIMARY KEY  (`ordr_ID`,`poft_Sub_Month`)
) TYPE=MyISAM |
+----------+-----------------------------------------------------------------------------------------------------------------------------
1 row in set (0.00 sec)

mysql>  show create table product_order_features;
+------------------------+---------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
| Table                  | Create Table

+------------------------+---------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
| product_order_features | CREATE TABLE `product_order_features` (
  `ordr_ID` int(11) unsigned NOT NULL default '0',
  `poft_Sub_Month` char(3) NOT NULL default '0',
  `poft_ID` tinyint(3) unsigned NOT NULL default '0',
  `poft_Sub_Item` char(1) NOT NULL default '0',
  `poft_Feature` varchar(40) NOT NULL default '',
  `poft_Value` text NOT NULL,
  `poft_Contents` text NOT NULL,
  `poft_Active` enum('Yes','No','Mail Sent','Deleted','PKOR','PK Hold','PARTIC') NOT NULL default 'Yes',
  `poft_Timestamp` timestamp(14) NOT NULL,
  `poft_Create` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`ordr_ID`,`poft_Sub_Month`,`poft_Feature`,`poft_Value`(100),`poft_Contents`(100)),
  KEY `Contents_Value_IDX` (`poft_Feature`,`poft_Contents`(100)),
  KEY `Feature_Value_IDX` (`poft_Feature`,`poft_Value`(100))
) TYPE=InnoDB |
+------------------------+---------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
1 row in set (0.06 sec)

mysql>mysql> select count(*) from er_poft1;
+----------+
| count(*) |
+----------+
|       75 |
+----------+
1 row in set (0.00 sec)

mysql> select count(*) from product_order_features;
+----------+
| count(*) |
+----------+
|  1031943 |
+----------+
1 row in set (10.20 sec)

'./mailprint/product_order_features'
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=134217728
read_buffer_size=131072
max_used_connections=44
max_connections=150
threads_connected=17
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 457470 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x873a4630
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=0x87117b78, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x80df7ea
0x40023f05
0x81192cf
0x8119617
0x810a44d
0x81048fa
0x81187d5
0x80ebdce
0x80ee2bd
0x80e9c68
0x80ef85d
0x80e90e0
0x40020faf
0x420e790a
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/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 0x89f1d38 = update product_order_features as estp 
       INNER JOIN product_order_features as est 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as ppp 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as stat 
       USING (ordr_ID, poft_Sub_Month) 
set estp.poft_Value = '0', 
    est.poft_Value = '0.00', 
    ppp.poft_Value = '0.00',
    stat.poft_Contents = 'Updated By: IGB1 10/21/04' 
where  est.poft_Feature = 'estp_Addr_Postage' 
       and est.poft_Feature = 'Est_Price' 
       and ppp.poft_Feature = 'ppp_Addr_Postage' 
       and stat.poft_Feature = 'Status'
thd->thread_id=54661
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Number of processes running now: 0
041021 11:19:59  mysqld restarted
041021 11:19:59  Can't start server: Bind on TCP/IP port: Address already in use
041021 11:19:59  Do you already have another mysqld server running on port: 3307 ?
041021 11:19:59  Aborting

041021 11:19:59  /home/mysql/libexec/mysqld: Shutdown Complete

041021 11:19:59  mysqld ended

041021 11:20:44  mysqld started
041021 11:20:45  InnoDB: Database was not shut down normally.
InnoDB: Starting recovery from log files...
InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 2 4087984868
InnoDB: Doing recovery: scanned up to log sequence number 2 4087984868
InnoDB: Last MySQL binlog file position 0 7294048, file name ./server-bin.1284
041021 11:20:45  InnoDB: Flushing modified pages from the buffer pool...
041021 11:20:45  InnoDB: Started
/home/mysql/libexec/mysqld: ready for connections.
Version: '4.0.14-log'  socket: '/home/mysql/mysql.sock'  port: 3307
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=134217728
read_buffer_size=131072
max_used_connections=8
max_connections=150
threads_connected=7
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 457470 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x8810468
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=0x86e69b78, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x80df7ea
0x40023f05
0x81192cf
0x8119617
0x810a44d
0x81048fa
0x81187d5
0x80ebdce
0x80ee2bd
0x80e9c68
0x80ef85d
0x80e90e0
0x40020faf
0x420e790a
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/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 0x8811f48 = update product_order_features as estp 
       INNER JOIN product_order_features as est 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as ppp 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as stat 
       USING (ordr_ID, poft_Sub_Month) 
set estp.poft_Value = '0', 
    est.poft_Value = '0.00', 
    ppp.poft_Value = '0.00',
    stat.poft_Contents = 'Updated By: IGB1 10/21/04' 
where  est.poft_Feature = 'estp_Addr_Postage' 
       and est.poft_Feature = 'Est_Price' 
       and ppp.poft_Feature = 'ppp_Addr_Postage' 
       and stat.poft_Feature = 'Status'
thd->thread_id=14
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Number of processes running now: 0
041021 11:21:09  mysqld restarted
041021 11:21:09  InnoDB: Database was not shut down normally.
InnoDB: Starting recovery from log files...
InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 2 4087993904
InnoDB: Doing recovery: scanned up to log sequence number 2 4087993904
InnoDB: Last MySQL binlog file position 0 8876, file name ./server-bin.1285
041021 11:21:10  InnoDB: Flushing modified pages from the buffer pool...
041021 11:21:10  InnoDB: Started
/home/mysql/libexec/mysqld: ready for connections.
Version: '4.0.14-log'  socket: '/home/mysql/mysql.sock'  port: 3307
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=134217728
read_buffer_size=131072
max_used_connections=15
max_connections=150
threads_connected=16
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 457470 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x882eb98
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=0x86f5eb78, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x80df7ea
0x40023f05
0x81192cf
0x8119617
0x810a44d
0x81048fa
0x81187d5
0x80ebdce
0x80ee2bd
0x80e9c68
0x80ef85d
0x80e90e0
0x40020faf
0x420e790a
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/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 0x888df30 = update product_order_features as estp 
       INNER JOIN product_order_features as est 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as ppp 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as stat 
       USING (ordr_ID, poft_Sub_Month) 
set estp.poft_Value = '0', 
    est.poft_Value = '0.00', 
    ppp.poft_Value = '0.00',
    stat.poft_Contents = 'Updated By: IGB1 10/21/04' 
where  est.poft_Feature = 'estp_Addr_Postage' 
       and est.poft_Feature = 'Est_Price' 
       and ppp.poft_Feature = 'ppp_Addr_Postage' 
       and stat.poft_Feature = 'Status'
thd->thread_id=23
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Number of processes running now: 0
041021 11:21:48  mysqld restarted
041021 11:21:49  InnoDB: Database was not shut down normally.
InnoDB: Starting recovery from log files...
InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 2 4088025648
InnoDB: Doing recovery: scanned up to log sequence number 2 4088029825
041021 11:21:49  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 18068, file name ./server-bin.1286
041021 11:21:50  InnoDB: Flushing modified pages from the buffer pool...
041021 11:21:50  InnoDB: Started
/home/mysql/libexec/mysqld: ready for connections.
Version: '4.0.14-log'  socket: '/home/mysql/mysql.sock'  port: 3307
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=134217728
read_buffer_size=131072
max_used_connections=10
max_connections=150
threads_connected=5
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 457470 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x8874be8
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=0x86e07b78, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x80df7ea
0x40023f05
0x81192cf
0x8119617
0x810a44d
0x81048fa
0x81187d5
0x80ebdce
0x80ee2bd
0x80e9c68
0x80ef85d
0x80e90e0
0x40020faf
0x420e790a
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/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 0x87e50d8 = update product_order_features as estp 
       INNER JOIN product_order_features as est 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as ppp 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as stat 
       USING (ordr_ID, poft_Sub_Month) 
set    estp.poft_Value = '0', 
       est.poft_Value = '0.00', 
       ppp.poft_Value = '0.00',
       stat.poft_Contents = 'Updated By: IGB1 10/21/04' 
where  est.poft_Feature = 'estp_Addr_Postage' 
       and est.poft_Feature = 'Est_Price' 
       and ppp.poft_Feature = 'ppp_Addr_Postage' 
       and stat.poft_Feature = 'Status'
thd->thread_id=45
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Number of processes running now: 0
041021 11:24:33  mysqld restarted
041021 11:24:34  InnoDB: Database was not shut down normally.
InnoDB: Starting recovery from log files...
InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 2 4088063681
InnoDB: Doing recovery: scanned up to log sequence number 2 4088063681
InnoDB: Last MySQL binlog file position 0 41470, file name ./server-bin.1287
041021 11:24:34  InnoDB: Flushing modified pages from the buffer pool...
041021 11:24:34  InnoDB: Started
/home/mysql/libexec/mysqld: ready for connections.
Version: '4.0.14-log'  socket: '/home/mysql/mysql.sock'  port: 3307
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=134217728
read_buffer_size=131072
max_used_connections=42
max_connections=150
threads_connected=17
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 457470 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x88c0f30
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=0x41ffab78, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x80df7ea
0x40023f05
0x81192cf
0x8119617
0x810a44d
0x81048fa
0x81187d5
0x80ebdce
0x80ee2bd
0x80e9c68
0x80ef85d
0x80e90e0
0x40020faf
0x420e790a
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/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 0x889a6b8 = update product_order_features as estp 
       INNER JOIN product_order_features as est 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as ppp 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN product_order_features as stat 
       USING (ordr_ID, poft_Sub_Month) 
       INNER JOIN er_poft1 
       USING (ordr_ID, poft_Sub_Month) 
set    estp.poft_Value = '0', 
       est.poft_Value = '0.00', 
       ppp.poft_Value = '0.00',
       stat.poft_Contents = 'Updated By: IGB1 10/21/04' 
where  est.poft_Feature = 'estp_Addr_Postage' 
       and est.poft_Feature = 'Est_Price' 
       and ppp.poft_Feature = 'ppp_Addr_Postage' 
       and stat.poft_Feature = 'Status'
thd->thread_id=22
The manual page at http://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Number of processes running now: 0
041021 13:57:03  mysqld restarted
041021 13:57:04  InnoDB: Database was not shut down normally.
InnoDB: Starting recovery from log files...
InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 2 4091130278
InnoDB: Doing recovery: scanned up to log sequence number 2 4091133027
041021 13:57:04  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 3778625, file name ./server-bin.1288
041021 13:57:05  InnoDB: Flushing modified pages from the buffer pool...
041021 13:57:05  InnoDB: Started
/home/mysql/libexec/mysqld: ready for connections.
Version: '4.0.14-log'  socket: '/home/mysql/mysql.sock'  port: 3307
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Sample data from product_order_features

mysql> select * into outfile 'bug.txt' from product_order_features where ordr_ID > 229400 limit 1000;
Query OK, 1000 rows affected (0.03 sec)

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Solution

mysql> explain
    -> SELECT estp.poft_Value,
    ->        est.poft_Value ,
    ->        ppp.poft_Value,
    ->        stat.poft_Contents
    -> FROM   product_order_features as estp
    ->        INNER JOIN product_order_features as est
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN product_order_features as ppp
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN product_order_features as stat
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN er_poft1
    ->        USING (ordr_ID, poft_Sub_Month)
    -> where  est.poft_Feature = 'estp_Addr_Postage'
    ->        and est.poft_Feature = 'Est_Price'
    ->        and ppp.poft_Feature = 'ppp_Addr_Postage'
    ->        and stat.poft_Feature = 'Status';
+------------------+
| Comment          |
+------------------+
| Impossible WHERE |
+------------------+
1 row in set (0.00 sec)

mysql> explain
    -> SELECT estp.poft_Value,
    ->        est.poft_Value ,
    ->        ppp.poft_Value,
    ->        stat.poft_Contents
    -> FROM   product_order_features as estp
    ->        INNER JOIN product_order_features as est
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN product_order_features as ppp
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN product_order_features as stat
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN er_poft1
    ->        USING (ordr_ID, poft_Sub_Month)
    -> where  estp.poft_Feature = 'estp_Addr_Postage'
    ->        and est.poft_Feature = 'Est_Price'
    ->        and ppp.poft_Feature = 'ppp_Addr_Postage'
    ->        and stat.poft_Feature = 'Status';
+----------+-------+----------------------------------------------+---------+---------+--------------------------------------------------------------------+------+--------------------------+
| table    | type  | possible_keys                                | key     | key_len | ref                                                                | rows | Extra                    |
+----------+-------+----------------------------------------------+---------+---------+--------------------------------------------------------------------+------+--------------------------+
| er_poft1 | index | PRIMARY                                      | PRIMARY |       7 | NULL                                                               |   75 | Using index              |
| stat     | ref   | PRIMARY,Contents_Value_IDX,Feature_Value_IDX | PRIMARY |      47 | mailprint.er_poft1.ordr_ID,mailprint.er_poft1.poft_Sub_Month,const |    1 | Using where; Using index |
| ppp      | ref   | PRIMARY,Contents_Value_IDX,Feature_Value_IDX | PRIMARY |      47 | mailprint.stat.ordr_ID,mailprint.stat.poft_Sub_Month,const         |    1 | Using where; Using index |
| est      | ref   | PRIMARY,Contents_Value_IDX,Feature_Value_IDX | PRIMARY |      47 | mailprint.ppp.ordr_ID,mailprint.ppp.poft_Sub_Month,const           |    1 | Using where; Using index |
| estp     | ref   | PRIMARY,Contents_Value_IDX,Feature_Value_IDX | PRIMARY |      47 | mailprint.est.ordr_ID,mailprint.est.poft_Sub_Month,const           |    1 | Using where; Using index |
+----------+-------+----------------------------------------------+---------+---------+--------------------------------------------------------------------+------+--------------------------+
5 rows in set (0.00 sec)

mysql> begin;
Query OK, 0 rows affected (0.00 sec)

mysql> update product_order_features as estp
    ->        INNER JOIN product_order_features as est
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN product_order_features as ppp
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN product_order_features as stat
    ->        USING (ordr_ID, poft_Sub_Month)
    ->        INNER JOIN er_poft1
    ->        USING (ordr_ID, poft_Sub_Month)
    -> set    estp.poft_Value = '0',
    ->        est.poft_Value = '0.00',
    ->        ppp.poft_Value = '0.00',
    ->        stat.poft_Contents = 'Updated By: IGB1 10/21/04'
    -> where  estp.poft_Feature = 'estp_Addr_Postage'
    ->        and est.poft_Feature = 'Est_Price'
    ->        and ppp.poft_Feature = 'ppp_Addr_Postage'
    ->        and stat.poft_Feature = 'Status';
Query OK, 300 rows affected (0.45 sec)
Rows matched: 300  Changed: 300  Warnings: 0

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

How to repeat:
The UPDATE statement kills mysqld 
but if you look at the end of the description by changing the UPDATE to a SELECT the system told me the problem without crashing MySQL.
[21 Oct 2004 21:29] Alexander Keremidarski
Thank you for taking the time to report a problem.  Unfortunately
you are not using a current version of the product your reported a
problem with -- the problem might already be fixed. Please download
a new version from http://www.mysql.com/downloads/

If you are able to reproduce the bug with one of the latest versions,
please change the version on this bug report to the version you
tested and change the status back to "Open".  Again, thank you for
your continued support of MySQL.

Additional info:

Please note that 4.0.14 was released at 18 Jul 2003

Current stable release 4.0.21 does not seem to expose this bug.