Bug #34378 Using more than 16gb can cause failed assertion in RWPool
Submitted: 7 Feb 2008 11:23 Modified: 20 Feb 2008 21:02
Reporter: Axel Schwenke Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:5.1* OS:Linux
Assigned to: Jonas Oreland CPU Architecture:Any
Triage: D1 (Critical) / R3 (Medium) / E2 (Low)

[7 Feb 2008 11:23] Axel Schwenke
Description:
An upgrade from 5.1.15-ndb-6.1.23 to 5.1.23-ndb-6.2.11 resulted in a crash of a data node with error:

Status: Temporary error, restart node                                           
Message: Assertion (Internal error, programming error or missing error message, 
please report a bug)                                                            
Error: 2301                                                                     
Error data: Invalid memory access: ptr (2000 0x2ab6b50010) magic: (00040001 0000
0062) memroot: 0x2ab6b48000 page: 0                                             
Error object: DBDICT (Line: 41) 0x00000002                                      
Program: ./ndbd                                                                 
Pid: 15504                                                                      
Trace: ndb_3_trace.log.2               
Version: mysql-5.1.23 ndb-6.2.11-RC                                             
***EOM***

After reducing data memory from 22.5GB to 2.5GB the upgrade succeeded. Other clusters (all with <3GB data memory) could be upgraded too.

How to repeat:
n/a
[8 Feb 2008 14:17] 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/41933

ChangeSet@1.2684, 2008-02-08 15:17:45+01:00, jonas@perch.ndb.mysql.com +4 -0
  ndb - bug#34378
    Using more than 16g can cause record-pool ptr.i values to overflow
    Fix by splitting memory into 2 zones, lo(16g)/hi(rest)
    When record pools only use zone_lo, and datamemory, buffers etc...can use any
[10 Feb 2008 12:07] Jonas Oreland
pushed to 51-ndb, and telco-6.x (>= 2)
[12 Feb 2008 15:27] Jon Stephens
Documented bugfix in the 5.1.23-ndb-6.3.9 changelog as follows:

        Upgrades of a cluster using while a DataMemory setting in excess
        of 3 GB caused data nodes to fail.

Left bug report in PQ status pending further merges.
[20 Feb 2008 16:02] Bugs System
Pushed into 5.1.24-rc
[20 Feb 2008 16:03] Bugs System
Pushed into 6.0.5-alpha
[20 Feb 2008 21:02] Jon Stephens
Also documented for 5.1.24 and 6.0.5.