Bug 952628

Summary: problems stopping firewalld on Fedora-19
Product: [Fedora] Fedora Reporter: Jiri Popelka <jpopelka>
Component: firewalldAssignee: Thomas Woerner <twoerner>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 19CC: jpopelka, nphilipp, twoerner
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: firewalld-0.3.2-1.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-22 03:16:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jiri Popelka 2013-04-16 10:38:09 UTC
Version:
firewalld-0.3.1-1.fc19 and/or firewalld-0.2.12-4.fc19

Steps:
# systemctl stop firewalld
 (takes 90s to get back the prompt)
# systemctl status firewalld
 Stopping firewalld - dynamic firewall daemon...
 firewalld.service stopping timed out. Killing.
 firewalld.service: main process exited, code=killed, status=9/KILL
 Stopped firewalld - dynamic firewall daemon.
 Unit firewalld.service entered failed state
# tail /var/log/firewalld
 (nothing important)

# firewalld --nofork --debug
# Ctrl+c
...
DEBUG1: stop()
Exception AttributeError: "'NoneType' object has no attribute 'source_remove'" in <bound method MainLoop.__del__ of <GMainLoop at 0x1c19530>> ignored

Comment 1 Jiri Popelka 2013-04-16 10:56:40 UTC
The smallest snippet of code that throws that exception is:

from gi.repository import GObject
import slip.dbus
from firewall.server.firewalld import FirewallD

mainloop = GObject.MainLoop()
slip.dbus.service.set_mainloop(mainloop)
mainloop.run()

There's no exception if I remove the 'import FirewallD' so it might be something in firewalld, but I haven't got any further.

Comment 2 Thomas Woerner 2013-04-29 14:52:33 UTC
Here is a small reproducer. It is not related to firewalld

from gi.repository import GObject
import slip.dbus
from decorator import decorator

@decorator
def dbus_handle_exceptions(func, *args, **kwargs):
    try:
        return func(*args, **kwargs)
    except Exception as e:
        pass

class Foo():
    @dbus_handle_exceptions
    def Bar(self, name):
        pass

mainloop = GObject.MainLoop()
slip.dbus.service.set_mainloop(mainloop)
mainloop.run()

Comment 3 Thomas Woerner 2013-04-29 15:22:21 UTC
Reassigning to python-slip.

Comment 4 Thomas Woerner 2013-04-29 17:42:43 UTC
Reassigning back to firewalld.

Fixed upstream with

https://git.fedorahosted.org/cgit/firewalld.git/commit/?id=2e1f31657c48731e936fcec547dd5c7da74046a1

Comment 5 Thomas Woerner 2013-04-29 17:44:10 UTC
The error message 

Exception AttributeError: "'NoneType' object has no attribute 'source_remove'" in <bound method MainLoop.__del__ of <GMainLoop at 0x1001aea7a60>> ignored

is not related.

Comment 6 Fedora Update System 2013-04-30 17:31:20 UTC
firewalld-0.3.2-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/firewalld-0.3.2-1.fc19

Comment 7 Fedora Update System 2013-04-30 19:59:48 UTC
Package firewalld-0.3.2-1.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.2-1.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-7044/firewalld-0.3.2-1.fc19
then log in and leave karma (feedback).

Comment 8 Fedora Update System 2013-05-22 03:16:59 UTC
firewalld-0.3.2-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.