[libvirt] [PATCH] Fix up a bogus TLS message.

Daniel P. Berrange berrange at redhat.com
Fri Oct 30 15:11:09 UTC 2009


On Fri, Oct 30, 2009 at 03:36:33PM +0100, Daniel Veillard wrote:
> On Fri, Oct 23, 2009 at 01:01:32PM +0200, Chris Lalancette wrote:
> > When working with the TLS transport, I noticed that every single time
> > a remote stream was closed, I would get a message like:
> > 
> > 09:09:40.793: error : remoteIOReadBuffer:7328 : failed to read from TLS socket A TLS packet with unexpected length was received.
> > libvir: QEMU error : failed to read from TLS socket A TLS packet with unexpected length was received.
> > 
> > in the logs.  This happens because of a race in libvirtd; one thread
> > handles the doRemoteClose(), which calls gnutls_bye() followed by close()
> > while another thread is poll()'ing on the same fd.  Once the close()
> > happens, the poll returns with revents set to POLLIN, and we would poll
> > one more time for data from the now-closed fd.  Fix this situation by
> > setting poll->session to NULL when we clean up, and check for that in
> > remoteIOHandleInput().
> 
>   ACK, thanks for following though !

I'd like to NACK this unless we understand more about why the conenction
is being closed while it is still in use.

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list