Bug 951741

Summary: [abrt] system-config-printer-1.4.0-2.fc20: connection.py:651:call_blocking:DBusException: org.freedesktop.DBus.Python.dbus.exceptions.DBusException: must be unicode, not str
Product: [Fedora] Fedora Reporter: Neil <neilsbb>
Component: firewalldAssignee: Thomas Woerner <twoerner>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 19CC: dan, jpopelka, kraman, ortizsantini, twaugh, twoerner
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:ab69968e945e186ccc0d7b27f9b4271dca63f936
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-04-23 03:36:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: core_backtrace
none
File: dso_list
none
File: environ none

Description Neil 2013-04-12 23:46:08 UTC
Description of problem:
Attempted to use system-config-printers and when it asked to allow ipp traffic through the firewall I selected allow. This error occured just  after that.

Version-Release number of selected component:
system-config-printer-1.4.0-2.fc20

Additional info:
cmdline:        /usr/bin/python /usr/share/system-config-printer/system-config-printer.py
executable:     /usr/share/system-config-printer/system-config-printer.py
kernel:         3.9.0-0.rc6.git2.2.fc20.x86_64
runlevel:       N 5
uid:            1000
ureports_counter: 1

Truncated backtrace:
connection.py:651:call_blocking:DBusException: org.freedesktop.DBus.Python.dbus.exceptions.DBusException: must be unicode, not str

Traceback (most recent call last):
  File "/usr/share/system-config-printer/newprinter.py", line 1978, in adjust_firewall_response
    self.firewall.write ()
  File "/usr/share/system-config-printer/firewallsettings.py", line 114, in write
    self._zone.update (self._fw_data)
  File "<string>", line 2, in update
  File "/usr/lib/python2.7/site-packages/slip/dbus/polkit.py", line 103, in _enable_proxy
    return func(*p, **k)
  File "<string>", line 2, in update
  File "/usr/lib/python2.7/site-packages/firewall/client.py", line 46, in handle_exceptions
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/firewall/client.py", line 235, in update
    self.fw_zone.update(tuple(settings.settings))
  File "/usr/lib/python2.7/site-packages/slip/dbus/proxies.py", line 50, in __call__
    return dbus.proxies._ProxyMethod.__call__(self, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/dbus/proxies.py", line 145, in __call__
    **keywords)
  File "/usr/lib/python2.7/site-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
DBusException: org.freedesktop.DBus.Python.dbus.exceptions.DBusException: must be unicode, not str

Local variables in innermost frame:
byte_arrays: False
self: <dbus._dbus.SystemBus (system) at 0x1c78710>
args: (('', 'Public', 'For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.', False, '{chain}_ZONE_{zone}', ['ssh', 'mdns', 'dhcpv6-client', 'ipp-client', 'ipp'], [], [], False, []),)
object_path: '/org/fedoraproject/FirewallD1/config/zone/6'
signature: u'(sssbsasa(ss)asba(ssss))'
bus_name: dbus.UTF8String(':1.6')
get_args_opts: {'byte_arrays': False, 'utf8_strings': False}
timeout: 2147483.647
kwargs: {}
dbus_interface: 'org.fedoraproject.FirewallD1.config.zone'
message: <dbus.lowlevel.MethodCallMessage path: /org/fedoraproject/FirewallD1/config/zone/6, iface: org.fedoraproject.FirewallD1.config.zone, member: update dest: :1.6>
method: 'update'

Comment 1 Neil 2013-04-12 23:46:10 UTC
Created attachment 735046 [details]
File: backtrace

Comment 2 Neil 2013-04-12 23:46:12 UTC
Created attachment 735047 [details]
File: core_backtrace

Comment 3 Neil 2013-04-12 23:46:13 UTC
Created attachment 735048 [details]
File: dso_list

Comment 4 Neil 2013-04-12 23:46:15 UTC
Created attachment 735049 [details]
File: environ

Comment 5 Jiri Popelka 2013-04-15 07:00:21 UTC
*** Bug 951844 has been marked as a duplicate of this bug. ***

Comment 6 Jiri Popelka 2013-04-15 08:04:24 UTC
This is most likely a problem in FirewallD's FirewallClient class, but I can't see where and I'm not able to reproduce it here.

I already fixed one such problem (bug #951314, comment #5)
but this seems to be something different.

Comment 7 Krishna Raman 2013-04-17 03:55:38 UTC
Managed to reproduce this with frewalld-cmd

[root@broker ~]# /usr/bin/firewall-cmd --permanent --zone=public --add-service=ssh 
Error: org.freedesktop.DBus.Python.dbus.exceptions.DBusException: must be unicode, not str

Not sure how to generate a stack trace for this. Please send instructions if you need it.

Comment 8 Jiri Popelka 2013-04-17 07:35:38 UTC
Yes, this problem prevents any 'permanent' changes done over D-Bus, i.e. via 'firewall-cmd --permanent', firewall-config or system-config-printer.

I've fixed this upstream
https://git.fedorahosted.org/cgit/firewalld.git/commit/?id=f09291223948751edf3d516b0d31cf3febc50b6d
and will back-port the change to Fedora or make a new firewalld release (as this is a severe problem).

Comment 9 Jiri Popelka 2013-04-17 08:15:51 UTC
(In reply to comment #8)
> https://git.fedorahosted.org/cgit/firewalld.git/commit/
> ?id=f09291223948751edf3d516b0d31cf3febc50b6d

Whoops, pushed prematurely, this one is better
https://git.fedorahosted.org/cgit/firewalld.git/commit/?id=fb2576f79e3b8cec62116ee27052c1c92906f6da

Comment 10 Fedora Update System 2013-04-17 08:26:41 UTC
firewalld-0.3.1-2.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/firewalld-0.3.1-2.fc19

Comment 11 Fedora Update System 2013-04-17 16:26:08 UTC
Package firewalld-0.3.1-2.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing firewalld-0.3.1-2.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-5888/firewalld-0.3.1-2.fc19
then log in and leave karma (feedback).

Comment 12 Fedora Update System 2013-04-23 03:36:13 UTC
firewalld-0.3.1-2.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.