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