BIND 10 #2249: order of shutdowns should not allow msgq or cfgmgr to exit before other components
BIND 10 Development
do-not-reply at isc.org
Mon Sep 10 15:49:57 UTC 2012
#2249: order of shutdowns should not allow msgq or cfgmgr to exit before other
components
-------------------------------------+-------------------------------------
Reporter: jreed | Owner:
Type: defect | Status: new
Priority: medium | Milestone: New
Component: Boss of BIND | Tasks
Sensitive: 0 | Keywords:
Sub-Project: Core | Defect Severity: N/A
Estimated Difficulty: 0 | Feature Depending on Ticket:
Total Hours: 0 | Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
See https://lists.isc.org/pipermail/bind10-dev/2012-September/003793.html
The order of the logging and timestamps may be misleading, but it seemed
to show that the cfgmgr shutdown cleanly and msgq received a SIGTERM
before b10-xfrin tried to use them.
{{{
2012-09-03 16:03:18.877 INFO [b10-boss.boss] BIND10_STOP_PROCESS asking
cfgmgr to shut down
...
2012-09-03 16:03:18.877 INFO [b10-boss.boss] BIND10_STOP_PROCESS asking
b10-xfrin to shut down
...
2012-09-03 16:03:19.878 INFO [b10-boss.boss] BIND10_PROCESS_ENDED
process 1953 of cfgmgr ended with status 0
2012-09-03 16:03:19.879 INFO [b10-boss.boss] BIND10_PROCESS_ENDED
process 1957 of b10-auth-1 ended with status 256
2012-09-03 16:03:19.879 INFO [b10-boss.boss] BIND10_PROCESS_ENDED
process 1959 of b10-stats ended with status 0
2012-09-03 16:03:19.879 INFO [b10-boss.boss] BIND10_SEND_SIGTERM
sending SIGTERM to msgq (PID 1952)
2012-09-03 16:03:19.879 INFO [b10-boss.boss] BIND10_SEND_SIGTERM
sending SIGTERM to b10-xfrin (PID 1954)
2012-09-03 16:03:19.879 INFO [b10-boss.boss] BIND10_SEND_SIGTERM
sending SIGTERM to b10-zonemgr (PID 1955)
2012-09-03 16:03:19.879 INFO [b10-boss.boss] BIND10_SEND_SIGTERM
sending SIGTERM to b10-cmdctl (PID 1958)
...
2012-09-03 16:03:19.884 ERROR [b10-xfrin.config]
CONFIG_SESSION_STOPPING_FAILED error
sending stopping message: [Errno 32] Broken pipe
2012-09-03 16:03:19.887 ERROR [b10-zonemgr.config]
CONFIG_SESSION_STOPPING_FAILED
error sending stopping message: [Errno 32] Broken pipe
}}}
Then zonemgr crashes (as seen at
https://lists.isc.org/pipermail/bind10-users/2012-September/000391.html):
{{{
Traceback (most recent call last):
File "/opt/bind10/libexec/bind10-devel/b10-zonemgr", line 699, in
<module>
zonemgrd = Zonemgr()
File "/opt/bind10/libexec/bind10-devel/b10-zonemgr", line 523, in
__init__
self._setup_session()
File "/opt/bind10/libexec/bind10-devel/b10-zonemgr", line 542, in
_setup_session
self._module_cc.add_remote_config(AUTH_SPECFILE_LOCATION)
File
"/opt/bind10/lib/python3.3/site-packages/isc/config/ccsession.py", line
419, in add_remote_config
self._add_remote_config_internal(module_spec, config_update_callback)
File
"/opt/bind10/lib/python3.3/site-packages/isc/config/ccsession.py", line
343, in _add_remote_config_internal
answer, _ = self._session.group_recvmsg(False, seq)
File "/opt/bind10/lib/python3.3/site-packages/isc/cc/session.py",
line 275, in group_recvmsg
env, msg = self.recvmsg(nonblock, seq)
File "/opt/bind10/lib/python3.3/site-packages/isc/cc/session.py",
line 130, in recvmsg
data = self._receive_full_buffer(nonblock)
File "/opt/bind10/lib/python3.3/site-packages/isc/cc/session.py",
line 239, in _receive_full_buffer
raise se
File "/opt/bind10/lib/python3.3/site-packages/isc/cc/session.py",
line 212, in _receive_full_buffer
self._receive_len_data()
File "/opt/bind10/lib/python3.3/site-packages/isc/cc/session.py",
line 172, in _receive_len_data
new_data = self._receive_bytes(self._recv_len_size)
File "/opt/bind10/lib/python3.3/site-packages/isc/cc/session.py",
line 158, in _receive_bytes
data = self._socket.recv(size)
ConnectionResetError: [Errno 104] Connection reset by peer
Exception BrokenPipeError: BrokenPipeError(32, 'Broken pipe') in <bound
method ModuleCCSession.__del__ of <isc.config.ccsession.ModuleCCSession
object at 0x7f4106438390>> ignored
}}}
From the logging above it appears that stopping the msqg and cfgmgr didn't
get postponed.
Also see ticket #2245 which has similar example.
--
Ticket URL: <http://bind10.isc.org/ticket/2249>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list