[libvirt] Failed to terminate process 1275 with SIGTERM: Device or resource busy

Kashyap Chamarthy kchamart at redhat.com
Tue Jan 19 14:39:22 UTC 2016


On Tue, Jan 19, 2016 at 01:39:41PM +0000, Richard W.M. Jones wrote:

[...]

> The problem with this theory is we are passing the
> VIR_DOMAIN_DESTROY_GRACEFUL flag, so that would indicate that this
> flag is buggy.
> 
> I think what we need is a test case, so here goes.  Note you must run
> these steps as *non-root*.
> 
> (1) Download the attachment to /var/tmp
> 
> (2) chmod +x /var/tmp/qemu.sh
> 
> (3) killall libvirtd             ;# kills the session libvirtd
> 
> (4) LIBGUESTFS_HV=/var/tmp/qemu.sh guestfish -N fs exit -vx
> 
> You should see at the end of the output:
> 
> libguestfs: calling virDomainDestroy "guestfs-q94hsiz89t8jp418" flags=VIR_DOMAIN_DESTROY_GRACEFUL
> [pause of a few seconds]
> libguestfs: error: could not destroy libvirt domain: Failed to terminate process 11412 with SIGTERM: Device or resource busy [code=38 domain=0]
> 
> If someone else can reproduce this, then I will file a bug.

Yep, I could perfectly reproduce your test case (thanks for constructing
that):

  $ LIBGUESTFS_HV=/var/tmp/qemu.sh guestfish -N fs exit -vx
  [...]
  fsync /dev/sda
  guestfsd: main_loop: proc 282 (internal_autosync) took 0.00 seconds
  libguestfs: trace: internal_autosync = 0
  libguestfs: calling virDomainDestroy "guestfs-liimlnged1e23l0l" flags=VIR_DOMAIN_DESTROY_GRACEFUL
  libguestfs: error: could not destroy libvirt domain: Failed to terminate process 27718 with SIGTERM: Device or resource busy [code=38 domain=0]
  libguestfs: trace: shutdown = -1 (error)
  libguestfs: trace: close
  [...]

Upstream OpenStack Nova employs a similar suggestion (calling the
virDomainDestroy() API about 3 more times) proposed by Dan in this
thread:

    http://git.openstack.org/cgit/openstack/nova/commit/?id=3907867 --
    libvirt: handle code=38 + sigkill (ebusy) in destroy()

-- 
/kashyap




More information about the libvir-list mailing list