Description:
got assertion when running mysql-test-run --gdb ndb_alter_table.
The stack:
#3 0xb7e05f71 in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
#4 0x08464448 in NdbEventBuffer::completeClusterFailed (this=0x87c8500)
at NdbEventOperationImpl.cpp:1745
#5 0x08448772 in Ndb::report_node_failure_completed (this=0x87c5990,
node_id=1) at Ndbif.cpp:279
#6 0x08448877 in Ndb::statusMessage (NdbObject=0x87c5990, a_node=1,
alive=false, nfComplete=true) at Ndbif.cpp:239
#7 0x084ba6a3 in TransporterFacade::ReportNodeFailureComplete (
this=0x87b0680, tNodeId=1) at TransporterFacade.cpp:837
#8 0x084bc0f5 in ClusterMgr::execNF_COMPLETEREP (this=0x87bebe0, theData=0x0)
at ClusterMgr.cpp:471
#9 0x084bde51 in ClusterMgr::reportNodeFailed (this=0x87bebe0, nodeId=2)
at ClusterMgr.cpp:555
#10 0x084bdf01 in ClusterMgr::reportDisconnected (this=0x87bebe0, nodeId=2)
at ClusterMgr.cpp:517
#11 0x084b9180 in TransporterFacade::reportDisconnected (this=0x0, aNodeId=2)
at TransporterFacade.cpp:1224
#12 0x084b91ac in reportDisconnect (callbackObj=0x87b0680, nodeId=0, error=0)
at TransporterFacade.cpp:127
#13 0x0848ff26 in TransporterRegistry::report_disconnect (this=0x87c5f78,
---Type <return> to continue, or q <return> to quit---
node_id=2, errnum=0) at TransporterRegistry.cpp:1229
#14 0x084bf550 in TCP_Transporter::doReceive (this=0x87c50e8)
at Transporter.hpp:163
#15 0x08492224 in TransporterRegistry::performReceive (this=0x87c5f78)
at TransporterRegistry.cpp:950
#16 0x084b8937 in TransporterFacade::external_poll (this=0x87b0680,
wait_time=604800000) at TransporterFacade.cpp:536
#17 0x084ba819 in PollGuard::wait_for_input (this=0xb7cfaabc,
wait_time=604800000) at TransporterFacade.cpp:1471
#18 0x084ba8bd in PollGuard::wait_for_input_in_loop (this=0xb7cfaabc,
wait_time=604800000, forceSend=false) at TransporterFacade.cpp:1396
#19 0x084baa23 in PollGuard::wait_n_unlock (this=0xb7cfaabc,
wait_time=604800000, nodeId=0, state=0, forceSend=20)
at TransporterFacade.cpp:1369
#20 0x0846fcbd in NdbDictInterface::listObjects (this=0x8857728,
signal=0xb7cfab30) at NdbDictionaryImpl.cpp:4202
#21 0x0847369f in NdbDictInterface::listObjects (this=0x8857728,
list=@0xb7cfaed4, requestData=0, fullyQualifiedNames=true)
at NdbDictionaryImpl.cpp:4095
#22 0x08473e69 in NdbDictionaryImpl::listObjects (this=0x88575f4,
list=@0xb7cfaed4, type=UserTable) at NdbDictionaryImpl.cpp:4069
#23 0x08469499 in NdbDictionary::Dictionary::listObjects (this=0x0,
list=@0xb7cfaed4, type=UserTable) at NdbDictionary.cpp:1668
#24 0x082e4dfa in ndbcluster_find_all_files (thd=0x880f1f8)
at ha_ndbcluster.cc:6108
#25 0x082efa74 in ndbcluster_setup_binlog_table_shares (thd=0x880f1f8)
at ha_ndbcluster_binlog.cc:845
#26 0x082e611d in ndb_util_thread_func (arg=0x0) at ha_ndbcluster.cc:8237
How to repeat:
Rather complicated. Can not claim it is easily reproducable but rather the contrary.
./mysql-test-run.pl --gdb --mysqld=--binlog-format=mixed
at the beginning of gdb session in master_1 window you interrupt C-c debugger.
Wait about 5 seconds and continue.
(gdb) c
Continuing.
out of order bucket detected at cluster disconnect, data.gci: 30. tmp->m_gci: 29
mysqld: NdbEventOperationImpl.cpp:1745: void NdbEventBuffer::completeClusterFailed(): Assertion `false' failed.