Bug 578782 - Some gnome games crash when started
Some gnome games crash when started
Status: CLOSED DUPLICATE of bug 575825
Product: Fedora
Classification: Fedora
Component: mesa (Show other bugs)
13
All Linux
low Severity medium
: ---
: ---
Assigned To: Adam Jackson
Fedora Extras Quality Assurance
:
: 578777 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-04-01 07:26 EDT by Joachim Backes
Modified: 2010-05-11 04:11 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-04-09 10:01:12 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Joachim Backes 2010-04-01 07:26:28 EDT
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 07:31:08 EDT
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 04:27:21 EDT
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 04:40:31 EDT
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 12:29:36 EDT
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 12:30:54 EDT
*** Bug 578777 has been marked as a duplicate of this bug. ***
Comment 6 Ben Skeggs 2010-04-06 18:53:14 EDT
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 19:56:28 EDT
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-06 20:17:04 EDT
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 10:35:13 EDT
Owen points out that this might be the same as bug 575825
Comment 10 Matthias Clasen 2010-04-07 10:36:47 EDT
Owen also asks if setting LIBGL_ALWAYS_SOFTWARE=1 works around this problem.
Comment 11 Owen Taylor 2010-04-07 11:03:14 EDT
(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 18:41:10 EDT
> 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 10:01:12 EDT
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.