Bug 2170044

Summary: [gjs] Gnome-shell crash
Product: Red Hat Enterprise Linux 9 Reporter: Paulo Andrade <pandrade>
Component: gjsAssignee: Florian Müllner <fmuellner>
Status: CLOSED ERRATA QA Contact: Michael Boisvert <mboisver>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 9.1CC: jadahl, mboisver, pschindl, rstrode, torkil, tpelka, tpopela
Target Milestone: rcKeywords: Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: gjs-1.68.6-3.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2170067 (view as bug list) Environment:
Last Closed: 2023-05-09 07:54:52 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:    
Bug Blocks: 2170067    

Description Paulo Andrade 2023-02-15 14:05:44 UTC
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

Comment 1 Florian Müllner 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.

Comment 2 Tomas Popela 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 10 errata-xmlrpc 2023-05-09 07:54:52 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 (gjs 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:2443