Bug 2170067

Summary: [gnome-shell-extensions] Gnome-shell crash
Product: Red Hat Enterprise Linux 9 Reporter: Tomas Popela <tpopela>
Component: gnome-shell-extensionsAssignee: Florian Müllner <fmuellner>
Status: CLOSED ERRATA QA Contact: Michael Boisvert <mboisver>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 9.1CC: desktop-qa-list, fmuellner, jadahl, mboisver, pandrade, rstrode, tpopela
Target Milestone: rcKeywords: Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: gnome-shell-extensions-40.7-7.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 2170044 Environment:
Last Closed: 2023-05-09 07:46: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:
Bug Depends On: 2170044    
Bug Blocks:    

Description Tomas Popela 2023-02-15 15:01:27 UTC
+++ This bug was initially created as a clone of Bug #2170044 +++

User has this backtrace:

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007fc2ac21e5b3 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007fc2ac1d1ce6 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x0000560d8b49a242 in dump_gjs_stack_on_signal_handler (signo=11) at ../src/main.c:357
#4  <signal handler called>
#5  std::__uniq_ptr_impl<JS::PersistentRooted<JSFunction*>, std::default_delete<JS::PersistentRooted<JSFunction*> > >::_M_ptr (this=0x18)
    at /usr/include/c++/11/bits/unique_ptr.h:173
#6  std::unique_ptr<JS::PersistentRooted<JSFunction*>, std::default_delete<JS::PersistentRooted<JSFunction*> > >::get (this=0x18)
    at /usr/include/c++/11/bits/unique_ptr.h:422
#7  std::unique_ptr<JS::PersistentRooted<JSFunction*>, std::default_delete<JS::PersistentRooted<JSFunction*> > >::operator bool (this=0x18)
    at /usr/include/c++/11/bits/unique_ptr.h:436
#8  GjsMaybeOwned<JSFunction*>::get (this=0x10) at ../gjs/jsapi-util-root.h:181
#9  GjsMaybeOwned<JSObject*>::operator JSObject* const (this=0x10) at ../gjs/jsapi-util-root.h:183
#10 ObjectInstance::wrapper (this=0x0) at ../gi/object.h:337
#11 gjs_object_set_gproperty (object=<optimized out>, property_id=<optimized out>, value=0x7ffff3322620, pspec=0x560d8f04d650) at ../gi/gobject.cpp:176
#12 0x00007fc2ad1ba936 in object_set_property (object=object@entry=0x560d8f25a440, pspec=0x560d8f04d650, value=value@entry=0x7ffff33226f0, 
    nqueue=nqueue@entry=0x560d8ddf6650) at ../gobject/gobject.c:1565

The problem is in frame 11:

(gdb) f 11
#11 gjs_object_set_gproperty (object=<optimized out>, property_id=<optimized out>, value=0x7ffff3322620, pspec=0x560d8f04d650) at ../gi/gobject.cpp:176
176         JS::RootedObject js_obj(cx, priv->wrapper());
(gdb) p priv
$6 = (ObjectInstance *) 0x0

  Checking for user environment and possible reproducer, this reproducer was found:

1. Login as any user choosing GNOME Classic in gdm prompt
2. As root run 'authselect apply-changes'

  User was told to use 'GNOME Standard', but almost certain will loose features as
user is also using gnome-shell-extension-desktop-icons

--- Additional comment from Florian Müllner on 2023-02-15 14:55:07 UTC ---

This looks like https://gitlab.gnome.org/GNOME/gjs/-/issues/510 (avoid crashing under these circumstances) and https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/416 (window-list extension handling all settings changing all at once (due to `dconf update`).

It probably makes sense to include both fixes, but as they happened in different components, I reckon we'll need to separate bugs.

--- Additional comment from Tomas Popela on 2023-02-15 15:00:07 UTC ---

(In reply to Florian Müllner from comment #1)
> It probably makes sense to include both fixes, but as they happened in
> different components, I reckon we'll need to separate bugs.

Let me change the component for this bug to gjs and copy the bug for gnome-shell-extensions.

Comment 1 Michael Boisvert 2023-02-16 16:50:23 UTC
Using gnome-shell-extensions-40.7-7.el9, there is no longer a crash and the following message is displayed: Changes were successfully applied.

Comment 7 errata-xmlrpc 2023-05-09 07:46:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (gnome-shell-extensions bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:2328