GNOME Bugzilla – Bug 660930
Totem crashes on start (SEGFAULT)
Last modified: 2011-10-06 22:51:17 UTC
Created attachment 198254 [details] Trace of Totem session. Totem crashes instantly after startup. Clutter-GST/Cogl is probably the cause in conjunction with the Nouveau driver. +++ Packages version(s): - totem-3.2.0 - totem-plugin-3.2.0 - clutter-gst-1.4.2 - gtk3-3.2.0 - glib2-2.30.0 +++ Totem output: (totem:16072): Clutter-CRITICAL **: Unable to initialize Clutter: Unable to find suitable fbconfig for the GLX context: Unable to find fbconfig with rgba visual (totem:16072): Clutter-WARNING **: Unable to create a new stage: the glx backend does not support multiple stages. (totem:16072): GLib-GObject-CRITICAL **: g_object_set_data: assertion `G_IS_OBJECT (object)' failed (totem:16072): GLib-GObject-WARNING **: invalid (NULL) pointer instance (totem:16072): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (totem:16072): Clutter-CRITICAL **: clutter_stage_set_color: assertion `CLUTTER_IS_STAGE (stage)' failed Segmentation fault. +++ gdb trace: attached. (All packages named above have been rebuilt with debuggin symbols) +++ Hardware (as reported by lspci & glxinfo): - 01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 420] (rev a3) - OpenGL vendor string: Nouveau - OpenGL renderer string: Mesa DRI nv17 x86/MMX/SSE2 - OpenGL version string: 1.2 Mesa 7.11 - direct rendering: Yes +++ Steps to reproduce: - Launch Totem on a certain hardware +++ Proposed workaround: "export CLUTTER_DISABLE_ARGB_VISUAL=1" before launch Totem. This avoids SEGFAULT but video playback is still totally unusable.
Relevant part of the backtrace:
+ Trace 228694
Thread 1 (Thread 0xb65b0830 (LWP 16072))
this is not a Cogl bug; Clutter could not initialize, and if that happens, any further call will have undefined behaviour — including, but not limited to, segfaults. the failure to initialize without ARGB visual means that either the driver or the GPU does not have 32 bit visual support, which are currently required by Clutter-GTK (GLX decides which kinds of visuals are available, and you can only select on before creating the GL context). the fact that video playback did not work even without ARGB visuals means that yhe driver or the GPU do not provide enough support to run Clutter-Gst. digging a bit, the GPU in question is a NV17: http://en.wikipedia.org/wiki/GeForce_4_Series from 2002, and it's the nvidia equivalent of the intel 8xx GPU series; it supports the D3D 7.0 shader model. it looks like this GPU simply falls out of the supported hardware matrix, as it's nearly 10 years old. I'm sorry, but I'll have to close this as NOTGNOME; it might be worthy to open a bug against the nouveau driver to see if they can improve support for that particular GPU.
I have a very similar video card, and the video playback works even if it has very bad performance, if I export CLUTTER_DISABLE_ARGB_VISUAL=1. Without this setting I get the same segfault. My questions are: 1. Why unable clutter to fallback to work without ARGB visuals? Why should I set this explicitly? 2. Why does totem not show an error message dialog about this failure? Totem segfaults with software rasterizer also, it would be useful to display an error message something like: "Sorry, Totem unable to initialize. Please check that your video card is properly configured." 3. Why does totem not fallback to work with the old pure GStreamer-based backend if clutter fails to initialize?