Bug 14131

Summary: mutter, gdm and gnome-shell have incompatible versions
Product: Mageia Reporter: Marcel Mundl <Marcel>
Component: RPM PackagesAssignee: Olav Vitters <olav>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: Marcel, fundawang, jani.valimaa, mageia, mageia, thierry.vignaud
Version: Cauldron   
Target Milestone: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Source RPM: CVE:
Status comment:

Description Marcel Mundl 2014-09-20 19:07:21 CEST
Description of problem:

I recently updated the gnome-shell and other gnome-related packages(like e.g. gdm) and now each time I try to use gdm the screen stays black and I get the following message in the journal. I already filed a bug at the gnome bugzilla and that leaded to the conclusion that the versions are mismatching.

Sep 19 13:20:02 GANDALF gnome-session[1241]: ** (gnome-shell:1273): WARNING **:
Could not load applications usage data: Fehler beim Ãffnen der Datei: Keine
Berechtigung

Translation in english:

Sep 19 13:20:02 GANDALF gnome-session[1241]: ** (gnome-shell:1273): WARNING **:
Could not load applications usage data: Error at opening the file: No
permission

It goes on with the following (which I think is a stacktrace)
Sep 19 13:20:02 GANDALF gnome-session[1241]: (gnome-shell:1273): Gjs-WARNING
**: JS ERROR: Error: No property monitor on this GObject MetaBackground
Sep 19 13:20:02 GANDALF gnome-session[1241]:
ScreenShield<._updateActorBackgrounds@resource:///org/gnome/shell/ui/screenShield.js:620
Sep 19 13:20:02 GANDALF gnome-session[1241]:
wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Sep 19 13:20:02 GANDALF gnome-session[1241]:
ScreenShield<._updateBackgrounds@resource:///org/gnome/shell/ui/screenShield.js:640
Sep 19 13:20:02 GANDALF gnome-session[1241]:
wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Sep 19 13:20:02 GANDALF gnome-session[1241]:
ScreenShield<._init@resource:///org/gnome/shell/ui/screenShield.js:489
Sep 19 13:20:02 GANDALF gnome-session[1241]:
wrapper@resource:///org/gnome/gjs/modules/lang.js:169
Sep 19 13:20:02 GANDALF gnome-session[1241]:
_Base.prototype._construct@resource:///org/gnome/gjs/modules/lang.js:110
Sep 19 13:20:02 GANDALF gnome-session[1241]:
Class.prototype._construct/newClass@resource:///org/gnome/gjs/modules/lang.js:204
Sep 19 13:20:02 GANDALF gnome-session[1241]:
_initializeUI@resource:///org/gnome/shell/ui/main.js:152
Sep 19 13:20:02 GANDALF gnome-session[1241]:
start@resource:///org/gnome/shell/ui/main.js:114
Sep 19 13:20:02 GANDALF gnome-session[1241]: @<main>:1
Sep 19 13:20:02 GANDALF gnome-session[1241]: ** Message: Execution of main.js
threw exception: JS_EvaluateScript() failed


Version-Release number of selected component (if applicable):
gdm: 3.13.91
gnome-shell: 3.13.92
mutter: 3.13.92

How reproducible:


Steps to Reproduce:
1. Update mutter, gdm and gnome-shell to the latest versions in the repository.
2. Use gdm as display manager.
3. See your gdm crashing on the next boot.

It would be nice if the gdm package would be updated soon.


Reproducible: 

Steps to Reproduce:
Marcel Mundl 2014-09-20 19:07:40 CEST

CC: (none) => Marcel

Comment 1 Manuel Hiebel 2014-09-20 21:59:41 CEST
olav, funda ?

CC: (none) => fundawang
Assignee: bugsquad => olav

Comment 2 Marcel Mundl 2014-09-24 10:59:56 CEST
Sorry for pushing but since nothing seem to happen but the problem still persists I just not this to be forgotten completely.
Comment 3 Manuel Hiebel 2014-09-24 14:47:54 CEST
they where: http://pkgsubmit.mageia.org/?user=ovitters

 gdm-3.14.0-1.mga5 	ovitters 2 days ago 	cauldron core/release	uploaded 11 hours

 gnome-shell-3.14.0-1.mga5 	ovitters 23 hours ago 	cauldron core/release	uploaded 30 minutes

 mutter-3.14.0-1.mga5 	ovitters 2 days ago 	cauldron core/release	uploaded 11 hours

Status: NEW => RESOLVED
Resolution: (none) => FIXED

