[Spice-devel] [PATCH spice-gtk] main: fix notify of agent disconnection

Marc-André Lureau marcandre.lureau at gmail.com
Fri Oct 11 22:36:27 CEST 2013


I am working on a fix for this, it needs more testing, I'll post it
soon unless someone beat me to it.

On Fri, Oct 11, 2013 at 4:38 PM, Christophe Fergeau <cfergeau at redhat.com> wrote:
> On Thu, Oct 10, 2013 at 05:34:28PM +0200, Marc-André Lureau wrote:
>> spice_main_channel_reset_agent() reset connected state, and prevent
>> notify of property change.
>>
>> This is a minor regression introduced in c3adb24425.
>> ---
>>  gtk/channel-main.c | 5 ++++-
>>  1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/gtk/channel-main.c b/gtk/channel-main.c
>> index b342e97..699cff3 100644
>> --- a/gtk/channel-main.c
>> +++ b/gtk/channel-main.c
>> @@ -375,6 +375,9 @@ static void spice_main_channel_reset(SpiceChannel *channel, gboolean migrating)
>>      agent_free_msg_queue(SPICE_MAIN_CHANNEL(channel));
>>      c->agent_msg_queue = g_queue_new();
>>
>> +    /* check: if agent_connected can be TRUE, it should call instead
>> +       set_agent_connected() to notify new state */
>> +    g_warn_if_fail(c->agent_connected == FALSE);
>
> This warning triggers when exiting remote-viewer through
> #0  0x00007ffff0245499 in g_logv () from /lib64/libglib-2.0.so.0
> #1  0x00007ffff02455ef in g_log () from /lib64/libglib-2.0.so.0
> #2  0x00007ffff0245906 in g_warn_message () from /lib64/libglib-2.0.so.0
> #3  0x00007ffff53042b0 in spice_main_channel_reset (channel=0x8d18b0, migrating=0) at channel-main.c:380
> #4  0x00007ffff52f6fce in spice_channel_reset (channel=0x8d18b0, migrating=0) at spice-channel.c:2543
> #5  0x00007ffff52f7102 in channel_disconnect (channel=0x8d18b0) at spice-channel.c:2562
> #6  0x00007ffff52f675f in spice_channel_coroutine (data=0x8d18b0) at spice-channel.c:2360
> #7  0x00007ffff5330edb in coroutine_trampoline (cc=0x8d0f60) at coroutine_ucontext.c:58
> #8  0x00007ffff5330bc0 in continuation_trampoline (i0=9244512, i1=0) at continuation.c:49
> #9  0x00007fffefc679c0 in ?? () from /lib64/libc.so.6
> #10 0x00000000008d1328 in ?? ()
> #11 0x0000000000000000 in ?? ()
>
> Do we want an implementation of SpiceChannel::channel_disconnect which
> would disconnec the agent, or is it better to just remove that hunk?
>
> Christophe



-- 
Marc-André Lureau


More information about the Spice-devel mailing list