Bug #51656 Reproducable "Internal program error"
Submitted: 2 Mar 2010 20:34 Modified: 3 Mar 2010 10:42
Reporter: Michael Weiss Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S1 (Critical)
Version:mysql-5.1.39 ndb-7.0.9 OS:Linux (Debian Lenny)
Assigned to: Jonas Oreland CPU Architecture:Any
Tags: ALTER TABLE, crash, dbtup

[2 Mar 2010 20:34] Michael Weiss
Description:
Running an "alter table" to change a myisam table to ndbcluster gives the following reproducable error:

Time: Tuesday 2 March 2010 - 18:41:53
Status: Temporary error, restart node
Message: Internal program error (failed ndbrequire) (Internal error, programming error or missing error message, please report a bug)
Error: 2341
Error data: dbtup/DbtupDiskAlloc.cpp
Error object: DBTUP (Line: 304) 0x00000008
Program: /usr/sbin/ndbd
Pid: 6411
Version: mysql-5.1.39 ndb-7.0.9b
Trace: /var/lib/mysql-cluster/ndb_20_trace.log.9
***EOM***

Time: Tuesday 2 March 2010 - 20:09:44
Status: Temporary error, restart node
Message: Internal program error (failed ndbrequire) (Internal error, programming error or missing error message, please report a bug)
Error: 2341
Error data: dbtup/DbtupDiskAlloc.cpp
Error object: DBTUP (Line: 304) 0x00000008
Program: /usr/sbin/ndbd
Pid: 29148
Version: mysql-5.1.39 ndb-7.0.9b
Trace: /var/lib/mysql-cluster/ndb_20_trace.log.10
***EOM***

INFORMATION_SCHEMA.files gives the following which is a bit confusing, since the files with equal names should have the same used (i.e. free) extents, I think, since they're in the same nodegroup.

file_name           | tablespace_... | engine     | free_exte | total_exte
master_data_004.dat | ts_master_1    | ndbcluster |      4096 |       4096 
master_data_004.dat | ts_master_1    | ndbcluster |      4092 |       4096 
master_data_006.dat | ts_master_1    | ndbcluster |      2296 |       4096 
master_data_006.dat | ts_master_1    | ndbcluster |      2300 |       4096 

The failing node is the one with more free extents.

Thank you for your hints!
Regards Michael.

How to repeat:
see above.
[3 Mar 2010 10:34] Jonas Oreland
Hi,

1) is it possible to upload myisam table
that when altering to cluster give the error ?

2) can you please upload the DDL used to create tablespace/logfile-group

3) can you please upload full logs (using ndb_error_reporter)

/Jonas
[3 Mar 2010 10:41] Michael Weiss
Hi Jonas,

the error is obviously caused by data corruption due to a defective memory module. I guess there's no further investigation needed... Sorry for any inconveniences.

regards Michael.