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 754306 - All out-of-process applets crash with transparent background
All out-of-process applets crash with transparent background
Status: RESOLVED FIXED
Product: gnome-panel
Classification: Other
Component: panel
git master
Other Linux
: Normal critical
: ---
Assigned To: Panel Maintainers
Panel Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-08-30 01:02 UTC by Balló György
Modified: 2015-09-10 08:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
libpanel-applet: use rgba visual if it is available (1.87 KB, patch)
2015-09-05 15:19 UTC, Alberts Muktupāvels
committed Details | Review

Description Balló György 2015-08-30 01:02:02 UTC
Steps to reproduce:

1. Set panel background to a color with opacity, or to an image.

2. Add a new out-of-process applet to the panel (e.g. Eyes applet). The applet's process crashes every time when you try to do that.

Process output:

(geyes_applet2:7043): Gdk-ERROR **: The program 'geyes_applet2' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 273 error_code 8 request_code 62 (core protocol) 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 GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Trace/breakpoint trap (core dumped)

Tested with the current git master versions of gnome-panel and gnome-applets.
Comment 1 Sebastian 2015-08-30 09:12:46 UTC
Hi Ballo,

I cannot reproduce your issue. I am running a jhbuild session with the latest (from a few days ago) gnome-panel and have a transparent background, when I add Xeyes or any other out-process applet the applet is added as expected and nothing crashes.

Can you provide more information?
Comment 2 Balló György 2015-08-30 11:18:30 UTC
I have glib2 2.44.1 and gtk3 3.16.6 on my system.

Here is the backtrace:
  • #0 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #1 g_log
    from /usr/lib/libglib-2.0.so.0
  • #2 ??
    from /usr/lib/libgdk-3.so.0
  • #3 ??
    from /usr/lib/libgdk-3.so.0
  • #4 _XError
    from /usr/lib/libX11.so.6
  • #5 ??
    from /usr/lib/libX11.so.6
  • #6 ??
    from /usr/lib/libX11.so.6
  • #7 _XEventsQueued
    from /usr/lib/libX11.so.6
  • #8 XPending
    from /usr/lib/libX11.so.6
  • #9 ??
    from /usr/lib/libgdk-3.so.0
  • #10 gdk_display_get_event
    from /usr/lib/libgdk-3.so.0
  • #11 ??
    from /usr/lib/libgdk-3.so.0
  • #12 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #13 ??
    from /usr/lib/libglib-2.0.so.0
  • #14 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #15 gtk_main
    from /usr/lib/libgtk-3.so.0
  • #16 _panel_applet_factory_main_internal
    at panel-applet.c line 2318
  • #17 ??
  • #18 __libc_start_main
    from /usr/lib/libc.so.6
  • #19 ??

Comment 3 Alberts Muktupāvels 2015-08-30 11:28:41 UTC
When reload applet dialog opens do this:
1) gdb /path/to/geyes_applet2
2) set env GDK_SYNCHRONIZE = 1
3) run

Then click 'Reload' button. It might give better info...
Comment 4 Balló György 2015-08-30 11:36:46 UTC
Backtrace with 'GDK_SYNCHRONIZE = 1':
  • #0 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #1 g_log
    from /usr/lib/libglib-2.0.so.0
  • #2 ??
    from /usr/lib/libgdk-3.so.0
  • #3 ??
    from /usr/lib/libgdk-3.so.0
  • #4 _XError
    from /usr/lib/libX11.so.6
  • #5 ??
    from /usr/lib/libX11.so.6
  • #6 ??
    from /usr/lib/libX11.so.6
  • #7 _XReply
    from /usr/lib/libX11.so.6
  • #8 XSync
    from /usr/lib/libX11.so.6
  • #9 ??
    from /usr/lib/libX11.so.6
  • #10 XCopyArea
    from /usr/lib/libX11.so.6
  • #11 ??
    from /usr/lib/libcairo.so.2
  • #12 ??
    from /usr/lib/libcairo.so.2
  • #13 ??
    from /usr/lib/libcairo.so.2
  • #14 ??
    from /usr/lib/libcairo.so.2
  • #15 ??
    from /usr/lib/libcairo.so.2
  • #16 ??
    from /usr/lib/libcairo.so.2
  • #17 ??
    from /usr/lib/libcairo.so.2
  • #18 cairo_paint
    from /usr/lib/libcairo.so.2
  • #19 gdk_window_end_paint
    from /usr/lib/libgdk-3.so.0
  • #20 gtk_main_do_event
    from /usr/lib/libgtk-3.so.0
  • #21 ??
    from /usr/lib/libgdk-3.so.0
  • #22 ??
    from /usr/lib/libgdk-3.so.0
  • #23 ??
    from /usr/lib/libgdk-3.so.0
  • #24 ??
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #27 ??
    from /usr/lib/libgdk-3.so.0
  • #28 ??
    from /usr/lib/libgdk-3.so.0
  • #29 ??
    from /usr/lib/libglib-2.0.so.0
  • #30 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #31 ??
    from /usr/lib/libglib-2.0.so.0
  • #32 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #33 gtk_main
    from /usr/lib/libgtk-3.so.0
  • #34 _panel_applet_factory_main_internal
    at panel-applet.c line 2318
  • #35 ??
  • #36 __libc_start_main
    from /usr/lib/libc.so.6
  • #37 ??

Comment 5 Alberts Muktupāvels 2015-09-05 15:19:35 UTC
Created attachment 310702 [details] [review]
libpanel-applet: use rgba visual if it is available
Comment 6 Alberts Muktupāvels 2015-09-05 15:20:12 UTC
Can you test if this patch fix this bug?
Comment 7 Balló György 2015-09-10 00:41:27 UTC
I tested the patch, and it fixes the problem. Thank you very much!