[Spice-devel] [PATCH spice-gtk v2 19/19] session: disconnect in idle

Christophe Fergeau cfergeau at redhat.com
Wed Nov 19 11:09:26 PST 2014


Hey,

On Tue, Nov 18, 2014 at 04:41:12PM +0100, Marc-André Lureau wrote:
> On Tue, Nov 18, 2014 at 4:26 PM, Christophe Fergeau <cfergeau at redhat.com> wrote:
> > Well, no, in order to keep existing code to work, this _idle workaround
> > was needed, then while I was not even to trying to test these changes, I
> > hit an issue introduced by these patches, I definitely expect a few more
> > to be lurking around.
> 
> I did quite intensive testing with virt-manager: it works with gobject
> bindings and a GC, thus it is more correct than a hand-written C
> program that had to work around gobject management issue with
> spice-gtk. Those are not unsolvable issues, but we should first hit
> and explain those issues to fix them.

Played a bit more with this, and hit 2 more issues:

#0  0x0000003e19450c60 in g_logv (log_domain=0x3e1983a1a4 "GLib-GObject", log_level=G_LOG_LEVEL_WARNING, format=<optimized out>, args=args at entry=0x7fffffffd160) at gmessages.c:1046
#1  0x0000003e19450e9f in g_log (log_domain=log_domain at entry=0x3e1983a1a4 "GLib-GObject", log_level=log_level at entry=G_LOG_LEVEL_WARNING, format=<optimized out>) at gmessages.c:1079
#2  0x0000003e198334fa in g_type_check_instance (type_instance=type_instance at entry=0x8f01f0)
    at gtype.c:4099
#3  0x0000003e1982a46c in g_signal_emit_by_name (instance=0x8f01f0, detailed_signal=0x435c19 "session-display-updated") at gsignal.c:3391
#4  0x0000000000428dfd in agent_connected_changed (cmain=0x6df840 [SpiceMainChannel], pspec=0xa77e10 [GParamBoolean], self=0x8f01f0) at virt-viewer-session-spice.c:657
#8  0x0000003e1982a3af in <emit signal notify:agent-connected on instance 0x6df840 [SpiceMainChannel]> (instance=instance at entry=0x6df840, signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3365
    #5  0x0000003e1980fd35 in g_closure_invoke (closure=0xa89a10, return_value=return_value at entry=0x0, n_param_values=2, param_values=param_values at entry=0x7fffffffd5e0, invocation_hint=invocation_hint at entry=0x7fffffffd580) at gclosure.c:768
    #6  0x0000003e19821a42 in signal_emit_unlocked_R (node=node at entry=0x672eb0, detail=detail at entry=1677, instance=instance at entry=0x6df840, emission_return=emission_return at entry=0x0, instance_and_params=instance_and_params at entry=0x7fffffffd5e0) at gsignal.c:3553
    #7  0x0000003e1982a181 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args at entry=0x7fffffffd770) at gsignal.c:3309
#9  0x0000003e19814475 in g_object_dispatch_properties_changed (object=0x6df840 [SpiceMainChannel], n_pspecs=<optimized out>, pspecs=<optimized out>) at gobject.c:1056
#10 0x0000003e198168d1 in g_object_notify (pspec=<optimized out>, object=0x6df840 [SpiceMainChannel])
    at gobject.c:1149
#11 0x0000003e198168d1 in g_object_notify (object=0x6df840 [SpiceMainChannel], property_name=<optimized out>) at gobject.c:1197
#12 0x00007ffff71ccc79 in notify_main_context (opaque=0x7fffedb0e9f0) at gio-coroutine.c:240
#13 0x0000003e19449aeb in g_main_context_dispatch (context=0x6a3240) at gmain.c:3111
#14 0x0000003e19449aeb in g_main_context_dispatch (context=context at entry=0x6a3240) at gmain.c:3710
#15 0x0000003e19449e88 in g_main_context_iterate (context=0x6a3240, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at gmain.c:3781
#16 0x0000003e1944a1b2 in g_main_loop_run (loop=0x97df00) at gmain.c:3975
#17 0x0000003e1c9ebb35 in gtk_main () at gtkmain.c:1207
#18 0x000000000043008c in main (argc=1, argv=0x7fffffffdcf8) at virt-viewer-main.c:119

(virsh destroy on a VM where the agent is running, reliably reproducible with git master virt-viewer,
this one goes away with the virt_viewer_g_signal_connect patch)

I've hit that one once while booting a fedora (the plymouth logo must be
triggering the video streaming code)

#0  0x00007ffff71c24e5 in spice_session_get_mm_time (session=0x0) at spice-session.c:1999
#1  0x00007ffff71d438c in display_stream_schedule (st=0xa33040) at channel-display.c:1014
#2  0x00007ffff71d4a09 in display_stream_render (st=0xa33040,
    st at entry=<error reading variable: value has been optimized out>) at channel-display.c:1165
#3  0x0000003e1944a553 in g_timeout_dispatch (source=0xad64e0, callback=<optimized out>, user_data=<optimized out>) at gmain.c:4520
#4  0x0000003e19449aeb in g_main_context_dispatch (context=0x6a32b0) at gmain.c:3111
#5  0x0000003e19449aeb in g_main_context_dispatch (context=context at entry=0x6a32b0) at gmain.c:3710
#6  0x0000003e19449e88 in g_main_context_iterate (context=0x6a32b0, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at gmain.c:3781
#7  0x0000003e1944a1b2 in g_main_loop_run (loop=0x97e200) at gmain.c:3975
#8  0x0000003e1c9ebb35 in gtk_main () at gtkmain.c:1207
#9  0x0000000000430185 in main (argc=1, argv=0x7fffffffdcb8) at virt-viewer-main.c:119

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20141119/f5263796/attachment.sig>


More information about the Spice-devel mailing list