assertion error during NOVA handling of HUP signal

Bug #1599688 reported by Xuanzhou Perry Dong on 2016-07-07
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Xuanzhou Perry Dong

Bug Description

During handling of HUP signal in nova, the following exception is generated:

2016-07-07 01:36:18.012 DEBUG [-] Starting green dispatch thread from (pid=30178) _init_events /op
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/", line 115, in wait
  File "/usr/local/lib/python2.7/dist-packages/eventlet/", line 214, in main
    result = function(*args, **kwargs)
  File "/opt/stack/nova/nova/", line 1053, in context_wrapper
    return func(*args, **kwargs)
  File "/opt/stack/nova/nova/virt/libvirt/", line 131, in _dispatch_thread
  File "/opt/stack/nova/nova/virt/libvirt/", line 236, in _dispatch_events
    assert _c

Steps to reproduce
1. Start a devstack with latest master branch.

2. Devstack doesn't start the nova-compute with daemon. So kill the nova-compute started by devstack and replace it with "nohup /usr/local/bin/nova-compute --config-file /etc/nova/nova.conf &"

3. Send a HUP signal to nova-compute process.

Expected result
Expect the nova-compute reloads the configuration file and no exception is generated.

Actual result
An exception is generated.

1. Nova version:

vagrant@vagrant-ubuntu-trusty-64:/opt/stack/nova/nova$ git log -1
commit 2d5460d085895a577734547660a8bcfc53b04de2
Merge: 51fdeaf 40ea165
Author: Jenkins <email address hidden>
Date: Wed Jun 22 06:18:23 2016 +0000

    Merge "Publish proxy APIs deprecation in api ref doc"

Logs & Configs
As above.

Changed in nova:
assignee: nobody → Xuanzhou Perry Dong (oss-xzdong)
importance: Undecided → Medium
status: New → Confirmed
status: Confirmed → In Progress

Submitter: Jenkins
Branch: master

commit 3a1ca56487c567ca5cd3d0206707465e0fa01e18
Author: Xuanzhou Perry Dong <>
Date: Fri Jul 8 12:01:31 2016 +0800

    Avoid multiple initializations of Host class class manages nova interaction with
    libvirtd. During processing of HUP signal, object of this class
    could be initialized multiple times. This leads to resource leak
    (pipes and threads) and the following exception:

    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/",
    line 115, in wait
      File "/usr/local/lib/python2.7/dist-packages/eventlet/",
    line 214, in main
        result = function(*args, **kwargs)
      File "/opt/stack/nova/nova/", line 1053, in context_wrapper
        return func(*args, **kwargs)
      File "/opt/stack/nova/nova/virt/libvirt/", line 131, in
      File "/opt/stack/nova/nova/virt/libvirt/", line 236, in

    This commit avoids multiple initializations of the same Host object.
    Thus it fixes the above problems.

    Change-Id: I9cfdbca4986ee6da1e8c42bc0b4477d7d0cb5041
    Closes-bug: #1599688
    Signed-off-by: Xuanzhou Perry Dong <>

Changed in nova:
status: In Progress → Fix Released

This issue was fixed in the openstack/nova development milestone.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers