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 600865 - [csw?] gnome-panel crashed with "BadPixmap (invalid Pixmap parameter)"
[csw?] gnome-panel crashed with "BadPixmap (invalid Pixmap parameter)"
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
2.18.x
Other Linux
: Normal critical
: ---
Assigned To: gtk-bugs
gtk-bugs
csw
Depends on:
Blocks:
 
 
Reported: 2009-11-05 18:53 UTC by Paul Smith
Modified: 2010-01-15 15:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
First backtrace (16.16 KB, text/plain)
2010-01-14 21:52 UTC, Thomas Champagne
Details
Backtrace when gnome-panel exits due to X err (45.59 KB, text/plain)
2010-01-14 23:25 UTC, Paul Smith
Details

Description Paul Smith 2009-11-05 18:53:14 UTC
Three times since I updated to Ubuntu 9.10 (Gnome Panel 2.28.0) I've had the panel crash on me.  It restarts each time, so that's nice at least.

Looking in my ~/.xsession-errors file I see:

The program 'gnome-panel' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadPixmap (invalid Pixmap parameter)'.
  (Details: serial 109241 error_code 4 request_code 54 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Then it restarts (I presume this info is not that interesting but):

** (gnome-panel:17715): DEBUG: Adding applet 0.
** (gnome-panel:17715): DEBUG: Initialized Panel Applet Signaler.
** (gnome-panel:17715): DEBUG: Adding applet 1.

(gnome-panel:17715): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -15 and height 26
** (gnome-panel:17715): DEBUG: Adding applet 2.
** (gnome-panel:17715): DEBUG: Adding applet 3.
** (gnome-panel:17715): DEBUG: Adding applet 4.
** (gnome-panel:17715): DEBUG: Adding applet 5.
** (gnome-panel:17715): DEBUG: Adding applet 6.
** (gnome-panel:17715): DEBUG: Adding applet 7.
** (gnome-panel:17715): DEBUG: Adding applet 8.
** (gnome-panel:17715): DEBUG: Adding applet 9.
** (gnome-panel:17715): DEBUG: Adding applet 10.
** (gnome-panel:17715): DEBUG: Adding applet 11.
** (gnome-panel:17715): DEBUG: Adding applet 12.
** (gnome-panel:17715): DEBUG: Adding applet 13.
** (gnome-panel:17715): DEBUG: Adding applet 14.
** (gnome-panel:17715): DEBUG: Adding applet 15.
** (gnome-panel:17715): DEBUG: Adding applet 16.
** (gnome-panel:17715): DEBUG: Adding applet 17.
** (gnome-panel:17715): DEBUG: Adding applet 18.
** (gnome-panel:17715): DEBUG: Adding applet 19.
** (gnome-panel:17715): DEBUG: Adding applet 20.
** (gnome-panel:17715): DEBUG: Adding applet 21.
** (gnome-panel:17715): DEBUG: Adding applet 22.
** (gnome-panel:17715): DEBUG: Adding applet 23.
** (gnome-panel:17715): DEBUG: Adding applet 24.
** (gnome-panel:17715): DEBUG: Adding applet 25.
** (gnome-panel:17715): DEBUG: Adding applet 26.
** (gnome-panel:17715): DEBUG: Adding applet 27.
** (gnome-panel:17715): DEBUG: Adding applet 28.
** (gnome-panel:17715): DEBUG: Adding applet 29.
** (gnome-panel:17715): DEBUG: Adding applet 30.

(gnome-panel:17715): Gdk-WARNING **: /build/buildd/gtk+2.0-2.18.3/gdk/x11/gdkdrawable-x11.c:952 drawable is not a pixmap or window
** (gnome-panel:17715): DEBUG: Adding applet 31.
** (gnome-panel:17715): DEBUG: Adding applet 32.

Then it works for a while.  It crashed once yesterday, and then again today twice within a half-hour or so.

Right before it crashes I sometimes see 3-4 dialog windows appear on my screen, but they never get fully drawn so there's no title or text inside them, so I don't know what they are about.  I'm not doing anything in particular, that I can think of.  I'm not even interacting with the panel when this happens.
Comment 1 Paul Smith 2009-11-08 00:31:59 UTC
I had this happen again yesterday.  The odd thing is it doesn't seem to happen to me on my home system (also running 9.10).  It's quite possible I run a different set of applications that might be putting up notification icons or something.
Comment 2 Paul Smith 2009-11-09 15:18:37 UTC
Actually I just had this happen on my system at home as well.  If it helps, it seems to happen more often when I'm using Outlook running under Crossover Linux (that is, when I'm actually using Outlook--which I hate but Evo MAPI support is simply not there yet).
Comment 3 Thomas Champagne 2009-12-24 15:55:53 UTC
Hi

I have the same problem on my IBook with a Debian Lenny (powerpc).  
After a period of inactivity, the screen of my computer switches off. When I come back on my laptop, the screen switches on and gnome-panel crashes with the previous error. 

Tell me how can I help you to solve this bug.
Thomas
Comment 4 Vincent Untz 2010-01-14 02:41:07 UTC
If you're able to reproduce this easily, can you get a gnome-panel stack trace when running with --sync?

