Bug #29176 drop table can crash pgman
Submitted: 18 Jun 2007 14:51 Modified: 25 Jun 2007 10:15
Reporter: Pekka Nousiainen
Status: Closed
Category:Server: ClusterDD Severity:S2 (Serious)
Version:5.1 OS:Any
Assigned to: Pekka Nousiainen Target Version:

[18 Jun 2007 14: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 16: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 11:33] Jon Stephens
Documented for ndb-6.1.14 release; left in PQ status pending merges.
[21 Jun 2007 22:14] Bugs System
Pushed into 5.1.20-beta
[23 Jun 2007 9: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 12:37] Pekka Nousiainen
needs one more patch
maybe occurs only in debug mode now
[24 Jun 2007 22: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 10: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 19:18] Jon Stephens
Noted new fix in telco-6.1.16 changelog.
[3 Jul 2007 8:42] Jon Stephens
Also documented for telco-6.2.3 release.
[3 Jul 2007 8:49] Jon Stephens
Also documented for telco-6.2.3 release.
[3 Jul 2007 20:57] Bugs System
Pushed into 5.1.21-beta