After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 785556 - GDM doesn't load with gjs 1.49.4
GDM doesn't load with gjs 1.49.4
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: login-screen
3.25.x
Other Linux
: Normal major
: ---
Assigned To: Ray Strode [halfline]
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2017-07-29 12:16 UTC by Jeremy Bicha
Modified: 2017-08-10 18:19 UTC
See Also:
GNOME target: 3.26
GNOME version: ---


Attachments
gdmUtils: Define constants with 'var' (2.26 KB, patch)
2017-08-10 18:19 UTC, Florian Müllner
committed Details | Review

Description Jeremy Bicha 2017-07-29 12:16:04 UTC
gnome-shell 3.25.4 is working fine for me on Ubuntu 17.10 Alpha with the GNOME3 Staging PPA with gjs 1.48 and mozjs38. I then tried building against gjs 1.49.4 built against mozjs52. When I rebooted, gdm loads mostly but the user list doesn't show up.

Relevant package versions are generally the latest available 3.25 versions:
https://launchpad.net/~gnome3-team/+archive/ubuntu/gnome3-staging/+packages?field.series_filter=artful
https://launchpad.net/~jbicha/+archive/ubuntu/temp20170721/+packages


I get these errors in my journal:


Jul 29 07:52:34 gnome-shell[1298]: JS ERROR: Exception in callback for signal: startup-prepared: Error: No property 'schema_id' in property list (or its value was undefined)
                                                        LoginDialog<._init@resource:///org/gnome/shell/gdm/loginDialog.js:425:26

                               wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                                        _Base.prototype._construct@resource:///org/gnome/gjs/modules/lang.js:110:5
                                                        Class.prototype._construct/newClassConstructor@resource:///org/gnome/gjs/modules/lang.js:213:20
                                                        ScreenShield<._ensureUnlockDialog@resource:///org/gnome/shell/ui/screenShield.js:976:28
                                                        wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                                        ScreenShield<.showDialog@resource:///org/gnome/shell/ui/screenShield.js:917:13
                                                        wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                                        _initializeUI/<@resource:///org/gnome/shell/ui/main.js:223:13
                                                        _emit@resource:///org/gnome/gjs/modules/signals.js:126:27
                                                        LayoutManager<._prepareStartupAnimation@resource:///org/gnome/shell/ui/layout.js:621:9
                                                        wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                                        LayoutManager<._loadBackground/signalId<@resource:///org/gnome/shell/ui/layout.js:566:13
                                                        _emit@resource:///org/gnome/gjs/modules/signals.js:126:27
                                                        SystemBackground<._init/id<@resource:///org/gnome/shell/ui/background.js:519:40
