Bug #12043 Wrong value in config.ini cause core files.
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.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.045 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
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.