Bug #29176 drop table can crash pgman
Submitted: 18 Jun 2007 12:51 Modified: 25 Jun 2007 8:15
Reporter: Pekka Nousiainen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Disk Data Severity:S2 (Serious)
Version:5.1 OS:Any
Assigned to: Pekka Nousiainen CPU Architecture:Any

[18 Jun 2007 12:51] Pekka Nousiainen
Description:
drop_page may leave stack bottom entry not HOT
which is against the rules.  it causes later crash
in lirs_stack_pop:

#ifdef VM_TRACE
  debugOut << "PGMAN: " << ptr << ": pop from stack" << endl;
#endif
    
  ndbrequire(state & Page_entry::HOT);

How to repeat:
drop tables
(not very likely to occur)

Suggested fix:
prune the stack
[18 Jun 2007 14:03] 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/28998

ChangeSet@1.2496, 2007-06-18 16:03:41+02:00, pekka@clam.ndb.mysql.com +1 -0
  ndb - bug#29176 missing stack pruning in drop_page
[19 Jun 2007 9:33] Jon Stephens
Documented for ndb-6.1.14 release; left in PQ status pending merges.
[21 Jun 2007 20:14] Bugs System
Pushed into 5.1.20-beta
[23 Jun 2007 7:05] Jon Stephens
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 bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html

Documented bugfix in 5.1.20 changelog.
[23 Jun 2007 10:37] Pekka Nousiainen
needs one more patch
maybe occurs only in debug mode now
[24 Jun 2007 20:15] 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/29461

ChangeSet@1.2498, 2007-06-24 22:14:09+02:00, pekka@clam.ndb.mysql.com +1 -0
  ndb - bug#29176 pgman: another missing stack pruning related to drop table
[25 Jun 2007 8:15] Pekka Nousiainen
the symptom before last patch was crash
in debug code:

    if (! pl_stack.hasPrev(ptr))
      ndbrequire(state & Page_entry::HOT || dump_page_lists());
[29 Jun 2007 17:18] Jon Stephens
Noted new fix in telco-6.1.16 changelog.
[3 Jul 2007 6:42] Jon Stephens
Also documented for telco-6.2.3 release.
[3 Jul 2007 6:49] Jon Stephens
Also documented for telco-6.2.3 release.
[3 Jul 2007 18:57] Bugs System
Pushed into 5.1.21-beta