BIND 10 #714: cfgmgr crash on auth configuration failure

BIND 10 Development do-not-reply at isc.org
Wed Jun 29 15:16:56 UTC 2011


#714: cfgmgr crash on auth configuration failure
-------------------------------------+-------------------------------------
                   Reporter:  jreed  |                 Owner:  UnAssigned
                       Type:         |                Status:  assigned
  defect                             |             Milestone:
                   Priority:  major  |  Sprint-20110712
                  Component:         |            Resolution:
  configuration                      |             Sensitive:  0
                   Keywords:         |           Sub-Project:  DNS
            Defect Severity:  N/A    |  Estimated Difficulty:  0.0
Feature Depending on Ticket:         |           Total Hours:  0
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by jreed):

 * owner:  jreed => UnAssigned


Comment:

 I reproduced this:

 (log output and bindctl output mixed here)

 {{{

 macmini:bind10 jreed$ ~/opt/bind10/bin/bindctl
 ["login success "] login as root
 > config set Auth/datasources/ [{"type": "memory", "zones":[{"file":
 "/Local/Users/jreed/root.zone", "origin":"."}]}]
 > 2011-06-29 08:09:01.240 DEBUG [b10-auth.cc] CC_GROUP_SEND sending
 message '{ "command": [ "set", { "stats_data": { "auth.queries.tcp": 0,
 "auth.queries.udp": 0 } } ] }' to group 'Stats'
 2011-06-29 08:09:01.241 DEBUG [b10-auth.cc] CC_GROUP_RECEIVE trying to
 receive a message
 2011-06-29 08:09:01.242 DEBUG [b10-auth.cc] CC_GROUP_RECEIVED message
 arrived ('
 { "from": "4e0b3fd1_7 at macmini.lab.isc.org", "group": "Stats", "instance":
 "*", "reply": 0, "seq": 6, "to": "4e0b3fd1_6 at macmini.lab.isc.org", "type":
 "send" }', '{ "result": [ 0 ] }')

 > config commit
 2011-06-29 08:09:05.998 DEBUG [b10-auth.cc] CC_GROUP_RECEIVE trying to
 receive a message
 2011-06-29 08:09:05.999 DEBUG [b10-auth.cc] CC_GROUP_RECEIVED message
 arrived ('{ "from": "4e0b3fd0_2 at macmini.lab.isc.org", "group": "Auth",
 "instance": "*", "seq": 35, "to": "*", "type": "send" }', '{ "command": [
 "config_update", { "datasources": [ { "type": "memory", "zones": [ {
 "file": "/Local/Users/jreed/root.zone", "origin": "." } ] } ],
 "listen_on": [ { "address": "0.0.0.0", "port": 5300 } ] } ] }')
 2011-06-29 08:09:05.999 DEBUG [b10-auth.datasrc] DATASRC_MEM_CREATE
 creating zone '.' in 'IN' class
 2011-06-29 08:09:05.999 DEBUG [b10-auth.datasrc] DATASRC_MEM_ADD_ZONE
 adding zone './IN'
 2011-06-29 08:09:05.999 DEBUG [b10-auth.datasrc] DATASRC_MEM_LOAD loading
 zone '.' from file '/Local/Users/jreed/root.zone'
 2011-06-29 08:09:05.999 DEBUG [b10-auth.datasrc] DATASRC_MEM_ADD_RRSET
 adding RRset './SOA' into zone '.'
 2011-06-29 08:09:05.999 DEBUG [b10-auth.datasrc] DATASRC_MEM_ADD_RRSET
 adding RRset './RRSIG' into zone '.'
 2011-06-29 08:09:06.000 DEBUG [b10-auth.datasrc] DATASRC_MEM_ADD_RRSET
 adding RR

 set './NSEC' into zone '.'
 2011-06-29 08:09:06.000 DEBUG [b10-auth.datasrc] DATASRC_MEM_ADD_RRSET
 adding RRset './RRSIG' into zone '.'
 2011-06-29 08:09:06.000 ERROR [b10-auth.datasrc] DATASRC_MEM_DUP_RRSET
 duplicate RRset './RRSIG'
 2011-06-29 08:09:06.000 DEBUG [b10-auth.datasrc] DATASRC_MEM_DESTROY
 destroying zone '.' in 'IN' class
 2011-06-29 08:09:06.000 ERROR [b10-auth.auth] AUTH_CONFIG_UPDATE_FAIL
 update of configuration failed: Server configuration failed: Duplicate
 rrset: . 172800 IN RRSIG DNSKEY 8 0 172800 20110705235959 20110620000000
 19036 .
 AMe/ymdy0FNabVZ31QGW3C/mItogMx3gDTnaA+yCuVEPHcIdI9++c+gjYhqMv1z9nTOGHlQ4Z5w9SzjXW9eYBwshpGfAFj4pDnHIhLGsscLQ9NQAE7DdcJivK+XXLKrqlf/RpJt2FPfR3tpKa8W4TDKuEC/atlz7+c1C5nUbgUF15v93vpwy69TdKCbih/IN64H5oE7ez8DW/h/fI8sXIGqpKSHfiq8wJgjDMWR2fGy2oIu1BlqGI7tdX0/gUPy67RV7EJ5IxG4j9Paz++EUmxRLLvES5cR5E5TeGF6sWoJhDrZ2gSORl2F1QigYlwh49zGGpDP1DCB2MaDM3LkHkA==



 2011-06-29 08:09:06.000 DEBUG [b10-auth.cc] CC_REPLY replying to message
 from '{ "from": "4e0b3fd0_2 at macmini.lab.isc.org", "group": "Auth",
 "instance": "*", "seq": 35, "to": "*", "type": "send" }' with '{ "result":
 [ 1, "Server configuration failed: Duplicate rrset: . 172800 IN RRSIG
 DNSKEY 8 0 172800 20110705235959 20110620000000 19036 .
 AMe/ymdy0FNabVZ31QGW3C/mItogMx3gDTnaA+yCuVEPHcIdI9++c+gjYhqMv1z9nTOGHlQ4Z5w9SzjXW9eYBwshpGfAFj4pDnHIhLGsscLQ9NQAE7DdcJivK+XXLKrqlf/RpJt2FPfR3tpKa8W4TDKuEC/atlz7+c1C5nUbgUF15v93vpwy69TdKCbih/IN64H5oE7ez8DW/h/fI8sXIGqpKSHfiq8wJgjDMWR2fGy2oIu1BlqGI7tdX0/gUPy67RV7EJ5IxG4j9Paz++EUmxRLLvES5cR5E5TeGF6sWoJhDrZ2gSORl2F1QigYlwh49zGGpDP1DCB2MaDM3LkHkA==
 " ] }'
 2011-06-29 08:09:06.000 DEBUG [b10-auth.cc] CC_START_READ starting
 asynchronous read
 Traceback (most recent call last):
   File "/Local/Users/jreed/opt/bind10/libexec/bind10-devel/b10-cfgmgr",
 line 107, in <module>
     sys.exit(main())
   File "/Local/Users/jreed/opt/bind10/libexec/bind10-devel/b10-cfgmgr",
 line 95, in main
     cm.run()
   File "/Local/Users/jreed/opt/bind10/lib/python3.1/site-
 packages/isc/config/cfgmgr.py", line 491, in run
     answer = self.handle_msg(msg);
   File "/Local/Users/jreed/opt/bind10/lib/python3.1/site-
 packages/isc/config/cfg
 mgr.py", line 462, in handle_msg
     answer = self._handle_set_config(arg)
   File "/Local/Users/jreed/opt/bind10/lib/python3.1/site-
 packages/isc/config/cfgmgr.py", line 427, in _handle_set_config
     answer = self._handle_set_config_all(cmd[0])
   File "/Local/Users/jreed/opt/bind10/lib/python3.1/site-
 packages/isc/config/cfgmgr.py", line 399, in _handle_set_config_all
     answer = self._handle_set_config_module(module, cmd[module])
   File "/Local/Users/jreed/opt/bind10/lib/python3.1/site-
 packages/isc/config/cfgmgr.py", line 380, in _handle_set_config_module
     answer, env = self.cc.group_recvmsg(False, seq)
   File "/Local/Users/jreed/opt/bind10/lib/python3.1/site-
 packages/isc/cc/session.py", line 247, in group_recvmsg
     env, msg  = self.recvmsg(nonblock, seq)
   File "/Local/Users/jreed/opt/bind10/lib/python3.1/site-
 packages/isc/cc/session.py", line 114, in recvmsg
     msg = isc.cc.message.from_wire(data[header_length + 2:])
   File "/Local/Users/jreed/opt/bind10/lib/python3.1/site-
 packages/isc/cc/message.py", line 38, in from_wire
     return json.loads(data.decode('utf8'))
   File "/Local/Users/jreed/opt/pkg/lib/python3.1/json/__init__.py", line
 305, in loads
     return _default_decoder.decode(s)
   File "/Local/Users/jreed/opt/pkg/lib/python3.1/json/decoder.py", line
 339, in
 decode
     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
   File "/Local/Users/jreed/opt/pkg/lib/python3.1/json/decoder.py", line
 355, in raw_decode
     obj, end = self.scan_once(s, idx)
 ValueError: Invalid control character at: line 1 column 482 (char 482)
 [b10-msgq] Closing socket fd 5
 [b10-msgq] Receive error: EOF
 [bind10] Process b10-cfgmgr (PID 46431) terminated, exit status = 256
 [bind10] Resurrecting dead b10-cfgmgr process...
 [bind10] Resurrected b10-cfgmgr (PID 46455)

 }}}


 Duplicate RRSET caused crash?

 I ran named-checkzone (bind 9.8) and it complained of many missing and
 extra glue records. I will retry with the canonical output. (But
 regardless, cfgmgr should not crash.)

-- 
Ticket URL: <http://bind10.isc.org/ticket/714#comment:6>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list