After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 336823 - wnck-applet crashes reproduceably when starting gmplayer
wnck-applet crashes reproduceably when starting gmplayer
Status: RESOLVED FIXED
Product: libwnck
Classification: Core
Component: general
2.14.x
Other All
: Normal critical
: ---
Assigned To: libwnck maintainers
libwnck maintainers
: 334950 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-04-01 12:34 UTC by Mitch
Modified: 2006-08-09 14:36 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
Patch (662 bytes, patch)
2006-04-23 08:13 UTC, Vincent Untz
none Details | Review
Screenshot showing windowlist working fine (487.96 KB, image/png)
2006-04-23 08:28 UTC, Mitch
  Details

Description Mitch 2006-04-01 12:34:21 UTC
Steps to reproduce:
1. start gmplayer 
2. 
3. 


Stack trace:
(gdb) where
  • #0 IA__gdk_drawable_get_colormap
    at gdkdraw.c line 288
  • #1 get_cmap
    at xutils.c line 1570
  • #2 _wnck_gdk_pixbuf_get_from_pixmap
    at xutils.c line 1622
  • #3 try_pixmap_and_mask
    at xutils.c line 1675
  • #4 _wnck_read_icons
    at xutils.c line 2076
  • #5 get_icons
    at window.c line 1388
  • #6 force_update_now
    at window.c line 2315
  • #7 _wnck_window_create
    at window.c line 419
  • #8 update_client_list
    at screen.c line 1230
  • #9 do_update_now
    at screen.c line 1912
  • #10 update_idle
    at screen.c line 1934
  • #11 g_idle_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #12 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #13 g_main_context_iterate
    from /usr/lib/libglib-2.0.so.0
  • #14 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #15 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #16 bonobo_generic_factory_main_timeout
    from /usr/lib/libbonobo-2.so.0
  • #17 bonobo_generic_factory_main
    from /usr/lib/libbonobo-2.so.0
  • #18 panel_applet_factory_main_closure
    from /usr/lib/libpanel-applet-2.so.0
  • #19 panel_applet_factory_main
    from /usr/lib/libpanel-applet-2.so.0
  • #20 ??
  • #21 _IO_stdin_used
  • #22 ??
  • #23 ??
  • #24 ??


Other information:
Comment 1 Elijah Newren 2006-04-22 22:58:33 UTC
I can't duplicate here; maybe it requires a specific version of gmplayer?

Looking through the stack trace, the only way it is possible is if xpixmap in _wnck_gdk_pixbuf_get_from_pixmap() has been destroyed (according to the documentation for gdk_pixmap_foreign_new(), anyway).  That seems a little odd, though I'm not quite sure where to look from there...
Comment 2 Vincent Untz 2006-04-23 07:49:13 UTC
Well, this can definitely happen since we're notifed asynchronously by X.

We should test the NULL case anyway. And probably return NULL in this case. Would be nice to be able to reproduce reliably, so we can see if the fix is okay and doesn't make things look weird.
Comment 3 Mitch 2006-04-23 07:54:48 UTC
Well i can reproduce it 100% of the time so am willing to test any fixes. I'm not sure what i'm doing differently except i have run cvs everything (gtk,gnome,player,etc..) so this will definelty hit the mainstream soon. However no other application (xine, vlc, totem, or anything else) dies seems to crash in the lib code. If i run 'mplayer' (the non gui version without the controls) then there is no crash. It only happens with 'gmplayer'.
Comment 4 Vincent Untz 2006-04-23 08:13:17 UTC
Created attachment 64130 [details] [review]
Patch

If you can test this simple patch and see if it helps, it'd be great. If there's no crash, please look at the icon of the window in the window list.
Comment 5 Vincent Untz 2006-04-23 08:15:35 UTC
Note that the metacity code is:

  if (drawable)
    g_object_ref (G_OBJECT (drawable));
  else
    drawable = gdk_pixmap_foreign_new (xpixmap);

  if (drawable)
    {
      cmap = get_cmap (drawable);
  
      retval = gdk_pixbuf_get_from_drawable (dest,
                                             drawable,
                                             cmap,
                                             src_x, src_y,
                                             dest_x, dest_y,
                                             width, height);
    }
Comment 6 Mitch 2006-04-23 08:28:38 UTC
Created attachment 64131 [details]
Screenshot showing windowlist working fine

Yup. That fixes it. The icon in the window list looks fine to me (see screenshot)
Comment 7 Vincent Untz 2006-05-14 16:15:55 UTC
Fixed in HEAD. I will backport it to GNOME 2.14 before the next release.
Comment 8 Elijah Newren 2006-08-09 14:36:15 UTC
*** Bug 334950 has been marked as a duplicate of this bug. ***