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