Bug #90722 | ndb_config --diff-default crashes with SIGBUS | ||
---|---|---|---|
Submitted: | 2 May 2018 20:08 | Modified: | 25 Oct 2018 11:41 |
Reporter: | Daniël van Eeden (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S3 (Non-critical) |
Version: | 7.6.4 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[2 May 2018 20:08]
Daniël van Eeden
[5 May 2018 1:24]
MySQL Verification Team
verified as shown with 7.6.5 [root@localhost mysql]# bin/ndb_mgm -e show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @127.0.0.1 (mysql-5.7.20 ndb-7.6.5, starting, Nodegroup: 0, *) id=3 @127.0.0.1 (mysql-5.7.20 ndb-7.6.5, starting, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @127.0.0.1 (mysql-5.7.20 ndb-7.6.5) [mysqld(API)] 5 node(s) id=4 (not connected, accepting connect from any host) id=5 (not connected, accepting connect from any host) id=6 (not connected, accepting connect from any host) id=7 (not connected, accepting connect from any host) id=8 (not connected, accepting connect from any host) [root@localhost mysql]# bin/ndb_config [root@localhost mysql]# bin/ndb_config --diff-default Segmentation fault (core dumped) [root@localhost mysql]# kind regards Bogdan
[5 May 2018 1:39]
MySQL Verification Team
[root@localhost mysql]# gdb -directory=/home/arhimed/mysql/mysql-cluster-gpl-7.6.5/storage/ndb/tools/ --args bin/ndb_config --diff-default GNU gdb (GDB) Fedora 7.10.1-31.fc23 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from bin/ndb_config...done. (gdb) run Starting program: /usr/local/mysql-cluster-gpl-7.6.5-linux-glibc2.12-x86_64/bin/ndb_config --diff-default [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Program received signal SIGBUS, Bus error. 0x000000000040b95e in print_diff (iter=...) at /export/home/pb2/build/sb_0-28225317-1523655308.43/mysql-cluster-gpl-7.6.5/storage/ndb/tools/ndb_config.cpp:423 423 if (parse_str[len] == 'M' || parse_str[len] == 'm') (gdb) print len $1 = 4294967295 (gdb) info locals parse_str = '\000' <repeats 299 times> convert_bytes = false def_value = 0 len = 4294967295 memory_convert = <optimized out> p = <optimized out> val64 = 0 config_value = 0xa4f820 "localhost" node_type = 0x475f36 "MGM" str = "localhost", '\000' <repeats 290 times> val32 = 0 (gdb) print iter $2 = (const Iter &) @0x7fffffffe360: {m_sectionNo = 0, m_typeOfSection = 2000, m_config = {m_cfg = @0xa5d3a0, m_currentSection = 32768}} (gdb) print ConfigInfo::m_ParamInfo[p]._default value has been optimized out ...
[25 Oct 2018 11:41]
Jon Stephens
Documented fix as follows in the NDB 8.0.15 changelog: ndb_config --diff-default failed when trying to read a parameter whose default value was an empty string. Closed.