[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] XenStore difficulties.
Hello, I am working on forking hvm domains and I have been using xenstore to send commands to qemu. I have noticed that occasionally qemu's watch is not read. I am using the qemu fd handler methods. I have been trying to duplicate the missed read outside of qemu and the rest of xend, but I haven't been able to. However, I think I may have discovered a memory leak in lowlevel/xs/xs.c. I am attaching: - commandee.c : consumer of "commands" - commander.py : issuer of commands - xsblockingchannel.py : com channel for the commander I am working against a changset from midsummer (11536:041be3f6b38e) since I'm trying to iron out some of my bugs before moving forward in the revisions. % gcc -o commandee commandee.c /usr/lib/libxenstore.a -lpthread % sudo ./commandee > /dev/null % time sudo python commander.py > /dev/null #(in separate terminal) Traceback (most recent call last): File "commander.py", line 9, in ? xsbc = xsblockingchannel.xsblockingchannel("test") File "/net/xen/xsstress/xsblockingchannel.py", line 19, in __init__ self.xs.watch(self.path, self) xen.lowlevel.xs.Error: (12, 'Cannot allocate memory') Exception xen.lowlevel.xs.Error: (2, 'No such file or directory') in <bound method xsblockingchannel.__del__ of <xsblockingchannel.xsblockingchannel instance at 0xb7ce448c>> ignored 1.02s user 5.00s system 8% cpu 1:08.61 total Given that I am unwatching the watches in xsblockingchannel I don't think the memory leak would be due to me. As far as the lost watches are concerned, I would speculate that something is wrong with qemu's select/callback handling, or that xenstore is racing and dropping things. If the memory leak has already been fixed, I apologise for the noise. I am moving on to unix domain sockets for now, as I have been running into this problem for a while and I don't currently have the patience to debug it, but I thought I should mention it so that it is on the general radar. Once I finish with the domain sockets I should find out whether it is the qemu select handling. Regards, John McCullough Attachment:
commandee.c Attachment:
commander.py Attachment:
xsblockingchannel.py Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |