Bug 747276 - Error is occured when I try to start totem in Fedora 16 fallback mode (tested in virt-manager)
Error is occured when I try to start totem in Fedora 16 fallback mode (tested...
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: mesa (Show other bugs)
16
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Adam Jackson
Fedora Extras Quality Assurance
AcceptedBlocker
:
: 747931 (view as bug list)
Depends On:
Blocks: F16Blocker/F16FinalBlocker
  Show dependency treegraph
 
Reported: 2011-10-19 06:46 EDT by Ľuboš Kardoš
Modified: 2016-07-31 21:26 EDT (History)
15 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-10-29 02:41:54 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 Ľuboš Kardoš 2011-10-19 06:46:27 EDT
Description of problem:
Error is occured when I try to start totem in Fedora 16 fallback mode (tested in virt-manager).

Version-Release number of selected component (if applicable):
totem-3.2.0-1.fc16.i686

Steps to Reproduce:
1. Install fedora with default package set in virt-manager.
2. After installation, rebooting, login, open terminal and use command "totem"
  
Actual results:
After performing command "totem". Following output is showed and no window for totem is opened:

Gtk-Message: Failed to load module "pk-gtk-module"
failed to create drawable

(totem:1567): Clutter-CRITICAL **: Unable to initialize Clutter: Unable to select the newly created GLX context 

(totem:1567): Gdk-WARNING **: The program 'totem' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadGC (invalid GC parameter)'.
  (Details: serial 164 error_code 13 request_code 60 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.)


Expected results:
Totem starts correctly.
Comment 1 Ľuboš Kardoš 2011-10-19 07:30:43 EDT
Similar problem I have with programs: swell-foop and empathy on the same installations.
Comment 2 Adam Williamson 2011-10-20 15:52:16 EDT
Confirmed here.

Not so worried about swell-foop and other games, but it does seem bad for the default media player and IM apps not to run at all in fallback mode.
Comment 3 Adam Williamson 2011-10-20 15:58:38 EDT
ebassi, adel recommended CCing you on this one as it's likely something you know about. any thoughts? thanks!
Comment 4 Peter Robinson 2011-10-21 04:08:26 EDT
this isn't a problem with clutter. KVM doesn't support GL and that's what clutter uses, ultimately totem should check for the capability and fall back gracefully if it doesn't exist.
Comment 5 Adel Gadllah 2011-10-21 12:37:43 EDT
(In reply to comment #4)
> this isn't a problem with clutter.

It is. (or a mesa bug).

>  KVM doesn't support GL and that's what
> clutter uses, ultimately totem should check for the capability and fall back
> gracefully if it doesn't exist.

No, it does support GL (using the software renderer), not having hardware acceleration does not mean apps should crash an startup.
Comment 6 Adam Williamson 2011-10-21 14:15:57 EDT
Discussed at 2011-10-21 blocker review meeting. In principle this is accepted as a blocker under criterion "All applications listed under the Applications menu or category must withstand a basic functionality test and not crash after a few minutes of normal use. They must also have working Help and Help -> About menu items", but we recognize it may be impractical to fix this. We do feel that leaving fallback mode with no movie player or IM system is pretty impolite.

I will try to get input from upstream clutter on whether it should be able to cope with this situation (system has software 3D acceleration only).
Comment 7 Emmanuele Bassi 2011-10-21 14:47:21 EDT
(In reply to comment #5)
> (In reply to comment #4)
> > this isn't a problem with clutter.
> 
> It is. (or a mesa bug).
> 
> >  KVM doesn't support GL and that's what
> > clutter uses, ultimately totem should check for the capability and fall back
> > gracefully if it doesn't exist.
> 
> No, it does support GL (using the software renderer), not having hardware
> acceleration does not mean apps should crash an startup.

totem should check that gtk_clutter_init() succeeds, because if Clutter initialisation fails, the behaviour of any subsequent Clutter API is undefined (in the ISO C meaning of "undefined": stuff might segfault, monkeys might fly out of your butt, the whole session might turn into a nethack game).

totem currently *doesn't* check the result of gtk_clutter_init():

  http://git.gnome.org/browse/totem/tree/src/backend/bacon-video-widget-gst-0.10.c#n5887

I actually need to backport this commit on master:

  http://git.gnome.org/browse/clutter-gtk/commit/?id=e2961c1149b99e2e25ee6207c35b81322237a3dd

to the clutter-gtk-1.0 branch; at least, this would give out a warning at compile time.

after that, we still have to find the issues as of why with the software rasteriser failing to provide us with the requirements for a successful initialisation.
Comment 8 Adam Williamson 2011-10-21 15:09:14 EDT
so seems like there's two angles here:

1) totem should check if clutter init fails and then...what? exit in an orderly fashion? it seems like it's using it in its actual 'play some video' routine so just 'not using' the affected code doesn't seem like an option?

2) we should figure out why clutter can't do what totem (and empathy) needs on software gl

right?
Comment 9 Emmanuele Bassi 2011-10-21 16:15:16 EDT
(In reply to comment #8)
> so seems like there's two angles here:
> 
> 1) totem should check if clutter init fails and then...what? exit in an orderly
> fashion?

yes.

> it seems like it's using it in its actual 'play some video' routine so
> just 'not using' the affected code doesn't seem like an option?

for this Bastien would need to reinstate the old code paths for the video display, which, AFAIR, were removed.

> 2) we should figure out why clutter can't do what totem (and empathy) needs on
> software gl

I think the major culprit is that the Mesa software rasterizer currently reports support for GLX 1.2, whilst Clutter requires GLX 1.3 at least; another issue might be that clutter-gtk requests an ARGB visual, but Mesa with the software rasterizer doesn't know how to handle that, and thus always fails.
Comment 10 Adam Williamson 2011-10-21 16:23:53 EDT
isn't fedora using llvmpipe rather than mesa software rasterizer?
Comment 11 Adam Williamson 2011-10-21 16:24:52 EDT
yup, we are:

OpenGL renderer string: Gallium 0.4 on llvmpipe
OpenGL version string: 2.1 Mesa 7.11
OpenGl shading language version string: 1.20
Comment 12 Adam Williamson 2011-10-24 00:30:34 EDT
*** Bug 747931 has been marked as a duplicate of this bug. ***
Comment 13 Adam Williamson 2011-10-24 00:31:41 EDT
so that's totem, empathy *and* cheese all affected now. just how much of the 'fallback desktop' does the gnome team figure it's okay to break?!



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers
Comment 14 Adel Gadllah 2011-10-24 05:00:39 EDT
(In reply to comment #13)
> so that's totem, empathy *and* cheese all affected now. just how much of the
> 'fallback desktop' does the gnome team figure it's okay to break?!

That sounds like trolling .... but (upstream) maintainers of said this apps don't go around thinking "oh lets break this for fallback mode" but they simply use newer tech (clutter in this case). The fact that mesa's swrast / softpipe / llvmpipe crashes here is unfortunate but not really gnome's fault.

On the constructive side ... lets move this to mesa and see whether ajax or airlied have any idea why this crashes here and whether we can have it fixed in the short term.
Comment 15 Couret Charles-Antoine 2011-10-24 07:57:59 EDT
Description of problem:
I can't launch these programs :
-Totem
-Cheese
-Empathy

If I launch these programs in Terminal, I have this error :
"[Renault@DiNozzo ~]$ totem
Gtk-Message: Failed to load module "pk-gtk-module"
failed to create drawable

(totem:3134): Clutter-CRITICAL **: Unable to initialize Clutter: Unable to select the newly created GLX context

(totem:3134): Gdk-WARNING **: The program 'totem' received an X Window System error."

Additional info:

I have a nVidia card Quadro 1000m with the driver « nouveau ».
I searched this error in the web, it's a problem with the graphical driver (in general) with « nomodset » option in boot. But I don't have this option in boot
Comment 16 Adam Williamson 2011-10-24 12:46:31 EDT
adel: they chose to rely on new technology, where that new technology apparently simply doesn't work in the absence of hardware-accelerated 3D rendering.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers
Comment 17 Fedora Update System 2011-10-24 14:15:45 EDT
mesa-7.11-5.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/mesa-7.11-5.fc16
Comment 18 Adam Jackson 2011-10-24 14:17:52 EDT
I'd fixed this in Mesa master as part of the groundwork for gnome-shell on llvmpipe, but apparently it never found its way to 7.11 branch.  My bad.
Comment 19 Adam Williamson 2011-10-24 20:03:53 EDT
The fix is only partial - it does allow apps to run, but totem can't play video and neither apparently can cheese.
Comment 20 Fedora Update System 2011-10-24 23:08:01 EDT
Package mesa-7.11-5.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mesa-7.11-5.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2011-14891
then log in and leave karma (feedback).
Comment 21 Kamil Páral 2011-10-25 05:06:42 EDT
After applying fix totem starts, but no video is playing in KVM. I have to re-test on bare metal. I will file a separate bug about it.
Comment 22 Kamil Páral 2011-10-25 05:15:52 EDT
Reported totem playback issue as bug 748747.
Comment 23 Adam Williamson 2011-10-25 13:02:04 EDT
multiple verifications that this is fixed.
Comment 24 Adam Williamson 2011-10-29 02:41:54 EDT
mesa 7.11-8.fc16 went stable, so CLOSING.



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers
Comment 25 Tomasz Sterna 2011-10-29 11:50:06 EDT
This is possibly a duplicate of Bug 575825

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