BIND 10 #3114: Too large number crashes BIND 10 and stops it from being restarted
BIND 10 Development
do-not-reply at isc.org
Thu Aug 22 15:31:54 UTC 2013
#3114: Too large number crashes BIND 10 and stops it from being restarted
----------------------------------+---------------------------------------
Reporter: cas | Type: defect
Status: new | Priority: high
Milestone: New Tasks | Component: cmd-ctl
Keywords: | CVSS Scoring:
Sensitive: 0 | Defect Severity: N/A
Sub-Project: Core | Feature Depending on Ticket:
Estimated Difficulty: 0 | Add Hours to Ticket: 0
Total Hours: 0 | Internal?: 0
----------------------------------+---------------------------------------
A too large number in the configuration crashes BIND 10 1.1.0,
takes down the whole system
As the configuration is already committed to the config database, BIND 10
refuses to start until the large number is removed from the
/usr/local/var/bind10/b10-config.db by manually editing.
As this can be done by mistake (it happen by mistake in our BIND 10 class
today), this is a bug. cmd-ctl should be able to catch this and report a
sensible error message without committing the value into the
configuration.
> config set Logging/loggers[5]/output_options[0]/maxsize
55555555555555555555
> config commit
Traceback (most recent call last):
File "/usr/local/libexec/bind10/b10-cfgmgr", line 131, in <module>
sys.exit(main())
File "/usr/local/libexec/bind10/b10-cfgmgr", line 119, in main
cm.run()
File "/usr/local/lib/python3.3/site-packages/isc/config/cfgmgr.py", line
608, in run
answer = self.handle_msg(msg);
File "/usr/local/lib/python3.3/site-packages/isc/config/cfgmgr.py", line
577, in handle_msg
answer = self.__handle_set_config(arg)
File "/usr/local/lib/python3.3/site-packages/isc/config/cfgmgr.py", line
519, in __handle_set_config
answer = self.__handle_set_config_all(cmd[0])
File "/usr/local/lib/python3.3/site-packages/isc/config/cfgmgr.py", line
502, in __handle_set_config_all
self.check_logging_config(cmd);
File "/usr/local/lib/python3.3/site-packages/isc/config/cfgmgr.py", line
272, in check_logging_config
self.log_config_data)
File "/usr/local/lib/python3.3/site-packages/isc/config/ccsession.py",
line 161, in default_logconfig_handler
json.dumps(config_data.get_module_spec().get_full_spec()))
TypeError: JSON format error: Number overflow: 55555555555555555555
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 38754)
Traceback (most recent call last):
File "/usr/local/lib/python3.3/socketserver.py", line 610, in
process_request_thread
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/local/lib/python3.3/threading.py", line 639, in
_bootstrap_inner
self.run()
File "/usr/local/lib/python3.3/threading.py", line 596, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/libexec/bind10/b10-cmdctl", line 391, in
_handle_msg_from_msgq
self._module_cc.check_command(False)
File "/usr/local/lib/python3.3/site-packages/isc/config/ccsession.py",
line 287, in check_command
msg, env = self._session.group_recvmsg(nonblock)
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
306, in group_recvmsg
env, msg = self.recvmsg(nonblock, seq)
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
139, in recvmsg
data = self._receive_full_buffer(nonblock)
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
223, in _receive_full_buffer
self._receive_len_data()
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
183, in _receive_len_data
new_data = self._receive_bytes(self._recv_len_size)
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
171, in _receive_bytes
raise ProtocolError("Read of 0 bytes: connection closed")
isc.cc.session.ProtocolError: Read of 0 bytes: connection closed
self.finish_request(request, client_address)
File "/usr/local/lib/python3.3/socketserver.py", line 345, in
finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/libexec/bind10/b10-cmdctl", line 103, in __init__
client_address, server)
File "/usr/local/lib/python3.3/socketserver.py", line 666, in __init__
self.handle()
File "/usr/local/lib/python3.3/http/server.py", line 400, in handle
self.handle_one_request()
File "/usr/local/lib/python3.3/http/server.py", line 388, in
handle_one_request
method()
File "/usr/local/libexec/bind10/b10-cmdctl", line 164, in do_POST
rcode, reply = self._handle_post_request()
File "/usr/local/libexec/bind10/b10-cmdctl", line 230, in
_handle_post_request
rcode, reply = self.server.send_command_to_module(mod, cmd, param)
File "/usr/local/libexec/bind10/b10-cmdctl", line 632, in
send_command_to_module
return self.cmdctl.send_command_with_check(module_name, command_name,
params)
File "/usr/local/libexec/bind10/b10-cmdctl", line 435, in
send_command_with_check
return self.send_command(module_name, command_name, params)
File "/usr/local/libexec/bind10/b10-cmdctl", line 473, in send_command
answer, env = self._cc.group_recvmsg(False, seq)
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
306, in group_recvmsg
env, msg = self.recvmsg(nonblock, seq)
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
139, in recvmsg
data = self._receive_full_buffer(nonblock)
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
223, in _receive_full_buffer
self._receive_len_data()
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
183, in _receive_len_data
new_data = self._receive_bytes(self._recv_len_size)
File "/usr/local/lib/python3.3/site-packages/isc/cc/session.py", line
171, in _receive_bytes
raise ProtocolError("Read of 0 bytes: connection closed")
isc.cc.session.ProtocolError: Read of 0 bytes: connection closed
----------------------------------------
Error: ''
Log-File:
Aug 22 16:15:41 bind10 local0: FATAL [b10-auth.auth] AUTH_SERVER_FAILED
server failed: Number overflow: 55555555555555555555
Aug 22 16:15:41 bind10 local0: INFO [b10-auth.auth] AUTH_SERVER_EXITING
exiting
Aug 22 16:15:41 bind10 local0: INFO [b10-auth.auth]
AUTH_DATASRC_CLIENTS_BUILDER_STOPPED data source builder thread stopped
Aug 22 16:15:41 bind10 local0: INFO [b10-init.init]
BIND10_LOST_SOCKET_CONSUMER consumer 18 of sockets disconnected,
considering all its sockets closed
Aug 22 16:15:41 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 1869 of b10-auth ended with status 256
Aug 22 16:15:41 bind10 local0: ERROR [b10-init.init]
BIND10_COMPONENT_FAILED component b10-auth (pid 1869) failed: process
exited normally with exit status 256
Aug 22 16:15:41 bind10 local0: INFO [b10-init.init]
BIND10_COMPONENT_START component b10-auth is starting
Aug 22 16:15:41 bind10 local0: INFO [b10-init.init]
BIND10_STARTING_PROCESS starting process b10-auth
Aug 22 16:15:41 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 1334 of cfgmgr ended with status 256
Aug 22 16:15:41 bind10 local0: ERROR [b10-init.init]
BIND10_COMPONENT_FAILED component cfgmgr (pid 1334) failed: process exited
normally with exit status 256
Aug 22 16:15:41 bind10 local0: FATAL [b10-init.init]
BIND10_COMPONENT_UNSATISFIED component cfgmgr is required to run and
failed
Aug 22 16:15:41 bind10 local0: INFO [b10-init.init] BIND10_SHUTDOWN
stopping the server
Aug 22 16:15:41 bind10 local0: INFO [b10-init.init]
BIND10_CONFIGURATOR_STOP bind10 component configurator is shutting down
Aug 22 16:15:41 bind10 local0: INFO [b10-init.init] BIND10_COMPONENT_STOP
component b10-xfrout is being stopped
Aug 22 16:15:41 bind10 local0: INFO [b10-init.init] BIND10_STOP_PROCESS
asking b10-xfrout to shut down
Aug 22 16:15:41 bind10 local0: ERROR [b10-init.init]
BIND10_CONFIGURATOR_PLAN_INTERRUPTED configurator plan interrupted, only 0
of 8 done
Aug 22 16:15:42 bind10 local0: INFO [b10-init.init] BIND10_SEND_SIGTERM
sending SIGTERM to Socket creator (PID 1331)
Aug 22 16:15:42 bind10 local0: WARN [b10-init.init]
BIND10_SOCKCREATOR_KILL killing the socket creator
Aug 22 16:15:42 bind10 local0: INFO [b10-init.init] BIND10_SEND_SIGTERM
sending SIGTERM to msgq (PID 1332)
Aug 22 16:15:42 bind10 local0: INFO [b10-init.init] BIND10_SEND_SIGTERM
sending SIGTERM to b10-xfrout (PID 1941)
Aug 22 16:15:42 bind10 local0: INFO [b10-init.init] BIND10_SEND_SIGTERM
sending SIGTERM to b10-cmdctl (PID 1336)
Aug 22 16:15:42 bind10 local0: INFO [b10-init.init] BIND10_SEND_SIGTERM
sending SIGTERM to b10-xfrin (PID 2028)
Aug 22 16:15:42 bind10 local0: INFO [b10-init.init] BIND10_SEND_SIGTERM
sending SIGTERM to b10-auth (PID 2138)
Aug 22 16:15:42 bind10 local0: INFO [b10-init.init] BIND10_SEND_SIGTERM
sending SIGTERM to b10-zonemgr (PID 2027)
Aug 22 16:15:42 bind10 local0: INFO [b10-init.init] BIND10_SEND_SIGTERM
sending SIGTERM to b10-stats (PID 1340)
Aug 22 16:15:43 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 1331 of Socket creator ended with status 9
Aug 22 16:15:43 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 1332 of msgq ended with status 0
Aug 22 16:15:43 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 1336 of b10-cmdctl ended with status 0
Aug 22 16:15:43 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 1340 of b10-stats ended with status 15
Aug 22 16:15:43 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 1941 of b10-xfrout ended with status 0
Aug 22 16:15:43 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 2027 of b10-zonemgr ended with status 0
Aug 22 16:15:43 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 2028 of b10-xfrin ended with status 0
Aug 22 16:15:43 bind10 local0: INFO [b10-init.init] BIND10_PROCESS_ENDED
process 2138 of b10-auth ended with status 15
Aug 22 16:15:43 bind10 local0: INFO [b10-init.init]
BIND10_SHUTDOWN_COMPLETE all processes ended, shutdown complete
--
Ticket URL: <http://bind10.isc.org/ticket/3114>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list