Bug #1826 Server crashed when a table opened with HANDLER is altered
Submitted: 13 Nov 2003 0:55 Modified: 18 Nov 2003 14:05
Reporter: Pascal Drecker
Status: Closed
Category:Server Severity:S2 (Serious)
Version:4.0.16 OS:Microsoft Windows (WInXP)
Assigned to: Sergei Golubchik Target Version:

[13 Nov 2003 0:55] Pascal Drecker
Description:
The MySQL-Server crashed while one process has opened a table with the HANDLER command
and another process alters this table!

(If you use one process the HANDLER of the opened table goes invalid after the table is
altered.)

Best Regards from the University of Greifswald (Germany),
Pascal

How to repeat:
first process: HANDLER test1 OPEN;
second process: ALTER TABLE test1 ADD mytestcol char(20);

RESULT: Server is crashing!
[13 Nov 2003 16:27] Pascal Drecker
Now I am searching for a workaround: 'LOCK TABLES test1 WRITE' does not fail although this
table is already opened by 'HANDLER test1 OPEN'.

I think this is another bug because 'HANDLER test1 OPEN' failed if the table is already
locked!

Best Regards,
Pascal
[14 Nov 2003 14:41] Dean Ellis
Thread1: HANDLER tablename OPEN;
Thread2: ALTER TABLE tablename ADD col int;
Thread1: HANDLER tablename READ FIRST;
mysqld crashes.

Error log shows:
runtime error R6025
- pure virtual function call
[18 Nov 2003 14:05] Sergei Golubchik
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

fixed in 4.0.17