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 743085 - Clutter-using apps crash on startup
Clutter-using apps crash on startup
Status: RESOLVED DUPLICATE of bug 747489
Product: clutter
Classification: Platform
Component: x11
git master
Other Linux
: Normal critical
: ---
Assigned To: clutter-maint
clutter-maint
Depends on:
Blocks:
 
 
Reported: 2015-01-17 11:42 UTC by Marcus Lundblad
Modified: 2015-09-03 11:28 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Marcus Lundblad 2015-01-17 11:42:40 UTC
When running clutter applications, such as gnome-maps or cheese (using builds from master using jhbuild), I get the following printout in the terminal (a window quickly flashes by):

(org.gnome.Maps:18822): Gdk-ERROR **: The program 'org.gnome.Maps' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 509 error_code 8 request_code 155 (GLX) minor_code 31)
  (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.)


Obtaining a backtrace using gdb with a breakpoint on gdk_x_error:

Breakpoint 1, gdk_x_error (xdisplay=0x6e6f50, error=0x7fffffffc1c0)
    at gdkmain-x11.c:268
268	  if (error->error_code)
(gdb) bt
  • #0 gdk_x_error
    at gdkmain-x11.c line 268
  • #1 _XError
    from /usr/lib/x86_64-linux-gnu/libX11.so.6
  • #2 ??
    from /usr/lib/x86_64-linux-gnu/libX11.so.6
  • #3 ??
    from /usr/lib/x86_64-linux-gnu/libX11.so.6
  • #4 _XReply
    from /usr/lib/x86_64-linux-gnu/libX11.so.6
  • #5 XSync
    from /usr/lib/x86_64-linux-gnu/libX11.so.6
  • #6 ??
    from /usr/lib/x86_64-linux-gnu/libX11.so.6
  • #7 glXCreateWindow
    from /usr/lib/x86_64-linux-gnu/libGL.so.1
  • #8 _cogl_winsys_onscreen_init
    at ./winsys/cogl-winsys-glx.c line 1421
  • #9 cogl_framebuffer_allocate
    at ./cogl-framebuffer.c line 750
  • #10 clutter_stage_cogl_realize
    at cogl/clutter-stage-cogl.c line 149
  • #11 clutter_stage_gdk_realize
    at gdk/clutter-stage-gdk.c line 310
  • #12 clutter_stage_realize
    at clutter-stage.c line 797
  • #13 _g_closure_invoke_va
    at gclosure.c line 831
  • #14 g_signal_emit_valist
    at gsignal.c line 3201
  • #15 g_signal_emit
    at gsignal.c line 3348
  • #16 clutter_actor_realize_internal
    at clutter-actor.c line 1945
  • #17 clutter_actor_realize
    at clutter-actor.c line 1901
  • #18 gtk_clutter_embed_realize
    at ./gtk-clutter-embed.c line 445
  • #19 _g_closure_invoke_va

Comment 1 Emmanuele Bassi (:ebassi) 2015-01-17 14:29:41 UTC
have you also updated clutter-gtk? I've been running clutter-gtk applications (e.g. the clutter-gtk examples and Totem) and they seem to be working fine. I'll try and build gnome-maps, but I only have an Intel GPU available.
Comment 2 Emmanuele Bassi (:ebassi) 2015-01-17 14:33:45 UTC
I've just build gnome-maps and it's working fine, here. :-/
Comment 3 Marcus Lundblad 2015-01-17 14:51:53 UTC
I tried rebuilding clutter-gtk just now, but still get the same error... :-/
Comment 4 Marcus Lundblad 2015-01-17 16:58:12 UTC
Locally reverting the commit https://git.gnome.org/browse/clutter/commit/?id=60dbeb9425f51fc602ba2fe89b2a968ef4b527ed
and rebuilding clutter makes these applications work again.
That commit enabled the GDK backend by default.
So, it seems the GDK backend has some problems when using the Nvidia driver, I guess.
Comment 5 Emmanuele Bassi (:ebassi) 2015-01-17 18:28:32 UTC
yeah, but I am not going to revert that.

rather, I'd like to see an explanation as to why the crash happens.

the trace seems to indicate a failure in glXCreateWindow(), which could mean an issue in the backing attributes used when creating it. instrumenting Cogl would probably help.

the code paths that allocate the on screen framebuffer in both the X11 and the GDK backends are shared, so the only thing that comes to mind is the creation of the CoglOnscreen instance, which is basically the same.

the only thing I can think of is the use of the wrong GdkVisual, which in the past has made the nvidia binary driver error out in weird ways.
Comment 6 Jackson Doak 2015-07-17 01:48:39 UTC
This is causing the xfce video player parole to fail to run. See https://bugs.launchpad.net/ubuntu/+source/parole/+bug/1462445 and https://bugzilla.xfce.org/show_bug.cgi?id=11825
Comment 7 Emmanuele Bassi (:ebassi) 2015-07-17 11:50:05 UTC
If you're using nvidia, then this is a duplicate of bug 747489, which has been fixed in the stable release already. You need Clutter 1.22.4 and Clutter-GTK 1.6.2.

Since the original reporter never confirmed whether or not the nvidia module was in use, and no additional comments were made, I'm going to go ahead and dupe this.

*** This bug has been marked as a duplicate of bug 747489 ***
Comment 8 Sean Davis 2015-09-03 11:19:51 UTC
I am still able to reproduce this bug with intel drivers, clutter 1.22.4 and clutter-gtk 1.6.2

I can produce this with parole and the current development snapshot of mugshot, https://code.launchpad.net/~mugshot-dev/mugshot/trunk

If I launch either with CLUTTER_BACKEND=x11 both apps launch and function normally.
Comment 9 Emmanuele Bassi (:ebassi) 2015-09-03 11:28:40 UTC
(In reply to Sean Davis from comment #8)
> I am still able to reproduce this bug with intel drivers, clutter 1.22.4 and
> clutter-gtk 1.6.2

If it's with the Intel drivers, then it's *not* this bug. Please, open a new one, possibly with a stack trace and/or a small, reproducible test case. I'm not going to build an entire application.