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 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list