Bug 1845484

Summary: Errors from gnome-shell when switching user
Product: Red Hat Enterprise Linux 7 Reporter: Oliver Falk <ofalk>
Component: gnome-shellAssignee: Florian Müllner <fmuellner>
Status: CLOSED DUPLICATE QA Contact: Desktop QE <desktop-qa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.8CC: jadahl
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-06-09 18:36:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Oliver Falk 2020-06-09 11:14:04 UTC
Description of problem:
When switching the user, we see error messages from gnome-shell


Version-Release number of selected component (if applicable): -


How reproducible: Always.


Steps to Reproduce:
Vanilla RHEL 7.8 with Gnome.
1. Click on switch user
2. Check the messages - you see something similar to this:

    gnome-shell[<pid>]: g_array_unref: assertion 'array' failed

or this:

    gnome-shell[<pid>]: _st_paint_shadow_with_opacity: assertion 'shadow_pipeline != NULL' failed

or this (looks like being caused by some extension...):

    gnome-shell[<pid>]: JS WARNING: [resource:///org/gnome/shell/ui/popupMenu.js 717]: reference to undefined property "_delegate"
    gimp gnome-shell[<pid>]: JS ERROR: TypeError: super._onDestroy is not a function
                                        _onDestroy@/usr/share/gnome-shell/extensions/apps-menu.github.com/extension.js:457:9
                                        destroy@resource:///org/gnome/shell/ui/panelMenu.js:192:9
                                        wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                        destroy@/usr/share/gnome-shell/extensions/apps-menu.github.com/extension.js:708:9
                                        disable@/usr/share/gnome-shell/extensions/apps-menu.github.com/extension.js:722:5
                                        disableExtension@resource:///org/gnome/shell/ui/extensionSystem.js:83:9
                                        disableAllExtensions/<@resource:///org/gnome/shell/ui/extensionSystem.js:378:13
                                        disableAllExtensions@resource:///org/gnome/shell/ui/extensionSystem.js:377:9
                                        _sessionUpdated@resource:///org/gnome/shell/ui/extensionSystem.js:395:9
                                        _emit@resource:///org/gnome/gjs/modules/signals.js:128:27
                                        _sync@resource:///org/gnome/shell/ui/sessionMode.js:204:9
                                        wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                        pushMode@resource:///org/gnome/shell/ui/sessionMode.js:166:9
                                        wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                        activate@resource:///org/gnome/shell/ui/screenShield.js:1281:17
                                        wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                        lock@resource:///org/gnome/shell/ui/screenShield.js:1330:9
                                        wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                        activateSwitchUser@resource:///org/gnome/shell/misc/systemActions.js:411:13
                                        wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                        _createSubMenu/<@resource:///org/gnome/shell/ui/status/system.js:233:13
                                        _emit@resource:///org/gnome/gjs/modules/signals.js:128:27
                                        activate@resource:///org/gnome/shell/ui/popupMenu.js:166:9
                                        wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                        _onButtonReleaseEvent@resource:///org/gnome/shell/ui/popupMenu.js:127:9
                                        wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
    gnome-shell[<pid>]: clutter_actor_get_parent: assertion 'CLUTTER_IS_ACTOR (self)' failed

On some systems, the following can be seen in addition:

    journal: JS WARNING: [resource:///org/gnome/shell/ui/main.js 315]: reference to undefined property "MetaStage"
    journal: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 221]: reference to undefined property "MetaWindowGroup"
    journal: JS WARNING: [resource:///org/gnome/shell/ui/osdMonitorLabeler.js 59]: reference to undefined property "MetaDBusDisplayConfigSkeleton"
    journal: JS WARNING: [resource:///org/gnome/shell/ui/slider.js 38]: reference to undefined property "CallyActor"
    journal: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 29]: reference to undefined property "MetaWindowX11"
    journal: JS WARNING: [resource:///org/gnome/shell/gdm/realmd.js 130]: reference to undefined property "_loginFormat"

Actual results: Errors in the log files, which is an unwanted behaviour for my customer.


Expected results: No errors are logged under normal circumstances, esp. for normal actions like switching user.


Additional info:
Customer case attached.

Comment 2 Florian Müllner 2020-06-09 14:30:46 UTC
(In reply to Oliver Falk from comment #0)

> 2. Check the messages - you see something similar to this:
> 
>     gnome-shell[<pid>]: g_array_unref: assertion 'array' failed

That sounds like https://bugzilla.redhat.com/show_bug.cgi?id=1578186, although that was fixed in RHEL 7.8.


>     gnome-shell[<pid>]: _st_paint_shadow_with_opacity: assertion
> 'shadow_pipeline != NULL' failed

I only see one place where the pipeline is passed without a previous check, so that should be easily fixable.


>     gnome-shell[<pid>]: JS WARNING:
> [resource:///org/gnome/shell/ui/popupMenu.js 717]: reference to undefined
> property "_delegate"
>     gimp gnome-shell[<pid>]: JS ERROR: TypeError: super._onDestroy is not a
> function

That's https://bugzilla.redhat.com/show_bug.cgi?id=1782102

> 
> On some systems, the following can be seen in addition:
> 
>     journal: JS WARNING: [resource:///org/gnome/shell/ui/main.js 315]:
> reference to undefined property "MetaStage"
>     journal: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 221]:
> reference to undefined property "MetaWindowGroup"
>     journal: JS WARNING:
> [resource:///org/gnome/shell/ui/osdMonitorLabeler.js 59]: reference to
> undefined property "MetaDBusDisplayConfigSkeleton"
>     journal: JS WARNING: [resource:///org/gnome/shell/ui/slider.js 38]:
> reference to undefined property "CallyActor"
>     journal: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 29]:
> reference to undefined property "MetaWindowX11"

Those are javascript-encounters-non-introspected-subtypes warnings that cannot be fixed in gnome-shell. See https://bugzilla.redhat.com/show_bug.cgi?id=1751121.


>     journal: JS WARNING: [resource:///org/gnome/shell/gdm/realmd.js 130]:
> reference to undefined property "_loginFormat"

Fixed upstream in https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/ea5aaa8ab2e386b59cd28f1266d4712194c97dcc.

Comment 3 Florian Müllner 2020-06-09 18:36:31 UTC
For the sake of simplicity, one "Various JS warnings" bug is enough; let's track the bits that haven't dedicated issues yet in #1751121.

*** This bug has been marked as a duplicate of bug 1751121 ***