Bug #21363 Server crash in ndb_restore / ndb_view test cases

Submitted: 31 Jul 2006 12:57 Modified: 1 Sep 2006 7:59
Reporter: Kristian Nielsen Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:5.1.12 OS:Linux (Linux x86)
Assigned to: Jonas Oreland CPU Architecture:Any

[31 Jul 2006 12:57] Kristian Nielsen
Description:
Valgrind detects an invalid pointer read causing a crash in test cases ndb_restore and ndb_view:

VALGRIND: 'Invalid read of size 4'
    COUNT: 2
    FUNCTION: Ndb::handleReceivedSignal(NdbApiSignal*,    FILES:    master.err
    TESTS:    ndb_restore ndb_view
    STACK: at 0x95A1FB: Ndb::handleReceivedSignal(NdbApiSignal*, LinearSectionPtr*) (Ndbif.cpp:745)
             by 0x958F28: Ndb::executeMessage(void*, NdbApiSignal*, LinearSectionPtr*) (Ndbif.cpp:175)
             by 0x9BDC07: execute(void*, SignalHeader*, unsigned char, unsigned*, LinearSectionPtr*) (TransporterFacade.cpp:226)
             by 0x9C84A9: TransporterRegistry::unpack(unsigned*, unsigned, unsigned short, IOState) (Packer.cpp:109)
             by 0x9C68A7: TransporterRegistry::performReceive() (TransporterRegistry.cpp:955)
             by 0x9BE3CD: TransporterFacade::threadMainReceive() (TransporterFacade.cpp:514)
             by 0x9BE2E8: runReceiveResponse_C (TransporterFacade.cpp:486)
             by 0x9AD63E: ndb_thread_wrapper (NdbThread.c:82)
             by 0x4C37C63: start_thread (in /lib64/tls/libpthread-0.60.so)
             by 0x52F3242: clone (in /lib64/tls/libc-2.3.2.so)
           Address 0x220 is not stack'd, malloc'd or (recently) free'd

The problem is not seen on every run, but it is easy to repeat by running the tests in a loop.

How to repeat:
(for i in `seq 1 100`; do echo XXX $i XXX; ./mysql-test-run.pl --valgrind-all ndb_restore ndb_view; fgrep Ndb::handleReceivedSignal var/log/master.err && exit 1; done)

For me, this repeats the problem reliably after a few runs.
[9 Aug 2006 8:22] 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/10188

ChangeSet@1.2244, 2006-08-09 10:22:09+02:00, jonas@perch.ndb.mysql.com +5 -0
  ndb - bug#21363
    Add extra sleeps (conditionally) if user-ndb-object still exists during shutdown
    Note: This is not in anyway optimal, but i dont't really know in which order should be shutdown
          but it fixes problem...
[9 Aug 2006 8:41] 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/10189

ChangeSet@1.2245, 2006-08-09 10:41:22+02:00, jonas@perch.ndb.mysql.com +1 -0
  ndb - bug#21363
    add file that got missing from last changset
[1 Sep 2006 7:59] Jonas Oreland
pushed to 5.1.12 nothing to document

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.040 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.