Bug#596287: vinagre fails to connect to VNC server

Andreas Henriksson andreas at fatal.se
Sat Sep 11 14:29:28 UTC 2010


reassign 596287 libgtk-vnc-1.0-0
affects 596287 vinagre
thanks

It seems you're not the first to find this problem:
http://mail.gnome.org/archives/gtk-vnc-list/2010-September/msg00000.html

The workaround there doesn't seem like a good solution in general to me.

I've tried debugging this a bit and I think the problem lies in the
signal handling of gtk-vnc, rather then vinagre.

If I've understood gtk-vnc correctly, it has a vnc connection and a vnc
display object. The connection signals "vnc-auth-credential" which the
display object subscribes to (on_auth_cred). The display object then
sends the same signal, to anyone (vinagre) that subscribes to 
"vnc-auth-credential" on the display object.


When running this in a debugger I think "on_auth_cred" is never called
and thus the signal on the vnc display object that vinagre subscribes to
is never emitted.



Reading symbols from /opt/vinagre/bin/vinagre...done.
(gdb) run
Starting program: /opt/vinagre/bin/vinagre 
[Thread debugging using libthread_db enabled]
^C
Program received signal SIGINT, Interrupt.
0x00007ffff2ca10d8 in __poll (fds=0x7af210, nfds=11, 
    timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:83
83	../sysdeps/unix/sysv/linux/poll.c: No such file or directory.
	in ../sysdeps/unix/sysv/linux/poll.c
(gdb) break on_auth_cred
Breakpoint 1 at 0x7fffedf1114a: file vncdisplay.c, line 1111.
(gdb) c
Continuing.

The above scenario:
gdb vinagre
run
break the execution with ctrl-c
add breakpoint
continue
click in vinagre and attempt connection.
breakpoint never hit and connection failed dialog shown.


Breaking on do_vnc_connection_emit_main_context works and the breakpoint
gets hit..... no idea why the signals never surface.


Another test case is to eliminate vinagre by using
examples/gvncviewer.py and observing that it also never calls the
vnc_auth_cred, which is the function subscribed to the credentials
signal on the vnc display object in the example.




-- 
Regards,
Andreas Henriksson







More information about the pkg-gnome-maintainers mailing list