Comment 4 Marcel Mundl 2014-09-25 12:05:45 CEST
ok I got it now. The mirror I used was outdated so I did not see that. I just changed to a mirror that is synced directly with rsync.mageia.org.
Comment 5 Thierry Vignaud 2014-09-28 05:52:32 CEST
It still happens with GNOME Classic (gnome-shell-extensions hasn't been updated)

Status: RESOLVED => REOPENED
CC: (none) => thierry.vignaud
Resolution: FIXED => (none)

Comment 6 Olivier Blin 2014-09-30 01:09:47 CEST
This still happens for me with default GNOME, I get the same error as in the initial comment:
JS ERROR: Error: No property monitor on this GObject MetaBackground
+ JS stacktrace

CC: (none) => mageia

Comment 7 Olivier Blin 2014-09-30 01:25:48 CEST
Looks like our gnome-shell-3.10.0.1-allow-per-screen-backgrounds.patch has to be rewritten after upstream gnome-shell changes in the commits below.
Is our patch still relevant?

commit 650dea017b551b24f594f104366afb47fd73794c
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Mon Aug 11 18:15:45 2014 +0200

    Adapt to Mutter background changes
    
    The rewrite of Mutter's background code (see bug 735637) requires
    corresponding changes here - we no longer need to layer multiple
    MetaBackgroundActors together.
    
    The general strategy is that a BackgroundSource object is created
    per GSettings schema, and keeps either one Background/MetaBackground pair,
    or, for animation, a Background/Metabackground pair for each monitor.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=735638

commit 0992bd41ed27d5f1243e9111a10e48d4631b5751
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Sep 12 17:07:31 2014 -0400

    background.js: fix updating a BackgroundSource on monitor changes
    
    It was assumed that BackgroundSource objects were always destroyed
    on monitor changes because the BackgroundManager objects that hold
    references were destroyed, but sequencing of updating of different
    BackgroundManager objects meant that was not the case.
    
    Properly update any cached Background objects held by the
    BackgroundSource on a change to the monitor layout; in particular this
    means updating animations in case they are multi-resolution.

CC: (none) => mageia

Manuel Hiebel 2014-09-30 07:35:36 CEST

CC: (none) => jani.valimaa

Comment 8 Colin Guthrie 2014-09-30 09:54:09 CEST
We can just disable it for now and see if we need to fix things. The problem it solved was two fold: one it allowed one image per monitor (the same image, but that was fine for our needs) and the second was that it scaled the image (stretched) it properly to fill the whole screen rather than be letterboxed.

Ray (upstream gdm) helped me with the patch so I can take a look at the code sometime soon and see if it's still needed and perhaps get advice from Ray again if needed.
Comment 9 Olivier Blin 2014-10-01 01:42:29 CEST
Disabling this patch fixing the gdm issue for me on my home laptop, and also running a GNOME session on my work laptop.

Though, without this patch, we have to disable the next patch that replaces the gray noise background by an image in the lock screen and gdm login screen.
Comment 10 Thierry Vignaud 2014-10-01 16:56:49 CEST
Please upload a fixed package in the meantime.
Comment 11 Olivier Blin 2014-10-02 18:31:03 CEST
Pushed in 3.14-3
The background image is thus disabled in screen lock and gdm login screen.

Status: REOPENED => RESOLVED
Resolution: (none) => FIXED

Comment 12 Thierry Vignaud 2014-10-03 21:17:37 CEST
I would say it's workarounded and I wouldn't have closed the bug as we don't have background anymore so the patch still needs fixing :-)
Comment 13 Colin Guthrie 2014-10-04 20:39:46 CEST
Fixed (I hope) and reenabled.
Comment 14 Colin Guthrie 2014-10-06 12:06:49 CEST
OK, so it mostly works. Looks a little broken on the lock screen for me after hot-plugging in a monitor so it's not complete it seems (not sure if it looks better when things are initialised with both monitors, but will hack away on it).
Comment 15 Olivier Blin 2014-10-07 01:19:34 CEST
But why do we need a patch for such a basic feature?
Don't they have a background image for these screens in Fedora?
Couldn't we push the patch upstream?
Comment 16 Colin Guthrie 2014-10-07 10:05:56 CEST
(In reply to Olivier Blin from comment #15)
> But why do we need a patch for such a basic feature?
> Don't they have a background image for these screens in Fedora?

Not as far as I know (I think they just use the default pattern), or if they do they have to override the CSS theme and put the image in that way. 

The CSS approach that is used allows repeating images fine, or allows for patterns etc, but it doesn't allow images unless you match the exact dimensions. We used to use this approach in MGA2 (CSS only) and if the image didn't fit perfectly, you got a letter box and with two monitors you got an image stretched across two screens!

> Couldn't we push the patch upstream?

It was quite a late patch that was introduced with the help of Ray upstream. I should have revisited it with him after release.... but you know how it goes!

In it's current form the patch needs some work. It would need to be fixed to cope with hotplug monitor changes better (easy enough I should think) and have proper schemas added such that each screen could (in theory at least) have it's own background image (much of the code to support this is already in background.js tho'.)

It wouldn't take much work to make it nice enough that upstream would probably support it (I'd guess).
Comment 17 Colin Guthrie 2014-10-09 21:14:32 CEST
OK, I got sick of the ugly look+feel on dual monitors so rewrote the whole thing.

It's now based on schemas and might even be acceptable upstream - fingers crossed!

https://bugzilla.gnome.org/show_bug.cgi?id=738260