On Wed, Feb 14, 2018 at 08:27:10PM -0500, Bandan Das wrote: > > I get the error mentioined in the subject line when using vncviewer with > commit 13e1d0e71e78a925848258391a6e616b6b5ae219: > > Author: Daniel P. Berrange <berra...@redhat.com> > Date: Thu Feb 1 16:45:14 2018 +0000 > > ui: convert VNC server to QIONetListener > > The VNC server already has the ability to listen on multiple sockets. > Converting it to use the QIONetListener APIs though, will reduce the > amount of code in the VNC server and improve the clarity of what is > left. > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > Message-id: 20180201164514.10330-1-berra...@redhat.com > Signed-off-by: Gerd Hoffmann <kra...@redhat.com> > > > It appears to be related to the unconditional unref in vnc_listen_io: > static void vnc_listen_io(QIONetListener *listener, > QIOChannelSocket *cioc, > void *opaque) > { > VncDisplay *vd = opaque; > bool isWebsock = listener == vd->wslistener; > > qio_channel_set_name(QIO_CHANNEL(cioc), > isWebsock ? "vnc-ws-server" : "vnc-server"); > qio_channel_set_delay(QIO_CHANNEL(cioc), false); > vnc_connect(vd, cioc, false, isWebsock); > object_unref(OBJECT(cioc)); > }
[snip] > So, it looks like the unref is already being handled as part of the event > handling stuff when the window is closed. Is this a known issue/Is the > object_unref above required ? Yeah, my bad. The vnc_listen_io fnuc does *not* own the reference it is given in the cioc parameter, so should not be unref'ing it. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|