BIND 10 #2245: msgq stops too early (cache-enable true causes crash at startup)
BIND 10 Development
do-not-reply at isc.org
Thu Sep 6 20:35:04 UTC 2012
#2245: msgq stops too early (cache-enable true causes crash at startup)
-------------------------------------+-------------------------------------
Reporter: jreed | Owner:
Type: defect | Status: new
Priority: medium | Milestone: New
Component: Unclassified | Tasks
Sensitive: 0 | Keywords:
Sub-Project: DNS | Defect Severity: N/A
Estimated Difficulty: 0 | Feature Depending on Ticket:
Total Hours: 0 | Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Setting cache-enable true at run-time doesn't fail. Later (stop and then)
start of bind10 fails.
A similar detailed example was posted to the bind10-users list; see
https://lists.isc.org/pipermail/bind10-users/2012-September/000391.html
My own example failed with:
{{{
2012-09-06 15:22:12.758 FATAL [b10-auth.auth] AUTH_SERVER_FAILED server
failed: Auto-detection of zones to cache is not yet implemented, supply
cache-zones parameter
2012-09-06 15:22:12.758 DEBUG [b10-auth.cc] CC_DISCONNECT disconnecting
from message queue daemon
2012-09-06 15:22:12.758 DEBUG [b10-auth.cc] CC_UNSUBSCRIBE unsubscribing
from communication group data_sources
...
2012-09-06 15:22:13.811 INFO [b10-boss.boss] BIND10_SEND_SIGTERM sending
SIGTERM to msgq (PID 20075)
2012-09-06 15:22:13.812 [b10-msgq] Closing socket fd 9
[b10-msgq] Receive error: EOF
[b10-msgq] Closing socket fd 8
[b10-msgq] Receive error: EOF
[b10-msgq] Closing socket fd 5
[b10-msgq] Receive error: EOF
[b10-msgq] Closing socket fd 7
[b10-msgq] Receive error: EOF
INFO [b10-boss.boss] BIND10_SEND_SIGTERM sending SIGTERM to b10-stats-
httpd (PID 19437)
2012-09-06 15:22:13.822 INFO [b10-boss.boss] BIND10_SEND_SIGTERM sending
SIGTERM to b10-xfrout (PID 20911)
2012-09-06 15:22:13.829 INFO [b10-boss.boss] BIND10_SEND_SIGTERM sending
SIGTERM to b10-cmdctl (PID 7189)
2012-09-06 15:22:13.829 INFO [b10-boss.boss] BIND10_SEND_SIGTERM sending
SIGTERM to b10-stats (PID 28795)
Traceback (most recent call last):
File "/home/reed/opt/bind10/libexec/bind10-devel/b10-xfrout", line 1065,
in <module>
xfrout_server = XfroutServer()
File "/home/reed/opt/bind10/libexec/bind10-devel/b10-xfrout", line 936,
in __init__
self._cc.start()
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/config/ccsession.py", line 212, in start
self.__send_spec()
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/config/ccsession.py", line 442, in __send_spec
seq = self._session.group_sendmsg(msg, "ConfigManager")
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/cc/session.py", line 268, in group_sendmsg
}, isc.cc.message.to_wire(msg))
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/cc/session.py", line 101, in sendmsg
cc = self._socket.send(data)
socket.error: [Errno 32] Broken pipe
Traceback (most recent call last):
File "/home/reed/opt/bind10/libexec/bind10-devel/b10-cmdctl", line 626,
in <module>
run(options.addr, options.port, options.idle_timeout, options.verbose)
File "/home/reed/opt/bind10/libexec/bind10-devel/b10-cmdctl", line 585,
in run
CommandControl, idle_timeout, verbose)
File "/home/reed/opt/bind10/libexec/bind10-devel/b10-cmdctl", line 483,
in __init__
self.cmdctl = CommandControlClass(self, verbose)
File "/home/reed/opt/bind10/libexec/bind10-devel/b10-cmdctl", line 234,
in __init__
self._setup_session()
File "/home/reed/opt/bind10/libexec/bind10-devel/b10-cmdctl", line 250,
in _setup_session
self.command_handler)
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/config/ccsession.py", line 198, in __init__
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/config/ccsession.py", line 419, in add_remote_config
self._add_remote_config_internal(module_spec, config_update_callback)
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/config/ccsession.py", line 343, in
_add_remote_config_internal
answer, _ = self._session.group_recvmsg(False, seq)
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/cc/session.py", line 275, in group_recvmsg
env, msg = self.recvmsg(nonblock, seq)
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/cc/session.py", line 130, in recvmsg
data = self._receive_full_buffer(nonblock)
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/cc/session.py", line 212, in _receive_full_buffer
self._receive_len_data()
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/cc/session.py", line 172, in _receive_len_data
new_data = self._receive_bytes(self._recv_len_size)
File "/home/reed/opt/bind10/lib/python3.1/site-
packages/isc/cc/session.py", line 160, in _receive_bytes
raise ProtocolError("Read of 0 bytes: connection closed")
isc.cc.session.ProtocolError: Read of 0 bytes: connection closed
Exception socket.error: error(32, 'Broken pipe') in <bound method
ModuleCCSession.__del__ of <isc.config.ccsession.ModuleCCSession object at
0x7f7ff53ed110>> ignored
2012-09-06 15:22:13.930 INFO [b10-boss.boss] BIND10_PROCESS_ENDED process
7189 of b10-cmdctl ended with status 256
2012-09-06 15:22:13.931 INFO [b10-boss.boss] BIND10_PROCESS_ENDED process
20911 of b10-xfrout ended with status 256
2012-09-06 15:22:13.931 INFO [b10-boss.boss] BIND10_PROCESS_ENDED process
19437 of b10-stats-httpd ended with status 15
2012-09-06 15:22:13.931 INFO [b10-boss.boss] BIND10_PROCESS_ENDED process
28795 of b10-stats ended with status 15
2012-09-06 15:22:13.931 INFO [b10-boss.boss] BIND10_PROCESS_ENDED process
20075 of msgq ended with status 0
2012-09-06 15:22:13.932 INFO [b10-boss.boss] BIND10_SHUTDOWN_COMPLETE all
processes ended, shutdown complete
}}}
The msgq shutdown before users of it.
The second problem is that the error is fatal, but was no fatal when set
via bindctl.
Third problem is that I can't run bindctl to fix it now.
--
Ticket URL: <http://bind10.isc.org/ticket/2245>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list