Make sure to install the debug packages, launch "gdb gnome-panel", and then in gdb type "set args --replace --sync". And "run".

Thanks!
Comment 5 Paul Smith 2010-01-14 21:35:34 UTC
OK, I've started the debugger.  Sometimes it happens multiple times a day, sometimes I go a few days in between, but I'll report back when I get more details.
Comment 6 Thomas Champagne 2010-01-14 21:51:08 UTC
Hi Vincent and Paul,

I waited all evening to reproduce the bug and I'm happy to announce that I have a backtrace. It is not complete because I didn't install all debug packages. 

For me, the problem happens with the CPU Frequency Scaling Applet.

Tell me if the this backtrace is good or not.

Thomas
Comment 7 Thomas Champagne 2010-01-14 21:52:05 UTC
Created attachment 151429 [details]
First backtrace
Comment 8 Paul Smith 2010-01-14 22:17:00 UTC
It just failed but the debugger didn't help (it didn't dump core, it just
exited, so there's no way to trace).  Here's the output:

The program 'gnome-panel' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadPixmap (invalid Pixmap parameter)'.
  (Details: serial 317422 error_code 4 request_code 54 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Program exited with code 01.


I've set a breakpoint as suggested in the output above, and I'm waiting for it
to happen again... if this isn't correct, let me know.
Comment 9 Paul Smith 2010-01-14 22:49:34 UTC
Hrm, by adding the breakpoint it stops a lot, for things that I don't think are real problems (because when I continue, gnome-panel doesn't exit).  I don't know how to set a breakpoint so that it only stops when gnome-panel is really going to exit with the above error.  Argh.

I'll keep trying to find the right stack; the one that actually exits.
Comment 10 Paul Smith 2010-01-14 23:25:35 UTC
Created attachment 151436 [details]
Backtrace when gnome-panel exits due to X err

OK, got it.  The first backtrace is when it failed the first time, then I pressed "c" and got another breakpoint and that's the second backtrace, then I pressed "c" again and then it exited.

Info attached.
Comment 11 Paul Smith 2010-01-14 23:25:55 UTC
Let me know if you need more.
Comment 12 Vincent Untz 2010-01-15 00:02:01 UTC
(In reply to comment #7)
> Created an attachment (id=151429) [details]
> First backtrace

This one is bug 597914.
Comment 13 Vincent Untz 2010-01-15 00:16:59 UTC
Pasting the stack trace from comment 10 here:

(gdb) bt full
  • #0 gdk_x_error
    at /build/buildd/gtk+2.0-2.18.3/gdk/x11/gdkmain-x11.c line 438
  • #1 _XError
    from /usr/lib/libX11.so.6
  • #2 ??
    from /usr/lib/libX11.so.6
  • #3 _XReply
    from /usr/lib/libX11.so.6
  • #4 XSync
    from /usr/lib/libX11.so.6
  • #5 ??
    from /usr/lib/libX11.so.6
  • #6 XFreePixmap
    from /usr/lib/libX11.so.6
  • #7 gdk_pixmap_impl_x11_dispose
    at /build/buildd/gtk+2.0-2.18.3/gdk/x11/gdkpixmap-x11.c line 103
  • #8 IA__g_object_unref
    at /build/buildd/glib2.0-2.22.3/gobject/gobject.c line 2441
  • #9 gdk_pixmap_finalize
    at /build/buildd/gtk+2.0-2.18.3/gdk/gdkpixmap.c line 231
  • #10 IA__g_object_unref
    at /build/buildd/glib2.0-2.22.3/gobject/gobject.c line 2472
  • #11 gdk_window_end_implicit_paint
    at /build/buildd/gtk+2.0-2.18.3/gdk/gdkwindow.c line 2630
  • #12 gdk_window_process_updates_internal
    at /build/buildd/gtk+2.0-2.18.3/gdk/gdkwindow.c line 5241
  • #13 IA__gdk_window_process_all_updates
    at /build/buildd/gtk+2.0-2.18.3/gdk/gdkwindow.c line 5328
  • #14 gtk_container_idle_sizer
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkcontainer.c line 1353
  • #15 gdk_threads_dispatch
    at /build/buildd/gtk+2.0-2.18.3/gdk/gdk.c line 506
  • #16 g_main_dispatch
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c line 1960
  • #17 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c line 2513
  • #18 g_main_context_iterate
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c line 2591
  • #19 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.22.3/glib/gmain.c line 2799
  • #20 IA__gtk_main
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 1218
  • #21 main
    at main.c line 154

(gdb) c
Continuing.
The program 'gnome-panel' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadPixmap (invalid Pixmap parameter)'.
  (Details: serial 176279 error_code 4 request_code 54 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Program received signal SIGPIPE, Broken pipe.
Comment 14 Vincent Untz 2010-01-15 00:20:04 UTC
Alex: could you take a look at this bug? It looks similar to a few other bugs reported against gnome-panel (like bug 600280), and the only thing that changed since 2.26 and that could explain that is, I think, CSW...