Jul 29 07:52:34 gnome-shell[1298]: Error looking up permission: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.impl.portal.PermissionStore was not pro
Jul 29 07:52:34 dbus-daemon[1286]: Activating service name='ca.desrt.dconf'
Jul 29 07:52:34 dbus-daemon[1286]: Successfully activated service 'ca.desrt.dconf'
Jul 29 07:52:34 org.gnome.Shell.desktop[1298]: Window manager warning: Overwriting existing binding of keysym ffb5 with keysym ffb5 (keycode 54).
Jul 29 07:52:35 gnome-session-binary[1288]: Entering running state
Jul 29 07:52:35 dbus[903]: [system] Activating via systemd: service name='org.freedesktop.ColorManager' unit='colord.service'
Jul 29 07:52:35 systemd[1]: Starting Manage, Install and Generate Color Profiles...
Jul 29 07:52:35 org.gnome.Shell.desktop[1298]: Window manager warning: "XF86RFKill" is not a valid accelerator
Jul 29 07:52:35 xbrlapi.desktop[1559]: openConnection: connect: No such file or directory
Jul 29 07:52:35 xbrlapi.desktop[1559]: cannot connect to braille devices daemon brltty at :0
Jul 29 07:52:35 dbus[903]: [system] Successfully activated service 'org.freedesktop.ColorManager'
Jul 29 07:52:35 systemd[1]: Started Manage, Install and Generate Color Profiles.
Jul 29 07:52:35 gnome-shell[1298]: JS WARNING: [resource:///org/gnome/shell/gdm/loginDialog.js 588]: reference to undefined property "_bannerView"
Jul 29 07:52:35 gnome-shell[1298]: JS ERROR: TypeError: this._bannerView is undefined
                                                        LoginDialog<._onAllocate@resource:///org/gnome/shell/gdm/loginDialog.js:588:1
                                                        wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                                        LayoutManager<._init/<@resource:///org/gnome/shell/ui/layout.js:204:33
Jul 29 07:52:35 gnome-shell[1298]: JS WARNING: [resource:///org/gnome/shell/ui/windowManager.js 1464]: reference to undefined property "MetaWindowX11"
Jul 29 07:52:35 org.gnome.Shell.desktop[1298]: Window manager warning: Overwriting existing binding of keysym ffb5 with keysym ffb5 (keycode 54).
Jul 29 07:52:35 gnome-shell[1298]: JS WARNING: [resource:///org/gnome/gjs/modules/tweener/tweener.js 540]: reference to 
Jul 29 07:52:43 gnome-shell[1298]: JS ERROR: TypeError: this._bannerView is undefined
                                                        LoginDialog<._onAllocate@resource:///org/gnome/shell/gdm/loginDialog.js:588:1
                                                        wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                                        LayoutManager<._init/<@resource:///org/gnome/shell/ui/layout.js:204:33
Jul 29 07:52:49 gnome-shell[1298]: JS ERROR: TypeError: this._bannerView is undefined
                                                        LoginDialog<._onAllocate@resource:///org/gnome/shell/gdm/loginDialog.js:588:1
                                                        wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
                                                        LayoutManager<._init/<@resource:///org/gnome/shell/ui/layout.js:204:33
Comment 1 Philip Chimento 2017-07-29 15:58:01 UTC
https://git.gnome.org/browse/gnome-shell/tree/js/gdm/util.js#n27 and probably some of the following lines too, needs to change `const` to `var`.

However, you should have gotten a compatibility warning about that and it should have still worked properly... is GdmUtil a real module object at the point when that callback is called? (What happens if you printerr(GdmUtil) just before the offending line?)
Comment 2 Jeremy Bicha 2017-07-29 17:56:05 UTC
I tried adding the printerr(GdmUtil) line. I don't know if I did it right but this is what I got:

gnome-shell[1291]: JS ERROR: Exception in callback for signal: startup-prepared: ReferenceError: GdmUtil is not defined
_initializeUI/<@resource:///org/gnome/shell/ui/main.js:223:13
_emit@resource:///org/gnome/gjs/modules/signals.js:126:27
LayoutManager<._prepareStartupAnimation@resource:///org/gnome/shell/ui/layout.js:621:9
wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
LayoutManager<._loadBackground/signalId<@resource:///org/gnome/shell/ui/layout.js:566:13
_emit@resource:///org/gnome/gjs/modules/signals.js:126:27
SystemBackground<._init/id<@resource:///org/gnome/shell/ui/background.js:519:40

and later
---------

gnome-shell[1291]: JS ERROR: ReferenceError: GdmUtil is not defined
                                                        WindowManager<._mapWindow@resource:///org/gnome/shell/ui/windowManager.js:1464:9
 wrapper@resource:///org/gnome/gjs/modules/lang.js:178:22
 gnome-shell[1291]: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 29]: reference to undefined property "MetaWindowX11"
 org.gnome.Shell.desktop[1291]: Window manager warning: Overwriting existing binding of keysym ffb5 with keysym ffb5 (keycode 54).
 gnome-shell[1291]: JS WARNING: [resource:///org/gnome/gjs/modules/tweener/tweener.js 540]: reference to undefined property "isSpecialProperty"

Other Info
----------
Changing 'const' to 'var' in those several lines works.
Comment 3 Philip Chimento 2017-07-30 14:13:21 UTC
Based on IRC scrollback it looks like you need this patch in your mozjs: https://github.com/ptomato/mozjs/commit/1b82d28588ad5fe74116c6e6099c8f2f2eb392ff
That enables GJS to have the backwards compatibility preserving behaviour.

However, those lines should still be patched in gnome-shell, so I'll reassign this.
Comment 4 André Klapper 2017-07-30 15:29:46 UTC
Potentially related: bug 785556, bug 785568, bug 785569, bug 785571
Comment 5 darkxst 2017-07-30 16:14:50 UTC
yes that mozjs patch fixed gdm user list and allows the other apps to run also as per related bugs above. Not withstanding required code changes.
Comment 6 Florian Müllner 2017-08-10 18:19:01 UTC
The following fix has been pushed:
e39f4ec gdmUtils: Define constants with 'var'
Comment 7 Florian Müllner 2017-08-10 18:19:09 UTC
Created attachment 357352 [details] [review]
gdmUtils: Define constants with 'var'

Most of those are accessed outside the module itself, but commit
033277b6 missed them ...