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.