BIND 10 #1195: bindctl crash on multiple add
BIND 10 Development
do-not-reply at isc.org
Wed Aug 24 21:26:26 UTC 2011
#1195: bindctl crash on multiple add
---------------------------------+-----------------------------------------
Reporter: jreed | Owner:
Type: defect | Status: new
Priority: minor | Milestone: New Tasks
Component: bind-ctl | Keywords:
Sensitive: 0 | Defect Severity: Medium
Sub-Project: Core | Feature Depending on Ticket:
Estimated Difficulty: 0 | Add Hours to Ticket: 0
Total Hours: 0 | Internal?: 0
---------------------------------+-----------------------------------------
I already had 0 and 1. I wanted to add back the lookpack IPs. The first
one added looked good. So I added next so I can change to 127.0.0.1 but I
never got that chance.
{{{
> config add Resolver/listen_on
> config show Resolver/listen_on
Resolver/listen_on[0]/address "2001:4f8:3:d::95" string (modified)
Resolver/listen_on[0]/port 53 integer (modified)
Resolver/listen_on[1]/address "149.20.48.80" string (modified)
Resolver/listen_on[1]/port 53 integer (modified)
Resolver/listen_on[2]/address "::1" string (default)
Resolver/listen_on[2]/port 53 integer (default)
> config add Resolver/listen_on
Traceback (most recent call last):
File "/usr/local/lib/python3.1/cmd.py", line 213, in onecmd
func = getattr(self, 'do_' + cmd)
AttributeError: 'BindCmdInterpreter' object has no attribute 'do_config'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/jreed/opt/bind10/bin/bindctl", line 149, in <module>
tool.run()
File "/home/jreed/opt/bind10/lib/python3.1/site-
packages/bindctl/bindcmd.py", line 128, in run
self.cmdloop()
File "/usr/local/lib/python3.1/cmd.py", line 139, in cmdloop
stop = self.onecmd(line)
File "/home/jreed/opt/bind10/lib/python3.1/site-
packages/bindctl/bindcmd.py", line 452, in onecmd
Cmd.onecmd(self, line)
File "/usr/local/lib/python3.1/cmd.py", line 215, in onecmd
return self.default(line)
File "/home/jreed/opt/bind10/lib/python3.1/site-
packages/bindctl/bindcmd.py", line 418, in default
self._parse_cmd(line)
File "/home/jreed/opt/bind10/lib/python3.1/site-
packages/bindctl/bindcmd.py", line 556, in _parse_cmd
self._handle_cmd(cmd)
File "/home/jreed/opt/bind10/lib/python3.1/site-
packages/bindctl/bindcmd.py", line 396, in _handle_cmd
self.apply_config_cmd(cmd)
File "/home/jreed/opt/bind10/lib/python3.1/site-
packages/bindctl/bindcmd.py", line 664, in apply_config_cmd
cmd.params.get('value_for_set'))
File "/home/jreed/opt/bind10/lib/python3.1/site-
packages/isc/config/ccsession.py", line 495, in add_value
self._add_value_to_list(identifier, value, module_spec)
File "/home/jreed/opt/bind10/lib/python3.1/site-
packages/isc/config/ccsession.py", line 448, in _add_value_to_list
+ identifier)
TypeError: unsupported operand type(s) for +: 'dict' and 'str'
(wd now: ~)
}}}
Also wrong above, it shows "(modified)" for settings that I configured
previously (and are in use).
{{{
> config diff
{'Resolver': {'listen_on': [{'port': 53, 'address': '2001:4f8:3:d::95'},
{'port': 53, 'address': '149.20.48.80'}, {}]}}
}}}
That is certainly wrong. This is not a difference! These are already used.
Maybe this should be a new ticket, but I thought it may be related.
While here let me complain:
{{{
> config commit
Error: Address must contain both the IPaddress and port
Configuration not committed
}}}
As you see above it already has address and port (:: and 53) that I want.
{{{
> config set Resolver/listen_on[2]/address ::1
> config set Resolver/listen_on[2]/port 53
> config commit
> config add Resolver/listen_on
> config set Resolver/listen_on[3]/address 127.0.0.1
> config set Resolver/listen_on[3]/port 53
> config diff
{'Resolver': {'listen_on': [{'port': 53, 'address': '2001:4f8:3:d::95'},
{'port': 53, 'address': '149.20.48.80'}, {'port': 53, 'address': '::1'},
{'port': 53, 'address': '127.0.0.1'}]}}
> config commit
}}}
sockstat shows me:
{{{
root b10-resolv 13870 7 tcp6 2001:4f8:3:d::95:53 *:*
root b10-resolv 13870 8 udp6 2001:4f8:3:d::95:53 *:*
root b10-resolv 13870 9 tcp4 149.20.48.80:53 *:*
root b10-resolv 13870 10 udp4 149.20.48.80:53 *:*
root b10-resolv 13870 11 tcp6 ::1:53 *:*
root b10-resolv 13870 12 udp6 ::1:53 *:*
root b10-resolv 13870 13 tcp4 127.0.0.1:53 *:*
root b10-resolv 13870 14 udp4 127.0.0.1:53 *:*
}}}
so now good.
As for the bindctl crash, also see #1076 and #986
--
Ticket URL: <http://bind10.isc.org/ticket/1195>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list