Bug #40949 Debug version of MySQL server crashes when run OPTIMIZE on compressed table.
Submitted: 22 Nov 2008 9:56 Modified: 29 Jan 6:07
Reporter: Sveta Smirnova
Status: Closed
Category:Server Severity:S1 (Critical)
Version:5.1, 6.0 bzr OS:Any
Assigned to: Sergey Gluhov Target Version:5.1+
Triage: Triaged: D1 (Critical)

[22 Nov 2008 9:56] Sveta Smirnova
Description:
Debug version of MySQL server crashes when run OPTIMIZE on compressed table:

CURRENT_TEST: main.bug40939
081122 11:26:25 [Note] Plugin 'InnoDB' disabled by command line option
081122 11:26:25 [Note] Falcon: unable to open system data files.
081122 11:26:25 [Note] Falcon: creating new system data files.
081122 11:26:27 [Note] Event Scheduler: Loaded 0 events
081122 11:26:27 [Note] /users/ssmirnova/src/mysql-6.0/sql/mysqld: ready for connections.
Version: '6.0.9-alpha-debug-log'  socket:
'/users/ssmirnova/src/mysql-6.0/mysql-test/var/tmp/master.sock'  port: 9306  Source
distribution
mysqld: sql_class.cc:460: void Diagnostics_area::set_eof_status(THD*): Assertion `!
is_set()' failed.
/users/ssmirnova/src/mysql-6.0/sql/mysqld(my_print_stacktrace+0x26)[0x8934605]
/users/ssmirnova/src/mysql-6.0/sql/mysqld(handle_segfault+0x2f7)[0x82f8afb]
[0x2ce420]
/lib/libc.so.6(abort+0xf8)[0x316678]
/lib/libc.so.6(__assert_fail+0xfd)[0x30e269]
/users/ssmirnova/src/mysql-6.0/sql/mysqld(_ZN16Diagnostics_area14set_eof_statusEP3THD+0x5c
)[0x82de5be]
/users/ssmirnova/src/mysql-6.0/sql/mysqld(_Z6my_eofP3THD+0x1e)[0x821fbbe]
/users/ssmirnova/src/mysql-6.0/sql/mysqld[0x84607f4]
/users/ssmirnova/src/mysql-6.0/sql/mysqld(_Z20mysql_optimize_tableP3THDP10TABLE_LISTP15st_
ha_check_opt+0xa9)[0x8460cd7]
/users/ssmirnova/src/mysql-6.0/sql/mysqld(_Z21mysql_execute_commandP3THD+0x2e12)[0x83110fc
]
/users/ssmirnova/src/mysql-6.0/sql/mysqld(_Z11mysql_parseP3THDPKcjPS2_+0x22b)[0x83177d5]
/users/ssmirnova/src/mysql-6.0/sql/mysqld(_Z16dispatch_command19enum_server_commandP3THDPc
j+0x8b3)[0x8318217]
/users/ssmirnova/src/mysql-6.0/sql/mysqld(_Z10do_commandP3THD+0x23a)[0x8319558]
/users/ssmirnova/src/mysql-6.0/sql/mysqld(handle_one_connection+0x11d)[0x83063d1]
/lib/libpthread.so.0[0x45fbd4]
/lib/libc.so.6(__clone+0x5e)[0x3b74fe]
081122 11:26:29 - mysqld got signal 6 ;
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=1048576
read_buffer_size=131072
max_used_connections=1
max_threads=151
thread_count=1
connection_count=1
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 60054 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd: 0xa476098
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...
stack_bottom = 0xae5a1048 thread_stack 0x30c00
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0xa4cbce0 = optimize table t1
thd->thread_id=1
thd->killed=NOT_KILLED
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.
Writing a core file

Found investigating bug #40939

How to repeat:
create table t1(f1 int, f2 varchar(255));

insert into t1 values(1, 'foo'), (2, 'bar');

insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;

select count(*) from t1;

flush tables;

--exec $MYSQL_TEST_DIR/../storage/myisam/myisampack
$MYSQL_TEST_DIR/var/master-data/test/t1

optimize table t1;
[22 Nov 2008 10:02] Sveta Smirnova
Release version is not affected.
[4 Dec 2008 14:38] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/60603

2727 Sergey Glukhov	2008-12-04
      Bug#40949 Debug version of MySQL server crashes when run OPTIMIZE on compressed
table.
      reset diagnostics area state after error message is sent
[9 Dec 2008 10:05] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/61010

2733 Sergey Glukhov	2008-12-09
      Bug#40949 Debug version of MySQL server crashes when run OPTIMIZE on compressed
table.
      reset diagnostics area state after error message is sent
[15 Jan 7:36] Bugs System
Pushed into 5.1.31 (revid:joro@sun.com-20090115053147-tx1oapthnzgvs1ro) (version source
revid:azundris@mysql.com-20081230114838-cn52tu180wcrvh0h) (merge vers: 5.1.31) (pib:6)
[19 Jan 12:22] Bugs System
Pushed into 5.1.31-ndb-6.2.17 (revid:tomas.ulin@sun.com-20090119095303-uwwvxiibtr38djii)
(version source revid:tomas.ulin@sun.com-20090115073240-1wanl85vlvw2she1) (merge vers:
5.1.31-ndb-6.2.17) (pib:6)
[19 Jan 14:00] Bugs System
Pushed into 5.1.31-ndb-6.3.21 (revid:tomas.ulin@sun.com-20090119104956-guxz190n2kh31fxl)
(version source revid:tomas.ulin@sun.com-20090119104956-guxz190n2kh31fxl) (merge vers:
5.1.31-ndb-6.3.21) (pib:6)
[19 Jan 17:06] Bugs System
Pushed into 5.1.31-ndb-6.4.1 (revid:tomas.ulin@sun.com-20090119144033-4aylstx5czzz88i5)
(version source revid:tomas.ulin@sun.com-20090119144033-4aylstx5czzz88i5) (merge vers:
5.1.31-ndb-6.4.1) (pib:6)
[20 Jan 19:53] Bugs System
Pushed into 6.0.10-alpha (revid:joro@sun.com-20090119171328-2hemf2ndc1dxl0et) (version
source revid:azundris@mysql.com-20081230114916-c290n83z25wkt6e4) (merge vers: 6.0.9-alpha)
(pib:6)
[21 Jan 13:19] Sergey Vojtovich
Sibling BUG#41574.
[29 Jan 6:07] Paul DuBois
Noted in 5.1.31, 6.0.10 changelogs.

For debug servers, OPTIMIZE TABLE on a compressed table caused a
server crash.