Bug 578782 - Some gnome games crash when started
Summary: Some gnome games crash when started
Keywords:
Status: CLOSED DUPLICATE of bug 575825
Alias: None
Product: Fedora
Classification: Fedora
Component: mesa
Version: 13
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 578777 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-04-01 11:26 UTC by Joachim Backes
Modified: 2010-05-11 08:11 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-04-09 14:01:12 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Joachim Backes 2010-04-01 11:26:28 UTC
Description of problem:
When I start the following gnome-games, they crash immediately:

gnibbles
quadrapassel 

Version-Release number of selected component (if applicable):
gnome-games-2.29.92-1.fc13.i686

How reproducible:
Always

Steps to Reproduce:
1.Start the game
2.
3.
  
Actual results:
gnibbles:
=======================
gnibbles
failed to create drawable
failed to create drawable

(gnibbles:11060): ClutterGLX-CRITICAL **: Unable to make the stage window 0x2600046 the current GLX drawable

Gdk-ERROR **: The program 'gnibbles' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 461 error_code 9 request_code 14 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.)
aborting...
Trace/breakpoint trap

quadrapassel:
===============

quadrapassel
failed to create drawable
failed to create drawable

(quadrapassel:11062): ClutterGLX-CRITICAL **: Unable to make the stage window 0x4600007 the current GLX drawable
failed to create drawable

(quadrapassel:11062): ClutterGLX-CRITICAL **: Unable to make the stage window 0x460000a the current GLX drawable

Gdk-ERROR **: The program 'quadrapassel' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 55 error_code 9 request_code 14 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.)
aborting...
Trace/breakpoint trap


Expected results:


Additional info: All other games are running!

Comment 1 Joachim Backes 2010-04-01 11:31:08 UTC
Please remove quadrapassel bug; I filed it already in 578777 (network error when submitting 578777, so I repeated it in the submission for 578782)

Comment 2 Joachim Backes 2010-04-02 08:27:21 UTC
After having updated to gnome-games-extra-2.30.0-1.fc13.i686, gnibbles still crashes:

gnibbles
failed to create drawable

(gnibbles:2376): Clutter-WARNING **: Unable to create a new stage: the glx backend does not support multiple stages.

(gnibbles:2376): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(gnibbles:2376): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_stage_set_color: assertion `CLUTTER_IS_STAGE (stage)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_actor_set_size: assertion `CLUTTER_IS_ACTOR (self)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_stage_set_user_resizable: assertion `CLUTTER_IS_STAGE (stage)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_container_add_actor: assertion `CLUTTER_IS_CONTAINER (container)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_actor_set_size: assertion `CLUTTER_IS_ACTOR (self)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_stage_ensure_viewport: assertion `CLUTTER_IS_STAGE (stage)' failed

(gnibbles:2376): ClutterX11-CRITICAL **: clutter_x11_set_stage_foreign: assertion `CLUTTER_IS_STAGE (stage)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_actor_realize: assertion `CLUTTER_IS_ACTOR (self)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_actor_show: assertion `CLUTTER_IS_ACTOR (self)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_actor_set_size: assertion `CLUTTER_IS_ACTOR (self)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_container_add_actor: assertion `CLUTTER_IS_CONTAINER (container)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_actor_map: assertion `CLUTTER_IS_ACTOR (self)' failed

(gnibbles:2376): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(gnibbles:2376): GLib-GObject-CRITICAL **: g_signal_emit_by_name: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_actor_set_size: assertion `CLUTTER_IS_ACTOR (self)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_container_add_actor: assertion `CLUTTER_IS_CONTAINER (container)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_actor_set_size: assertion `CLUTTER_IS_ACTOR (self)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_stage_ensure_viewport: assertion `CLUTTER_IS_STAGE (stage)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_redraw: assertion `CLUTTER_IS_STAGE (stage)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_stage_show_cursor: assertion `CLUTTER_IS_STAGE (stage)' failed

(gnibbles:2376): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(gnibbles:2376): GLib-GObject-CRITICAL **: g_signal_emit_by_name: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_stage_set_key_focus: assertion `CLUTTER_IS_STAGE (stage)' failed

(gnibbles:2376): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(gnibbles:2376): GLib-GObject-CRITICAL **: g_signal_emit_by_name: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(gnibbles:2376): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(gnibbles:2376): GLib-GObject-CRITICAL **: g_signal_emit_by_name: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_stage_set_key_focus: assertion `CLUTTER_IS_STAGE (stage)' failed

(gnibbles:2376): Clutter-CRITICAL **: clutter_actor_hide: assertion `CLUTTER_IS_ACTOR (self)' failed

Comment 3 Joachim Backes 2010-04-02 08:40:31 UTC
My video card:

02:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] (rev a1)

Driver: nouveau

Comment 4 Matthias Clasen 2010-04-06 16:29:36 UTC
Moving to nouveau, test-wise. The games themeselves work fine on e.g. Intel, so this is likely caused by limitations of the gl support in nouveau.

Comment 5 Matthias Clasen 2010-04-06 16:30:54 UTC
*** Bug 578777 has been marked as a duplicate of this bug. ***

Comment 6 Ben Skeggs 2010-04-06 22:53:14 UTC
Not exactly a nouveau "bug".  I can confirm that I see the problem also, and that if you actually install the nouveau 3d drivers (mesa-dri-drivers-experimental) things work fine.

Not sure where exactly this should be assigned, but I fail to see a good reason why clutter shouldn't just use GL software rendering in the absence of hardware accel.  Matthias?

Comment 7 Matthias Clasen 2010-04-06 23:56:28 UTC
Oh, I had no idea that things work fine with mesa-dri-drivers-experimental.
Thats great to know. As for software rendering in clutter, no idea, Owen can probably answer that better than I can.

There are a few questions here, I think:

- Are the mesa-dri-drivers-experimental good enough to install by default ?

- Can clutter detect the lack of suitable GL support in a better way, that we can perhaps handle by offering to install the drivers ?

Comment 8 Ben Skeggs 2010-04-07 00:17:04 UTC
I would be hesitant to install the nouveau 3d drivers by default at this stage, there's still a number of issues in them.  They do work fine for a lot of apps already however.

Every other GL app falls back to software rendering just fine, I have no idea why clutter fails to do so.

Comment 9 Matthias Clasen 2010-04-07 14:35:13 UTC
Owen points out that this might be the same as bug 575825

Comment 10 Matthias Clasen 2010-04-07 14:36:47 UTC
Owen also asks if setting LIBGL_ALWAYS_SOFTWARE=1 works around this problem.

Comment 11 Owen Taylor 2010-04-07 15:03:14 UTC
(In reply to comment #10)
> Owen also asks if setting LIBGL_ALWAYS_SOFTWARE=1 works around this problem.    

Actually, that wasn't my question, my question was whether you could trigger this crash on non-NVIDIA hardware with LIBGL_ALWAYS_SOFTWARE=1.

Comment 12 Matthias Clasen 2010-04-07 22:41:10 UTC
> Actually, that wasn't my question, my question was whether you could trigger
> this crash on non-NVIDIA hardware with LIBGL_ALWAYS_SOFTWARE=1.    

Oh, good point. That is indeed the case. Fails in the same way on my Intel hardware with LIBGL_ALWAYS_SOFTWARE=1.

Comment 13 Owen Taylor 2010-04-09 14:01:12 UTC
Seems almost certainly the same as bug 575825, so marking as a duplicate.

*** This bug has been marked as a duplicate of bug 575825 ***


Note You need to log in before you can comment on or make changes to this bug.