Bug #12043 Wrong value in config.ini cause core files.
Submitted: 19 Jul 2005 22:19 Modified: 1 Sep 2005 0:28
Reporter: Jonathan Miller Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:5.1.0-wl2325-wl1354-new OS:Linux (Linux)
Assigned to: Tomas Ulin

[19 Jul 2005 22:19] Jonathan Miller
Description:
It seems that it is not a specific mis-configuration that cause the core file. Below are three different examples all caused core files.

core files will be saved to ndb08:/space/bug#### where #### == the number of this report.

@ndb08:/space/run> ndb_mgmd -f config.ini
Error line 6: [DB] Unknown parameter: TimeBetweedGlobalCheckpoints
Error line 6: Could not parse name-value pair in config file.
Unable to read config file

./core.4286
--------------------------------
#0  0x00000011 in ?? ()
#1  0x080684b9 in Parser<MgmApiSession>::run(Parser<MgmApiSession>::Context&, MgmApiSession&, bool volatile*) const ()
#2  0x08064053 in MgmApiSession::runSession() ()
#3  0x400a45d0 in sessionThread_C ()
   from /home/ndbdev/jmiller/builds/lib/mysql/libndbclient.so.0
#4  0x4009aff1 in ndb_thread_wrapper ()
   from /home/ndbdev/jmiller/builds/lib/mysql/libndbclient.so.0
#5  0x400e66de in pthread_start_thread () from /lib/libpthread.so.0
-----------------------------

ndb08:/space/run> ndb_mgmd -f config.ini
Error line 16: [DB] Parameter MaxNoOfOrderedIndexes specified twice
Error line 16: Could not parse name-value pair in config file.
Unable to read config file

./core.4286
-------------------------------
#0  0x40243124 in strcmp () from /lib/libc.so.6
#1  0x400a318f in ParserImpl::matchCommand(Parser<ParserImpl::Dummy>::Context*, char const*, ParserRow<ParserImpl::Dummy> const*) ()
   from /home/ndbdev/jmiller/builds/lib/mysql/libndbclient.so.0
#2  0x400a2e3c in ParserImpl::run(Parser<ParserImpl::Dummy>::Context*, Properties const**, bool volatile*) const ()
   from /home/ndbdev/jmiller/builds/lib/mysql/libndbclient.so.0
#3  0x080683fe in Parser<MgmApiSession>::run(Parser<MgmApiSession>::Context&, MgmApiSession&, bool volatile*) const ()
#4  0x08064053 in MgmApiSession::runSession() ()
#5  0x400a45d0 in sessionThread_C ()
   from /home/ndbdev/jmiller/builds/lib/mysql/libndbclient.so.0
#6  0x4009aff1 in ndb_thread_wrapper ()
   from /home/ndbdev/jmiller/builds/lib/mysql/libndbclient.so.0
#7  0x400e66de in pthread_start_thread () from /lib/libpthread.so.0
(gdb) frame 3
#3  0x080683fe in Parser<MgmApiSession>::run(Parser<MgmApiSession>::Context&, MgmApiSession&, bool volatile*) const ()
(gdb) l
1       /usr/src/build/324954-i386/BUILD/glibc-2.3.2-200304020432/build-i386-linux/csu/crti.S: No such file or directory.
        in /usr/src/build/324954-i386/BUILD/glibc-2.3.2-200304020432/build-i386-linux/csu/crti.S
(gdb) frame 4
#4  0x08064053 in MgmApiSession::runSession() ()
---------------------------------------------------------------------------------------------
ndb08:/space/run> ndb_mgmd -f config.ini
Error line 25: Illegal value 500 for parameter TimeBetweenInactiveTransactionAbortCheck.
Legal values are between 1000 and 4294967039
Error line 25: Could not parse name-value pair in config file.
Unable to read config file

./core.4370
------------------------------------------------------------------------------------------
#0  0x00000000 in ?? ()
#1  0x400a2e87 in ParserImpl::run(Parser<ParserImpl::Dummy>::Context*, Properties const**, bool volatile*) const ()
   from /home/ndbdev/jmiller/builds/lib/mysql/libndbclient.so.0
#2  0x080683fe in Parser<MgmApiSession>::run(Parser<MgmApiSession>::Context&, MgmApiSession&, bool volatile*) const ()
#3  0x08064053 in MgmApiSession::runSession() ()
#4  0x400a45d0 in sessionThread_C ()
   from /home/ndbdev/jmiller/builds/lib/mysql/libndbclient.so.0
#5  0x4009aff1 in ndb_thread_wrapper ()
   from /home/ndbdev/jmiller/builds/lib/mysql/libndbclient.so.0
#6  0x400e66de in pthread_start_thread () from /lib/libpthread.so.0

How to repeat:
mis-configure the config.ini and start ndb_mgmd process

Suggested fix:
ndb_mgmd should handle the bad configuration w/o producing a core file.
[31 Aug 2005 20:18] 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/internals/29134
[31 Aug 2005 20:19] Tomas Ulin
fixed in 4.1.15 and 5.0.12
[1 Sep 2005 0:28] Paul Dubois
Noted in 4.1.15, 5.0.12 changelogs.