[virt-tools-list] [PATCH virt-viewer 2/2] Fix a floating display warning

Jonathon Jongsma jjongsma at redhat.com
Mon Jun 16 19:21:03 UTC 2014


ACK to both.

On Mon, Jun 16, 2014 at 1:03 PM, Marc-André Lureau 
<marcandre.lureau at gmail.com> wrote:
> You can reproduce the error by starting the client in kiosk and 
> shuting
> down the guest.
> 
>  #0  0x000000317e432915 in raise (sig=6) at
>  ../nptl/sysdeps/unix/sysv/linux/raise.c:64
>  #1  0x000000317e4340f5 in abort () at abort.c:92
>  #2  0x000000317fc4a98a in g_logv (log_domain=0x318730e657 "Gtk",
>  log_level=<value optimized out>, format=
>      0x31873a50a8 "A floating object was finalized. This means that
>      someone\ncalled g_object_unref() on an object that had only a
>      floating\nreference; the initial floating reference is not owned 
> by
>      anyone\nand must be remo"..., args1=0x7fffffffd5f0)
>      at gmessages.c:557
>  #3  0x000000317fc4aa23 in g_log (log_domain=<value optimized out>,
>  log_level=<value optimized out>,
>      format=<value optimized out>) at gmessages.c:577
>  #4  0x000000318717ba72 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
>  #5  0x0000000000426eb5 in
>  virt_viewer_display_spice_finalize (obj=0x6fec20
>  [VirtViewerDisplaySpice])
>      at virt-viewer-display-spice.c:67
>  #6  0x0000003180c106a4 in g_object_unref (_object=0x6fec20) at
>  gobject.c:2712
>  #7  0x0000000000425b5d in destroy_display (data=0x6fec20) at
>  virt-viewer-session-spice.c:596
>  #8  0x000000317fc1667b in g_ptr_array_foreach (array=0x74a040,
>  func=0x425ae7 <destroy_display>, user_data=0x0)
>      at garray.c:1306
>  #9  0x000000317fc16e7b in g_ptr_array_free (farray=0x74a040,
>  free_segment=1) at garray.c:938
>  #10 0x000000317fc2906a in g_data_set_internal (datalist=<value 
> optimized
>  out>, key_id=1297, data=0x0, destroy_func=0)
>      at gdataset.c:351
>  #11 g_datalist_id_set_data_full (datalist=<value optimized out>,
>  key_id=1297, data=0x0, destroy_func=0) at gdataset.c:598
>  #12 0x00000000004268d0 in
>  virt_viewer_session_spice_channel_destroy (s=0x800000 [SpiceSession],
>  channel=
> ---
>  src/virt-viewer-session-spice.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/virt-viewer-session-spice.c 
> b/src/virt-viewer-session-spice.c
> index fedde18..cb62444 100644
> --- a/src/virt-viewer-session-spice.c
> +++ b/src/virt-viewer-session-spice.c
> @@ -628,7 +628,7 @@ 
> virt_viewer_session_spice_display_monitors(SpiceChannel *channel,
>          if (display == NULL) {
>              display = virt_viewer_display_spice_new(self, channel, 
> i);
>              g_debug("creating spice display (#:%d)", i);
> -            g_ptr_array_index(displays, i) = g_object_ref(display);
> +            g_ptr_array_index(displays, i) = 
> g_object_ref_sink(display);
>          }
>  
>          virt_viewer_session_add_display(VIRT_VIEWER_SESSION(self),
> -- 
> 1.9.3
> 
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list





More information about the virt-tools-list mailing list