| Bug #44069 | ndb_restore crash from bus error when restoring packed data | ||
|---|---|---|---|
| Submitted: | 3 Apr 2009 8:31 | Modified: | 15 Apr 2009 3:01 |
| Reporter: | Magnus Blåudd | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S1 (Critical) |
| Version: | mysql-5.1-telco-7.0 | OS: | Solaris (sparc) |
| Assigned to: | Magnus Blåudd | CPU Architecture: | Any |
[8 Apr 2009 13:49]
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/71654
[9 Apr 2009 11:14]
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/71772
[9 Apr 2009 15:27]
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/71797
[9 Apr 2009 15:43]
Bugs System
Pushed into 5.1.32-ndb-7.0.5 (revid:magnus.blaudd@sun.com-20090409152826-rfdukhsmek5cez8h) (version source revid:magnus.blaudd@sun.com-20090409152826-rfdukhsmek5cez8h) (merge vers: 5.1.32-ndb-7.0.5) (pib:6)
[9 Apr 2009 16:17]
Bugs System
Pushed into 5.1.32-ndb-6.3.25 (revid:magnus.blaudd@sun.com-20090409154847-gaqvdnjj5tm5ua5h) (version source revid:magnus.blaudd@sun.com-20090409154847-gaqvdnjj5tm5ua5h) (merge vers: 5.1.32-ndb-6.3.25) (pib:6)
[14 Apr 2009 16:51]
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/72035
[14 Apr 2009 17:22]
Bugs System
Pushed into 5.1.32-ndb-7.0.6 (revid:magnus.blaudd@sun.com-20090414171116-ctlsz5z1oxeagkc8) (version source revid:magnus.blaudd@sun.com-20090414171116-ctlsz5z1oxeagkc8) (merge vers: 5.1.32-ndb-7.0.6) (pib:6)
[15 Apr 2009 3:01]
Jon Stephens
Documented in the NDB-6.3.25 and 7.0.6 changelogs as follows:
ndb_restore failed when trying to restore data on a big-endian
machine from a backup file created on a little-endian machine.

Description: ndb_restore run on big endian machine get a bus error when trying to swap the byte order of data read from backup file. The files have bee previously recorded on little endian machine. How to repeat: ./ndb_restore --no-defaults -b 1 -n 2 -r ~/magnus/mysql-5.1.32-ndb-7.0.5-pb558/mysql-test/std_data/ndb_backup51_undolog_le t@1 (l@1) terminated by signal BUS (invalid address alignment) Current function is BackupFile::Twiddle 77 attr_data->u_int32_value[0] = Twiddle32(attr_data->u_int32_value[0]); (dbx) p attr_desc attr_desc = 0x10041f1e8 (dbx) p attr_desc attr_desc = 0x10041f1e8 (dbx) p *attr_desc *attr_desc = { size = 8U arraySize = 4U attrId = 4U m_column = 0x1004a5d38 m_nullBitIndex = 0 convertFunc = (nil) parameter = (nil) } (dbx) where current thread: t@1 =>[1] BackupFile::Twiddle(this = 0xffffffff7fffe138, attr_desc = 0x10041f1e8, attr_data = 0x100412048, arraySize = 0), line 77 in "Restore.cpp" [2] RestoreDataIterator::readTupleData_packed(this = 0xffffffff7fffe138, buf_ptr = 0x10051de10, dataLength = 9U), line 919 in "Restore.cpp" [3] RestoreDataIterator::getNextTuple(this = 0xffffffff7fffe138, res = 1), line 782 in "Restore.cpp" [4] main(argc = 1, argv = 0x1004bc150), line 1179 in "restore_main.cpp"