Bug #1826 Server crashed when a table opened with HANDLER is altered
Submitted: 12 Nov 2003 23:55 Modified: 18 Nov 2003 13:05
Reporter: Pascal Drecker Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:4.0.16 OS:Microsoft Windows (WInXP)
Assigned to: Sergei Golubchik

[12 Nov 2003 23: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 15: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 13: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 13: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