On Tue, Aug 16, 2011 at 02:52:07PM -0400, Dave Allan wrote:
On Tue, Aug 16, 2011 at 11:15:04AM -0700, Daniel P. Berrange wrote:
> On Mon, Aug 15, 2011 at 02:19:27PM -0400, Dave Allan wrote:
> > On Mon, Aug 15, 2011 at 10:12:54AM -0700, Daniel P. Berrange wrote:
> > > From: "Daniel P. Berrange" <berrange(a)redhat.com>
> > >
> > > After running 'virsh console' in interactive mode, there was a
> > > missing call to virStreamAbort, which meant the server kept the
> > > stream resources open
> >
> > The combination of this patch and the other stream related patch makes
> > the problem I was seeing of garbled console following multiple console
> > connect/disconnects go away, but another problem remains in this area.
> > After connecting to the console in interactive virsh and
> > disconnecting, I often see all subsequent commands fail:
> >
> > virsh # dominfo foo
> > error: failed to get domain 'foo'
> > error: An error occurred, but the cause is unknown
> >
> > virsh # dominfo foo
> > error: failed to get domain 'foo'
> > error: no call waiting for reply with prog 536903814 vers 1 serial 300
> >
> > virsh # define bar.xml
> > error: Failed to define domain from bar.xml
> > error: no call waiting for reply with prog 536903814 vers 1 serial 301
> >
> > Closing and reopening the interactive virsh session makes the problem
> > go away.
> >
> > Powering down the guest while the console is connected has made the
> > problem 100% reproducible in the 4 or 5 tries I've given it.
>
> Yeah this is a regression. We were accidentally sending back two
> stream abort RPC packets in some scenarios (with race condition).
>
> I've posted a patch to fix it
It does indeed fix the failure on domain shutdown, but there is still
a problem related to high volumes of console output. If I get on the
console and execute:
while true ; do echo -n "The quick brown fox jumped over the lazy
dogs. The quick brown fox jumped over the lazy dogs. "; done
and exit the console while the output is spraying, I still see a
failure:
the lazy dogs. The quick brown fox jumped over the lazy dogs. The
quick brown fox jumped over t
virsh # console foo
error: failed to get domain 'foo'
error: An error occurred, but the cause is unknown
virsh # console foo
error: failed to get domain 'foo'
error: An error occurred, but the cause is unknown
virsh # console foo
error: failed to get domain 'foo'
error: no call waiting for reply with prog 536903814 vers 1 serial 6
virsh #
BTW, I noticed this first when exiting the console while boot messages
were being output; I'm not *trying* to break it, and many thanks for
looking into all this. :)
This time i found a bug that pre-dated my RPC refactoring :-)
Sent 2 more patches....
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|