[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] ruby-libvirt issue



On 29.07.2010 20:32, Chris Lalancette wrote:
Ah, OK. So then the question becomes whether the problem is in the ruby
bindings not releasing the object in certain circumstances, or in rails
holding onto the object too long.  Unfortunately I'm not really that familiar
with rails or passenger, so I'm not entirely sure how to figure out where the
problem is.

I'll see if I can do a bit of testing and look at object lifetimes from the
point-of-view of ruby-libvirt to try and eliminate that from the equation.

following testcase confirms that problem is in bindings itself:
ree-1.8.7-2010.02 > require 'libvirt'
 => true
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c libvirt-sock`
0
 => nil
ree-1.8.7-2010.02 > c = Libvirt::open 'qemu:///system'
 => #<Libvirt::Connect:0x265b718>
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c libvirt-sock`
1
 => nil
ree-1.8.7-2010.02 > d = c.lookup_domain_by_name 'abc'
 => #<Libvirt::Domain:0x2705128>
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c libvirt-sock`
1
 => nil
ree-1.8.7-2010.02 > c.close
 => nil
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c libvirt-sock`
1
 => nil
ree-1.8.7-2010.02 > c.closed?
 => true
ree-1.8.7-2010.02 > d.connection.closed?
 => true
ree-1.8.7-2010.02 > d.create
ArgumentError: Connection has been closed
    from (irb):28:in `create'
    from (irb):28
    from :0
ree-1.8.7-2010.02 > d=nil
 => nil
ree-1.8.7-2010.02 > c=nil
 => nil
ree-1.8.7-2010.02 > GC.start
 => nil
ree-1.8.7-2010.02 > puts `netstat -na|grep -v LISTENING |grep -c libvirt-sock`
1
 => nil

Tested with MRI 1.8.7-p302 and ree-1.8.7-2010.02.

My question is how to close connection to libvirtd?

regards,
--
Pawel


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]