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: | |
| 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 |
[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.
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.