Quoting Serge Hallyn (serge.hallyn(a)canonical.com):
Quoting Wen Congyang (wency(a)cn.fujitsu.com):
> At 03/22/2012 06:54 AM, Serge Hallyn Wrote:
> > Hi,
> >
> > I grabbed today's git head of libvirt. Created a VM (clean install of
> > ubuntu oneiric, installed through virt-manager), and cloned it 3 times.
> > Then I did
> >
> > serge@ubuntu:~$ for i in `seq 1 4`; do virsh start o$i > /tmp/o$i
2>&1 & done
> > [1] 12184
> > [2] 12185
> > [3] 12186
> > [4] 12187
> > serge@ubuntu:~$ virsh list
> > error: Failed to list active domains
> > error: End of file while reading data: Input/output error
(Note that most of the time, virsh list actually succeeds, only one of
the virsh start's fails)
> I cannot reproduce this problem on RHEL6.
...
Hmm, today I can't either. With various packages and built binaries. I
wonder if it has to do with the kernel. I'll re-try an install from
scratch.
It's not the kernel. (Well, at least not the oneiric kernel). However
I have to do the 'virsh list' very fast, so it happens while the others
are still starting up. That seems to be the trigger. Without that,
all start up fine. With that, more often than not I get at least one
failure.
I'll try to reproduce with rhel6, but setup will take me some time.
Or maybe I'll first add some debugging info to qemuDomainObjBeginJobInternal()
and qemuProcessStart(). Since virsh always seems to lose the connection
while waiting for handshake from child, it seems a good place to check.
-serge