| Bug #75738 | flexAsync segfaults if failed to create tables | ||
|---|---|---|---|
| Submitted: | 3 Feb 2015 4:16 | Modified: | 26 Feb 2016 0:35 |
| Reporter: | Stewart Smith | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Cluster: NDB API | Severity: | S3 (Non-critical) |
| Version: | 7.3.8 | OS: | Any |
| Assigned to: | Magnus Blåudd | CPU Architecture: | Any |
| Tags: | flexAsync | ||
[3 Feb 2015 4:17]
Stewart Smith
make flexAsync not segfault when run when dict operations are forbidden (*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.
Contribution: ndb-flexasync-segfault-on-fail-createtables.patch (text/x-patch), 518 bytes.
[1 Jul 2015 4:05]
MySQL Verification Team
Hello Stewart, Thank you for the report and contribution. Thanks, Umesh
[7 Jul 2015 9:41]
Magnus Blåudd
Fixed in 7.3.11. Thanks!
[9 Jul 2015 9:41]
Jon Stephens
Fixed in NDB 7.3.11 and 7.4.8. This effects testing only; no end-user changes to document. Closed.
[26 Feb 2016 0:35]
Stewart Smith
I think you managed to forget to close the bug as fixed. Closing :)

Description: If you run flexAsync on say, a cluster where there's node restarts going on, and it attempts to create tables, it may end up failing. If so, it'll end up segfaulting with null pointer dereference. The reason for this is that g_record[0] wasn't initialized and the following was called: Uint32 sz = NdbDictionary::getRecordRowLength(g_record[0]); How to repeat: run flexAsync on a cluster during node restart Suggested fix: apply my patch!