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 788931 - Crashes when setting the label of invalid StLabel objects
Crashes when setting the label of invalid StLabel objects
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
3.26.x
Other Linux
: High critical
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 786557 788737 789398 791056 791919 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2017-10-13 11:18 UTC by Michael Aquilina
Modified: 2018-03-02 09:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
debug info (1.57 KB, text/plain)
2017-10-22 10:06 UTC, gan lu
  Details
New debug with Macro's advice (1.29 KB, text/plain)
2017-10-22 10:13 UTC, gan lu
  Details
New jounalctl info after I removed GEWallpaper extension (8.39 KB, text/plain)
2017-10-23 23:56 UTC, gan lu
  Details
status/keyboard: Reset menuItems and Label objects on change (2.29 KB, patch)
2017-10-28 07:31 UTC, Marco Trevisan (Treviño)
none Details | Review
Crash with debug output (39.96 KB, text/plain)
2017-11-10 15:34 UTC, Michael
  Details
js stacktrace (133.26 KB, text/plain)
2017-11-16 21:17 UTC, Strangiato
  Details
status/keyboard: Reset menuItems and Label objects on change (1.62 KB, patch)
2017-11-21 07:17 UTC, Marco Trevisan (Treviño)
committed Details | Review
status/keyboard: Reset menuItems and Label objects on change (1.62 KB, patch)
2017-11-21 16:03 UTC, Marco Trevisan (Treviño)
committed Details | Review

Description Michael Aquilina 2017-10-13 11:18:50 UTC
I dont have much information to go on unfurtunately other than what I find in dmesg:

```
gnome-shell[3187]: segfault at 400000002 ip 00007f0cb7c7fb72 sp 00007fff5b45ae60 
error 4 in libgobject-2.0.so.0.5400.1[7f0cb7c49000+52000]
```

The frequency of these makes it hard to pin down what the exact problem is and disabling extensions does not seem to help so I do not think they are the culprit. It mainly seems to occur when openning new windows and switching windows.

Happy to get get more information for you guys if I am given pointers how to get them (searching on Google did not help much).

Machine:
Linux localhost.localdomain 4.13.5-1-default #1 SMP PREEMPT Thu Oct 5 18:28:26 UTC 2017 (3fd9659) x86_64 x86_64 x86_64 GNU/Linux
OpenSUSE Tumbleweed
Comment 1 Edouard 2017-10-16 07:12:44 UTC
Same here:

kernel: gnome-shell[6396]: segfault at 100000016 ip 00007fbbe2f53a0d sp 00007ffcb2ca0280 error 4 in libgobject-2.0.so.0.5400.0[7fbbe2f1b000+54000]

Only occurs since upgrade to 3.26.

On:
Linux somehost.somedomain 4.13.5-1-ARCH #1 SMP PREEMPT Fri Oct 6 09:58:47 CEST 2017 x86_64 GNU/Linux

How can I help ?

I have this in the log just before the crash:
oct. 09 18:17:06 somehost.somedomain org.gnome.Shell.desktop[1010]: Window manager warning: 0x1e00001 (new.html —) appears to be one of the offending windows with a timestamp of 3484336.  Working around..
oct. 09 18:17:06 somehost.somedomain org.gnome.Shell.desktop[1010]: Window manager warning: last_user_time (3484488) is greater than comparison timestamp (3484478).  This most likely represents a buggy cl
oct. 09 18:17:06 somehost.somedomain org.gnome.Shell.desktop[1010]: Window manager warning: 0x1e00001 (new.html —) appears to be one of the offending windows with a timestamp of 3484488.  Working around..
oct. 09 18:17:41 somehost.somedomain gsd-color[1200]: failed to set screen _ICC_PROFILE: L’ouverture du fichier « /var/lib/gdm/.local/share/icc/edid-8135d71d28069df4a5c56123aeaee90c.icc » a échoué : Permi
oct. 09 18:17:41 somehost.somedomain gsd-color[1200]: failed to set screen _ICC_PROFILE: L’ouverture du fichier « /v

And this trace:
oct. 15 19:17:06 taran.in.noisy.linuxed.net systemd-coredump[29699]: Process 21057 (gnome-shell) of user 1000 dumped core.
                                                                     
                                                                     Stack trace of thread 21057:
                                                                     #0  0x00007f98f13b69e2 g_type_check_instance_cast (libgobject-2.0.so.0)
                                                                     #1  0x00007f98ef0da960 st_label_set_text (libst-1.0.so)
                                                                     #2  0x00007f98eba461c8 ffi_call_unix64 (libffi.so.6)
                                                                     #3  0x00007f98eba45c2a ffi_call (libffi.so.6)
                                                                     #4  0x00007f98f0060cbb n/a (libgjs.so.0)
                                                                     #5  0x00007f98f0062617 n/a (libgjs.so.0)
                                                                     #6  0x00007f98e971164d n/a (libmozjs-52.so.0)
                                                                     #7  0x00007f98e9704687 n/a (libmozjs-52.so.0)
                                                                     #8  0x00007f98e9710e97 n/a (libmozjs-52.so.0)
                                                                     #9  0x00007f98e971146f n/a (libmozjs-52.so.0)
                                                                     #10 0x00007f98e9711779 n/a (libmozjs-52.so.0)
                                                                     #11 0x00007f98e9501219 n/a (libmozjs-52.so.0)
                                                                     #12 0x00001ec28fea13c6 n/a (n/a)
                                                                     #13 0x00007f98e93ffd3e n/a (libmozjs-52.so.0)
                                                                     #14 0x00007f98e97109e3 n/a (libmozjs-52.so.0)
                                                                     #15 0x00007f98e9710e97 n/a (libmozjs-52.so.0)
                                                                     #16 0x00007f98e971146f n/a (libmozjs-52.so.0)
                                                                     #17 0x00007f98e9711779 n/a (libmozjs-52.so.0)
                                                                     #18 0x00007f98e9501219 n/a (libmozjs-52.so.0)
                                                                     #19 0x00001ec28fea13c6 n/a (n/a)
                                                                     #20 0x00005569f76867b8 n/a (n/a)
                                                                     #21 0x00001ec2900f9bf5 n/a (n/a)
                                                                     #22 0x00007f98e93ffd3e n/a (libmozjs-52.so.0)
                                                                     #23 0x00007f98e97109e3 n/a (libmozjs-52.so.0)
                                                                     #24 0x00007f98e9710e97 n/a (libmozjs-52.so.0)
                                                                     #25 0x00007f98e971146f n/a (libmozjs-52.so.0)
                                                                     #26 0x00007f98e9711779 n/a (libmozjs-52.so.0)
                                                                     #27 0x00007f98e9501219 n/a (libmozjs-52.so.0)
                                                                     #28 0x00001ec28fea13c6 n/a (n/a)

Best regards,
Edouard
Comment 2 Jonas Ådahl 2017-10-16 09:41:47 UTC
Without debug symbols the backtrace has limited usability. Please see https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces for details about how to install debug symbols.

Depending on how brave you are, there is another way to help out, but you need another computer for it, as it'll temporarily freeze your machine:

1. Make sure you have gdb and debug symbols for gnome-shell and mutter installed
2. After having logged in, start a screen/tmux
3. In said screne/tmux, as root, attach gdb to the gnome-shell process (gdb -p <PID>)
4. Wait for the bug to appear; the session should suddenly freeze as gdb stopped gnome-shell when the crash happened
5. From the other computer, SSH into the stuck machine, attach to the screen
6. In the attach screen you should find yourself a gdb prompt. In the gdb prompt type "backtrace full" and attach the output to this bug.
7. Also run "print gjs_dumpstack()". In the journal you should hopefully see a Javascript backtrace. Attach that output to this bug as well.
Comment 3 Marco Trevisan (Treviño) 2017-10-17 00:19:59 UTC
*** Bug 788737 has been marked as a duplicate of this bug. ***
Comment 4 Marco Trevisan (Treviño) 2017-10-17 00:24:38 UTC
This looks to be the same of Ubuntu bug https://pad.lv/1714989, stacktrace for that is:

  • #0 g_type_check_instance_cast
    at ../../../../gobject/gtype.c line 4057
  • #1 st_label_set_text
    at ../src/st/st-label.c line 331
  • #2 object_set_property
    at ../../../../gobject/gobject.c line 1439
  • #3 g_object_setv
    at ../../../../gobject/gobject.c line 2245
  • #4 g_object_set_property
    at ../../../../gobject/gobject.c line 2529
  • #5 set_g_param_from_prop
    at gi/object.cpp line 446
  • #6 object_instance_set_prop
    at gi/object.cpp line 521
  • #7 js::CallJSSetterOp
    at ./js/src/jscntxtinlines.h line 323
  • #8 NativeSetExistingDataProperty
    at ./js/src/vm/NativeObject.cpp line 2198
  • #9 SetExistingProperty
    at ./js/src/vm/NativeObject.cpp line 2406
  • #10 js::NativeSetProperty
    at ./js/src/vm/NativeObject.cpp line 2469
  • #11 js::SetProperty
    at ./js/src/vm/NativeObject.h line 1540
  • #12 SetPropertyOperation
    at ./js/src/vm/Interpreter.cpp line 259
  • #13 Interpret
    at ./js/src/vm/Interpreter.cpp line 2715
  • #14 js::RunScript
    at ./js/src/vm/Interpreter.cpp line 405
  • #15 js::InternalCallOrConstruct
    at ./js/src/vm/Interpreter.cpp line 477
  • #16 InternalCall
    at ./js/src/vm/Interpreter.cpp line 504
  • #17 js::Call
    at ./js/src/vm/Interpreter.cpp line 523
  • #18 js::jit::InvokeFunction
    at ./js/src/jit/VMFunctions.cpp line 114

Not very helpful though, without gjs_dumpstack(), but the reporter has been able to get it during a live gdb session, let's see if he can attach the log.
Comment 5 Eli Gao 2017-10-17 05:19:12 UTC
Same here.

My GNOME Shell 3.26.1 with Wayland on Archlinux kernel 4.13.6-1 usually crashes at the lock screen after I wake up my computer from black screen.

One of the stack trace, without symbols though:

Process 9652 (gnome-shell) of user 1000 dumped core.
                                                         
                                                         Stack trace of thread 9652:
                                                         #0  0x00007fd421ef3a0d g_type_check_instance_cast (libgobject-2.0.so.0)
                                                         #1  0x00007fd41fbd7960 st_label_set_text (libst-1.0.so)
                                                         #2  0x00007fd421edaaef g_object_setv (libgobject-2.0.so.0)
                                                         #3  0x00007fd421edacaf g_object_set_property (libgobject-2.0.so.0)
                                                         #4  0x00007fd420ba55e8 n/a (libgjs.so.0)
                                                         #5  0x00007fd41a1b5cb7 n/a (libmozjs-52.so.0)
                                                         #6  0x00007fd41a1cb68b n/a (libmozjs-52.so.0)
                                                         #7  0x00007fd41a1d846e n/a (libmozjs-52.so.0)
                                                         #8  0x00007fd41a3e5fc1 n/a (libmozjs-52.so.0)
                                                         #9  0x0000097edd15cc06 n/a (n/a)
                                                         #10 0x0000097edd3040b5 n/a (n/a)
                                                         #11 0x00007fd419eb5d3e n/a (libmozjs-52.so.0)
                                                         #12 0x00007fd41a1c69e3 n/a (libmozjs-52.so.0)
                                                         #13 0x00007fd41a1c6e97 n/a (libmozjs-52.so.0)
                                                         #14 0x00007fd41a1c746f n/a (libmozjs-52.so.0)
                                                         #15 0x00007fd41a1c7779 n/a (libmozjs-52.so.0)
                                                         #16 0x00007fd419fb7219 n/a (libmozjs-52.so.0)
                                                         #17 0x0000097edd1653c6 n/a (n/a)
                                                         #18 0x000055897fd4da30 n/a (n/a)
                                                         #19 0x0000097edd3f263f n/a (n/a)
Comment 6 sangu 2017-10-18 01:17:57 UTC
*** Bug 786557 has been marked as a duplicate of this bug. ***
Comment 7 Marco Trevisan (Treviño) 2017-10-20 05:35:53 UTC
So, as per reports in the Ubuntu bug, this seems to be triggered (mostly, but not only) by the extension dash-to-panel:

Oct 17 13:54:52 gollum org.gnome.Shell.desktop[30048]: == Stack trace for context 0x5567bdf59170 ==
Oct 17 13:54:52 gollum org.gnome.Shell.desktop[30048]: #0 0x5567be390fb0 i /home/juergh/.local/share/gnome-shell/extensions/dash-to-panel@jderose9.github.com/windowPreview.js:506 (0x7f58d905d918 @ 36)
Oct 17 13:54:52 gollum org.gnome.Shell.desktop[30048]: #1 0x7fff501a1ef0 I self-hosted:917 (0x7f59284ee4d8 @ 394)

Not to loose the records, this refers exactly to this revision of the extension:

 https://github.com/jderose9/dash-to-panel/blob/v9/windowPreview.js#L506

My guess is that the extension should disconnect from the signal on destroy, so not sure we can do much more than that.
Comment 8 Marco Trevisan (Treviño) 2017-10-20 06:42:22 UTC
I think we can mark this as not-gnome for now (I've sent a PR to the extension upstream), in case we get some other report related to this crash without this extension, let's repen it.
Comment 9 Michael Aquilina 2017-10-20 09:20:09 UTC
I do not have Dash to Dock installed (I am running OpenSUSE not Ubuntu) and get this bug very frequently. I had even tried disabling extensions for a while in case one of them was causing the issue and still experienced this issue (as I mentioned in the original report). I think marking this as not-gnome is wrong for this reason.
Comment 10 Edouard 2017-10-20 09:23:48 UTC
I'm not using dash to panel extension neither (I'm using Archlinux, not Ubuntu). I'm trying to gdb gnome-shell when it crashs but it's not easy.
Comment 11 Eli Gao 2017-10-20 09:33:15 UTC
On my Archlinux, gnome crashes itself when I have no extension installed. I think this definitely looks like a gnome bug.
Comment 12 Marco Trevisan (Treviño) 2017-10-20 09:37:50 UTC
If you get this with some frequency, please follow Jonas comment (https://bugzilla.gnome.org/show_bug.cgi?id=788931#c2) on how to get a javascript dump that we can use, because it's quite hard to find the offending code otherwise.
Comment 13 Marco Trevisan (Treviño) 2017-10-20 09:40:03 UTC
Just a note, the gjs_dumpstack() result will be very likely printed in your journal, so check journalctl.
Comment 14 Marco Trevisan (Treviño) 2017-10-21 22:01:00 UTC
Alternative to what Jonas said to get a trace (until Bug 789237 is fixed), if you only have a machine around you can instead use this automated method, that won't freeze your session (well just for few moments), just run this from a terminal (in your normal session):

  sudo gdb -p $(pidof -s gnome-shell) -batch \
  -ex "set logging on" -ex continue \
  -ex "bt full" -ex "call gjs_dumpstack()" \
  -ex quit

As said, this will just attach a gdb to your session (causing a quick initial freeze) and the continuing until it crashes.
If bad things happen, you'll get a gdb.txt file saved in the directory where you get this script launched, and your journalctl /usr/bin/gnome-shell will include a JS stacktrace (just look for "== Stack trace for context").

Waiting for your traces then ;-).

PS: Jonas, what about adding also something like this to be performed automatically from an Alt+F2 command? So it can set at runtime without env variables or anything.
Comment 15 Marco Trevisan (Treviño) 2017-10-21 22:07:18 UTC
Replace "pidof -s gnome-shell" with "pgrep -U $USER -x gnome-shell" to be sure this won't connect to the gdm instance.
Comment 16 gan lu 2017-10-22 10:06:18 UTC
Created attachment 362040 [details]
debug info

Here is my gdb file which I get it by following your debug advice. I can reproduce the crash by Win+L then try to login again (or wake up from hiberation/suspend). Everytime I do it, gnome shell will crash and laptop will return to the gdm welcome interface. This happens under both xorg and wayland, only difference is when gnome-shell crashes under wayland I can't even relogin again, gdm will restart over and over again until I restart the laptop. 
Really annoying bug for me, thanks in advance.
Comment 17 gan lu 2017-10-22 10:13:28 UTC
Created attachment 362042 [details]
New debug with Macro's advice

New one with Marco Trevisan (Treviño)'s advice.
Comment 18 Marco Trevisan (Treviño) 2017-10-22 22:34:07 UTC
gan lu, thanks for this, what's more important here is the output of

 journalctl /usr/bin/gnome-shell

(when it says "== Stack trace for context", I guess you still have there without wating for a new crash)
Comment 19 gan lu 2017-10-23 03:33:30 UTC
There are many message, so I included some of them, thanks.
10月 22 10:29:35 archlinux gnome-shell[17533]: invalid unclassed pointer in cast to 'ClutterText'
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoor
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: 51.9116N, 4.2066W
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]:  next refresh in: 86361 seconds
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension: next check in 86361 seconds @ local time 2017-10-23 10时28分56秒
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension: restoring previous state...
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoor
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: 51.9116N, 4.2066W
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]:  next refresh in: 86360 seconds
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension: next check in 86360 seconds @ local time 2017-10-23 10时28分56秒
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension: restoring previous state...
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoor
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: 51.9116N, 4.2066W
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]:  next refresh in: 86360 seconds
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension: next check in 86360 seconds @ local time 2017-10-23 10时28分56秒
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension: restoring previous state...
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoor
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]: 51.9116N, 4.2066W
10月 22 10:29:37 archlinux org.gnome.Shell.desktop[17533]:  next refresh in: 86359 seconds
10月 22 10:29:35 archlinux gnome-shell[17533]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:35 archlinux gnome-shell[17533]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:35 archlinux gnome-shell[17533]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:36 archlinux gnome-shell[17533]: invalid unclassed pointer in cast to 'ClutterText'
10月 22 10:29:36 archlinux gnome-shell[17533]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:36 archlinux gnome-shell[17533]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:36 archlinux gnome-shell[17533]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:37 archlinux gnome-shell[17533]: invalid unclassed pointer in cast to 'ClutterText'
10月 22 10:29:37 archlinux gnome-shell[17533]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:37 archlinux gnome-shell[17533]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:37 archlinux gnome-shell[17533]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:37 archlinux gnome-shell[17533]: invalid unclassed pointer in cast to 'ClutterText'
10月 22 10:29:37 archlinux gnome-shell[17533]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 10:29:37 archlinux gnome-shell[17533]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
Comment 20 Marco Trevisan (Treviño) 2017-10-23 12:05:34 UTC
That's not relevant for us, please look for the Stack trace string.
You can do it with:

  journalctl /usr/bin/gnome-shell | grep -A 30  "== Stack trace for context"
Comment 21 gan lu 2017-10-23 12:45:55 UTC
Hope these the following will help a little, thanks.
[gl@archlinux ~]$  journalctl /usr/bin/gnome-shell | grep -A 30  "== Stack trace for context"
10月 22 17:58:46 archlinux org.gnome.Shell.desktop[2766]: == Stack trace for context 0x5651962a3170 ==
10月 22 17:58:46 archlinux org.gnome.Shell.desktop[2766]: #0 0x5651967e85b0 i   /home/gl/.local/share/gnome-shell/extensions/GoogleEarthWallpaper@neffo.github.com/extension.js:305 (0x7f3ab1529a28 @ 403)
10月 22 17:58:46 archlinux org.gnome.Shell.desktop[2766]: #1 0x7ffcf96140e0 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f3af00c2c48 @ 71)
10月 22 17:58:46 archlinux org.gnome.Shell.desktop[2766]: #2 0x5651967e8530 i   /home/gl/.local/share/gnome-shell/extensions/GoogleEarthWallpaper@neffo.github.com/extension.js:196 (0x7f3ab15296f8 @ 17)
10月 22 17:58:46 archlinux org.gnome.Shell.desktop[2766]: #3 0x7ffcf9614d10 I   self-hosted:917 (0x7f3af00ee4d8 @ 394)
10月 22 17:58:55 archlinux gnome-shell[3208]: JS WARNING: [resource:///org/gnome/shell/ui/main.js 315]: reference to undefined property "MetaStage"
10月 22 17:58:55 archlinux gnome-shell[3208]: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 221]: reference to undefined property "MetaWindowGroup"
10月 22 17:58:55 archlinux gnome-shell[3208]: JS WARNING: [resource:///org/gnome/shell/ui/osdMonitorLabeler.js 59]: reference to undefined property "MetaDBusDisplayConfigSkeleton"
10月 22 17:58:56 archlinux org.gnome.Shell.desktop[3208]: current session already has an ibus-daemon.
10月 22 17:58:56 archlinux gnome-shell[3208]: JS WARNING: [resource:///org/gnome/shell/ui/slider.js 38]: reference to undefined property "CallyActor"
10月 22 17:58:57 archlinux gnome-shell[3208]: JS WARNING: [resource:///org/gnome/gjs/modules/tweener/tweener.js 540]: reference to undefined property "isSpecialProperty"
10月 22 17:58:57 archlinux gnome-shell[3208]: No permission to trigger offline updates: Polkit.Error: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: Action org.freedesktop.packagekit.trigger-offline-update is not registered
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: GEWallpaper extension: restoring previous state...
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoort_rotterdam__government_of_rotterdam__south_holland__the_netherlands__3198.jpg explanation: 133 Europoort, Moezelweg, Botlek, Europoort Rotterdam, Government of Rotterdam, South Holland, The Netherlands, 3198
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: 51.9116N, 4.2066W
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]:  next refresh in: 59405 seconds
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: GEWallpaper extension: next check in 59405 seconds @ local time 2017-10-23 10时29分03秒
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: GEWallpaper extension: restoring previous state...
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoort_rotterdam__government_of_rotterdam__south_holland__the_netherlands__3198.jpg explanation: 133 Europoort, Moezelweg, Botlek, Europoort Rotterdam, Government of Rotterdam, South Holland, The Netherlands, 3198
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: 51.9116N, 4.2066W
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]:  next refresh in: 59405 seconds
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: GEWallpaper extension: next check in 59405 seconds @ local time 2017-10-23 10时29分03秒
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: GEWallpaper extension: restoring previous state...
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoort_rotterdam__government_of_rotterdam__south_holland__the_netherlands__3198.jpg explanation: 133 Europoort, Moezelweg, Botlek, Europoort Rotterdam, Government of Rotterdam, South Holland, The Netherlands, 3198
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: 51.9116N, 4.2066W
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]:  next refresh in: 59405 seconds
10月 22 17:58:58 archlinux org.gnome.Shell.desktop[3208]: GEWallpaper extension: next check in 59405 seconds @ local time 2017-10-23 10时29分03秒
10月 22 17:59:15 archlinux org.gnome.Shell.desktop[3314]: glamor: EGL version 1.4 (DRI2):
10月 22 17:59:16 archlinux gnome-shell[3314]: JS WARNING: [resource:///org/gnome/shell/ui/main.js 315]: reference to undefined property "MetaStage"
10月 22 17:59:16 archlinux gnome-shell[3314]: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 221]: reference to undefined property "MetaWindowGroup"
10月 22 17:59:16 archlinux gnome-shell[3314]: JS WARNING: [resource:///org/gnome/shell/ui/osdMonitorLabeler.js 59]: reference to undefined property "MetaDBusDisplayConfigSkeleton"
--
10月 22 18:07:50 archlinux org.gnome.Shell.desktop[3314]: == Stack trace for context 0x5618ebfd2000 ==
10月 22 18:07:50 archlinux org.gnome.Shell.desktop[3314]: #0 0x7ffefcbeb910 b   /home/gl/.local/share/gnome-shell/extensions/GoogleEarthWallpaper@neffo.github.com/extension.js:305 (0x7fef2ee29a28 @ 403)
10月 22 18:07:50 archlinux org.gnome.Shell.desktop[3314]: #1 0x7ffefcbeb970 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7fef600c2c48 @ 71)
10月 22 18:07:50 archlinux org.gnome.Shell.desktop[3314]: #2 0x7ffefcbeba10 b   /home/gl/.local/share/gnome-shell/extensions/GoogleEarthWallpaper@neffo.github.com/extension.js:196 (0x7fef2ee296f8 @ 17)
10月 22 18:07:50 archlinux org.gnome.Shell.desktop[3314]: #3 0x7ffefcbebab0 I   self-hosted:917 (0x7fef600ee4d8 @ 394)
10月 22 18:07:57 archlinux org.gnome.Shell.desktop[3314]: (EE)
10月 22 18:07:57 archlinux org.gnome.Shell.desktop[3314]: Fatal server error:
10月 22 18:07:57 archlinux org.gnome.Shell.desktop[3314]: (EE) failed to read Wayland events: Broken pipe
10月 22 18:07:57 archlinux org.gnome.Shell.desktop[3314]: (EE)
10月 22 18:08:07 archlinux org.gnome.Shell.desktop[4046]: glamor: EGL version 1.4 (DRI2):
10月 22 18:08:08 archlinux gnome-shell[4046]: JS WARNING: [resource:///org/gnome/shell/ui/main.js 315]: reference to undefined property "MetaStage"
10月 22 18:08:08 archlinux gnome-shell[4046]: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 221]: reference to undefined property "MetaWindowGroup"
10月 22 18:08:08 archlinux gnome-shell[4046]: JS WARNING: [resource:///org/gnome/shell/ui/osdMonitorLabeler.js 59]: reference to undefined property "MetaDBusDisplayConfigSkeleton"
10月 22 18:08:08 archlinux gnome-shell[4046]: JS WARNING: [resource:///org/gnome/shell/ui/slider.js 38]: reference to undefined property "CallyActor"
10月 22 18:08:09 archlinux gnome-shell[4046]: JS WARNING: [resource:///org/gnome/gjs/modules/tweener/tweener.js 540]: reference to undefined property "isSpecialProperty"
10月 22 18:08:09 archlinux gnome-shell[4046]: No permission to trigger offline updates: Polkit.Error: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: Action org.freedesktop.packagekit.trigger-offline-update is not registered
10月 22 18:08:09 archlinux org.gnome.Shell.desktop[4046]: GEWallpaper extension: restoring previous state...
10月 22 18:08:09 archlinux org.gnome.Shell.desktop[4046]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoort_rotterdam__government_of_rotterdam__south_holland__the_netherlands__3198.jpg explanation: 133 Europoort, Moezelweg, Botlek, Europoort Rotterdam, Government of Rotterdam, South Holland, The Netherlands, 3198
10月 22 18:08:09 archlinux org.gnome.Shell.desktop[4046]: 51.9116N, 4.2066W
10月 22 18:08:09 archlinux org.gnome.Shell.desktop[4046]:  next refresh in: 58854 seconds
10月 22 18:08:09 archlinux org.gnome.Shell.desktop[4046]: GEWallpaper extension: next check in 58854 seconds @ local time 2017-10-23 10时29分03秒
10月 22 18:08:10 archlinux gnome-shell[4046]: Error looking up permission: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.impl.portal.PermissionStore was not provided by any .service files
10月 22 18:08:11 archlinux gnome-shell[4046]: GNOME Shell started at Sun Oct 22 2017 18:08:09 GMT+0800 (CST)
10月 22 18:09:38 archlinux gnome-shell[4046]: invalid unclassed pointer in cast to 'ClutterText'
10月 22 18:09:38 archlinux gnome-shell[4046]: clutter_text_get_editable: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 18:09:38 archlinux gnome-shell[4046]: clutter_text_get_text: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 18:09:38 archlinux gnome-shell[4046]: clutter_text_set_text: assertion 'CLUTTER_IS_TEXT (self)' failed
10月 22 18:09:43 archlinux org.gnome.Shell.desktop[4046]: GEWallpaper extension: restoring previous state...
10月 22 18:09:43 archlinux org.gnome.Shell.desktop[4046]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoort_rotterdam__government_of_rotterdam__south_holland__the_netherlands__3198.jpg explanation: 133 Europoort, Moezelweg, Botlek, Europoort Rotterdam, Government of Rotterdam, South Holland, The Netherlands, 3198
10月 22 18:09:43 archlinux org.gnome.Shell.desktop[4046]: 51.9116N, 4.2066W
10月 22 18:09:43 archlinux org.gnome.Shell.desktop[4046]:  next refresh in: 58760 seconds
--
10月 22 18:09:56 archlinux org.gnome.Shell.desktop[4046]: == Stack trace for context 0x55fcfa1e4000 ==
10月 22 18:09:56 archlinux org.gnome.Shell.desktop[4046]: #0 0x7ffd29790e30 b   /home/gl/.local/share/gnome-shell/extensions/GoogleEarthWallpaper@neffo.github.com/extension.js:305 (0x7fa94c129a28 @ 403)
10月 22 18:09:56 archlinux org.gnome.Shell.desktop[4046]: #1 0x7ffd29790e90 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7fa96c4c2c48 @ 71)
10月 22 18:09:56 archlinux org.gnome.Shell.desktop[4046]: #2 0x7ffd29790f30 b   /home/gl/.local/share/gnome-shell/extensions/GoogleEarthWallpaper@neffo.github.com/extension.js:196 (0x7fa94c1296f8 @ 17)
10月 22 18:09:56 archlinux org.gnome.Shell.desktop[4046]: #3 0x7ffd29790f90 I   self-hosted:917 (0x7fa96c4ee4d8 @ 394)
10月 22 18:10:05 archlinux org.gnome.Shell.desktop[4046]: (EE)
10月 22 18:10:05 archlinux org.gnome.Shell.desktop[4046]: Fatal server error:
10月 22 18:10:05 archlinux org.gnome.Shell.desktop[4046]: (EE) failed to read Wayland events: Broken pipe
10月 22 18:10:05 archlinux org.gnome.Shell.desktop[4046]: (EE)
10月 22 18:10:19 archlinux org.gnome.Shell.desktop[4721]: glamor: EGL version 1.4 (DRI2):
10月 22 18:10:20 archlinux gnome-shell[4721]: JS WARNING: [resource:///org/gnome/shell/ui/main.js 315]: reference to undefined property "MetaStage"
10月 22 18:10:20 archlinux gnome-shell[4721]: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 221]: reference to undefined property "MetaWindowGroup"
10月 22 18:10:20 archlinux gnome-shell[4721]: JS WARNING: [resource:///org/gnome/shell/ui/osdMonitorLabeler.js 59]: reference to undefined property "MetaDBusDisplayConfigSkeleton"
10月 22 18:10:20 archlinux gnome-shell[4721]: JS WARNING: [resource:///org/gnome/shell/ui/slider.js 38]: reference to undefined property "CallyActor"
10月 22 18:10:20 archlinux gnome-shell[4721]: JS WARNING: [resource:///org/gnome/gjs/modules/tweener/tweener.js 540]: reference to undefined property "isSpecialProperty"
10月 22 18:10:20 archlinux gnome-shell[4721]: No permission to trigger offline updates: Polkit.Error: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: Action org.freedesktop.packagekit.trigger-offline-update is not registered
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: GEWallpaper extension: restoring previous state...
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoort_rotterdam__government_of_rotterdam__south_holland__the_netherlands__3198.jpg explanation: 133 Europoort, Moezelweg, Botlek, Europoort Rotterdam, Government of Rotterdam, South Holland, The Netherlands, 3198
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: 51.9116N, 4.2066W
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]:  next refresh in: 58724 seconds
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: GEWallpaper extension: next check in 58724 seconds @ local time 2017-10-23 10时29分05秒
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: GEWallpaper extension: restoring previous state...
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoort_rotterdam__government_of_rotterdam__south_holland__the_netherlands__3198.jpg explanation: 133 Europoort, Moezelweg, Botlek, Europoort Rotterdam, Government of Rotterdam, South Holland, The Netherlands, 3198
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: 51.9116N, 4.2066W
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]:  next refresh in: 58724 seconds
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: GEWallpaper extension: next check in 58724 seconds @ local time 2017-10-23 10时29分05秒
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: GEWallpaper extension: restoring previous state...
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: GEWallpaper extension:  image: /home/gl/图片/1326-133_europoort_moezelweg__botlek__europoort_rotterdam__government_of_rotterdam__south_holland__the_netherlands__3198.jpg explanation: 133 Europoort, Moezelweg, Botlek, Europoort Rotterdam, Government of Rotterdam, South Holland, The Netherlands, 3198
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: 51.9116N, 4.2066W
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]:  next refresh in: 58724 seconds
10月 22 18:10:21 archlinux org.gnome.Shell.desktop[4721]: GEWallpaper extension: next check in 58724 seconds @ local time 2017-10-23 10时29分05秒
[gl@archlinux ~]$
Comment 22 Michael Aquilina 2017-10-23 13:28:48 UTC
I dont use the GEWallpaper extension just like I do not use Dash2Dock, so this seems to be a generic issue with javascript gnome extensions
Comment 23 gan lu 2017-10-23 23:56:39 UTC
Created attachment 362124 [details]
New jounalctl info after I removed GEWallpaper extension

I removed GEWallpaper extension, now I still get crashes which however happened less frequently and I can alway relogin again, here is my new jounalctl info, thanks.
Comment 24 Marco Trevisan (Treviño) 2017-10-24 01:37:40 UTC
Michael, please just do this in your session:

https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces/Details#Obtaining_a_stack_and_JS_trace_using_GDB_for_an_already_running_gnome-shell

So we can get a JS backtrace from you too.
However, gan lu info is indeed pointing only to shell code now.

Thanks.
Comment 25 Michael Aquilina 2017-10-24 09:34:55 UTC
I had to wait to be back at my work laptop to do this sorry for the delay. 

Thread 1 "gnome-shell" received signal SIGSEGV, Segmentation fault.
0x00007f8ce938bb72 in g_type_check_instance_cast () from /usr/lib64/libgobject-2.0.so.0
  • #0 g_type_check_instance_cast
  • #1 st_label_set_text
  • #2 0x00007f8ce2f9d6bd in
  • #3 0x00007f8ce2f9cbcf in
  • #4 0x00007f8ce8044378 in
  • #5 0x00007f8ce8045b54 in
  • #6 0x00007f8ce0a4257c in
  • #7 0x00007f8ce0a3cba0 in
  • #8 0x00007f8ce0a4201e in
  • #9 0x00007f8ce0a42382 in
  • #10 0x00007f8ce0a42a45 in
  • #11 JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)
  • #12 gjs_call_function_value
  • #13 gjs_closure_invoke
  • #14 0x00007f8ce805c5cd in
  • #15 g_closure_invoke
  • #16 0x00007f8ce93789fe in
  • #17 g_signal_emit_valist
  • #18 g_signal_emit
  • #19 _shell_wm_size_change
  • #20 meta_plugin_manager_event_size_change
  • #21 meta_window_actor_size_change
  • #22 meta_window_unmaximize
  • #23 0x00007f8ce2f9d6bd in
  • #24 0x00007f8ce2f9cbcf in
  • #25 0x00007f8ce8044378 in
  • #26 0x00007f8ce8045b54 in
  • #27 0x00007f8ce0a4257c in
  • #28 0x00007f8ce0a3cba0 in
  • #29 0x00007f8ce0a4201e in
  • #30 0x00007f8ce0a42382 in
  • #31 0x00007f8ce0a42a45 in
  • #32 JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)
  • #33 0x00007f8ce80462d1 in
  • #34 0x00007f8ce2f9d491 in
  • #35 0x00007f8ce2f9d850 in
  • #36 0x00007f8ce9089714 in
  • #37 g_main_context_dispatch
  • #38 0x00007f8ce908d1d0 in
  • #39 g_main_loop_run
  • #40 meta_run
  • #41 0x000055ed7d8f94b7 in
  • #42 __libc_start_main
  • #43 0x000055ed7d8f95ca in


I cannot seem to find anything journalctl related to the crash though :/
Comment 26 Marco Trevisan (Treviño) 2017-10-24 09:38:12 UTC
(In reply to Michael Aquilina from comment #25)
> I cannot seem to find anything journalctl related to the crash though :/

Weird... You were getting this with the gdb script above, right?

In this case
  journalctl | grep -A 30  "== Stack trace for context"

Should you get something... mhmh.
Comment 27 Michael Aquilina 2017-10-24 10:00:43 UTC
Thats the exact command I tried at first. When it provided no output I tried to look through the log manually in case the grep was incorrect but there was nothing there too. Do I need to have a specific package installed for this to work?
Comment 28 Michael 2017-10-24 13:41:30 UTC
https://bugzilla.gnome.org/show_bug.cgi?id=789398  might be a similar issue. I'm posting the summary of the trace dump here but a fully attached one is with-in that ticket.

Stack trace of thread 1202:
                #0  0x00007fd1091e89e2 g_type_check_instance_cast (libgobject-2.0.so.0)
                #1  0x00007fd106f0b960 st_label_set_text (libst-1.0.so)
                #2  0x00007fd1038781c8 ffi_call_unix64 (libffi.so.6)
                #3  0x00007fd103877c2a ffi_call (libffi.so.6)
                #4  0x00007fd107e91cbb n/a (libgjs.so.0)
                #5  0x00007fd107e93617 n/a (libgjs.so.0)
                #6  0x00007fd10154264d _ZN2js12CallJSNativeEP9JSContextPFbS1_jPN2JS5ValueEERKNS2_8CallArgsE (libmozjs-52.so.0)
                #7  0x00007fd101535687 _ZN2js13CallFromStackEP9JSContextRKN2JS8CallArgsE (libmozjs-52.so.0)
                #8  0x00007fd101541e97 _ZN2js9RunScriptEP9JSContextRNS_8RunStateE (libmozjs-52.so.0)
                #9  0x00007fd10154246f _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (libmozjs-52.so.0)
                #10 0x00007fd101542779 _ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EE (libmozjs-52.so.0)
                #11 0x00007fd101332219 _ZN2js3jit14InvokeFunctionEP9JSContextN2JS6HandleIP8JSObjectEEbjPNS3_5ValueENS3_13MutableHandleIS8_EE (libmozjs-52.so.0)
                #12 0x00000ce08d92f3c6 n/a (n/a)
                #13 0x00007fd101230d3e EnterIon (libmozjs-52.so.0)
                #14 0x00007fd1015419e3 Interpret (libmozjs-52.so.0)
                #15 0x00007fd101541e97 _ZN2js9RunScriptEP9JSContextRNS_8RunStateE (libmozjs-52.so.0)
                #16 0x00007fd10154246f _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (libmozjs-52.so.0)
                #17 0x00007fd101542779 _ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EE (libmozjs-52.so.0)
                #18 0x00007fd101332219 _ZN2js3jit14InvokeFunctionEP9JSContextN2JS6HandleIP8JSObjectEEbjPNS3_5ValueENS3_13MutableHandleIS8_EE (libmozjs-52.so.0)
                #19 0x00000ce08d92f3c6 n/a (n/a)
                #20 0x000055ebef8e4620 n/a (n/a)
                #21 0x00000ce08d9b89d5 n/a (n/a)
                #22 0x00007fd101230d3e EnterIon (libmozjs-52.so.0)
                #23 0x00007fd1015419e3 Interpret (libmozjs-52.so.0)
                #24 0x00007fd101541e97 _ZN2js9RunScriptEP9JSContextRNS_8RunStateE (libmozjs-52.so.0)
                #25 0x00007fd10154246f _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (libmozjs-52.so.0)
                #26 0x00007fd101765006 DoCallFallback (libmozjs-52.so.0)
                #27 0x00000ce08d926a96 n/a (n/a)
                #28 0x000055ebe15163a8 n/a (n/a)
                #29 0x00000ce08d925888 n/a (n/a)
                #30 0x00007fd10173d923 EnterBaseline (libmozjs-52.so.0)
                #31 0x00007fd101745f8b _ZN2js3jit19EnterBaselineMethodEP9JSContextRNS_8RunStateE (libmozjs-52.so.0)
                #32 0x00007fd101541f14 _ZN2js9RunScriptEP9JSContextRNS_8RunStateE (libmozjs-52.so.0)
                #33 0x00007fd10154246f _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (libmozjs-52.so.0)
                #34 0x00007fd101542779 _ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EE (libmozjs-52.so.0)
                #35 0x00007fd1013d5b44 _Z20JS_CallFunctionValueP9JSContextN2JS6HandleIP8JSObjectEENS2_INS1_5ValueEEERKNS1_16HandleValueArrayENS1_13MutableHandleIS6_EE (libmozjs-52.so.0)
                #36 0x00007fd107e93da3 n/a (libgjs.so.0)
                #37 0x00007fd103877fbf ffi_closure_unix64_inner (libffi.so.6)
                #38 0x00007fd103878330 ffi_closure_unix64 (libffi.so.6)
                #39 0x00007fd108efa274 g_child_watch_dispatch (libglib-2.0.so.0)
                #40 0x00007fd108efc0be g_main_context_dispatch (libglib-2.0.so.0)
                #41 0x00007fd108efdf69 g_main_context_iterate.isra.43 (libglib-2.0.so.0)
                #42 0x00007fd108efef42 g_main_loop_run (libglib-2.0.so.0)
                #43 0x00007fd1073e8e30 meta_run (libmutter-1.so.0)
                #44 0x000055ebdee55e8c n/a (gnome-shell)
                #45 0x00007fd109c1bf6a __libc_start_main (libc.so.6)
                #46 0x000055ebdee55fba n/a (gnome-shell)
Comment 29 Marco Trevisan (Treviño) 2017-10-24 20:15:53 UTC
*** Bug 789398 has been marked as a duplicate of this bug. ***
Comment 30 Zach Doherty 2017-10-25 03:33:59 UTC
I get an identical JS trace to the one gan lu posted after removing the GEWallpaper extension. For what it's worth my crashes seem to most often be triggered by things surrounding password entry, particularly in GTK apps (eg. entering into the password entry field in a login page in Firefox, or having the window GNOME opens to get password entry for things like unlocking ssh keys pop up). My intuition suggests it might have something to do with the way GNOME handles IME input when switching into a password field, where it seems to disable the IME and switch to a different input source as indicated in the icon that appears in the top panel for selecting your source disappearing if you have 2 sources, or switching to a different one if you have 3+. This auto-switch doesn't seem to happen with Qt password entry fields, and while I can trigger a segfault with the same traces others have posted here by just repeatedly giving focus to and removing focus from a password field in a GTK app, the same doesn't seem to occur with Qt apps.
Comment 31 gan lu 2017-10-25 06:44:45 UTC
Yes, that's almost the same I have experieced and feel. I will try to remove ibus and see if anything happens.
(In reply to Zach Doherty from comment #30)
> I get an identical JS trace to the one gan lu posted after removing the
> GEWallpaper extension. For what it's worth my crashes seem to most often be
> triggered by things surrounding password entry, particularly in GTK apps
> (eg. entering into the password entry field in a login page in Firefox, or
> having the window GNOME opens to get password entry for things like
> unlocking ssh keys pop up). My intuition suggests it might have something to
> do with the way GNOME handles IME input when switching into a password
> field, where it seems to disable the IME and switch to a different input
> source as indicated in the icon that appears in the top panel for selecting
> your source disappearing if you have 2 sources, or switching to a different
> one if you have 3+. This auto-switch doesn't seem to happen with Qt password
> entry fields, and while I can trigger a segfault with the same traces others
> have posted here by just repeatedly giving focus to and removing focus from
> a password field in a GTK app, the same doesn't seem to occur with Qt apps.
Comment 32 gan lu 2017-10-26 09:22:41 UTC
I have been running Gnome without ibus for almost a day long, there is still appearently sluggish when I try to input in Firefox, but gnome shell never crashes. When I change back to use ibus, gnome shell crashes again whenever I try to input my password in Firefox. Thanks.
Comment 33 Ralf 2017-10-26 11:10:22 UTC
I am experiencing a similar crash (Bug 789398 got marked as duplicate) and nevr had ibus installed.
Comment 34 Marco Trevisan (Treviño) 2017-10-26 11:31:47 UTC
Ralf, if you can provide a js dumpstack, please follow the instructions above

Gan lu, yeah the code I was checking indeed refers to that, need to figure out some details yet though.
Comment 35 Marco Trevisan (Treviño) 2017-10-28 07:31:26 UTC
Created attachment 362439 [details] [review]
status/keyboard: Reset menuItems and Label objects on change

In the current code it could happen that we've menuItems and indicatorLabels
for sources that aren't anymore around, because in case a source is removed
we don't cleanup the container object.

So it could happen that we try to deference an invalid menuitem or label
if a source change happens mentioning a source that has been deleted.

This can be triggered quite easily using looking glass too, just add a source and call this in lg:
  imports.ui.main.panel.statusArea["keyboard"]._menuItems

Inspect the items, remove one and inspect again... You'll see there are still
more items than sources, and inspecting the old one will lead to a crash.

Not sure this is related to all the cases though, as we'd need to add more debug infos to see what's the status of these arrays on signals, and why we get this signal pointing to an element that has been removed from the input sources already (in this patch I'm also checking for that, but probably it would be better to make the JS to complain)
Comment 36 L1nuxChr1s 2017-10-30 08:50:50 UTC
I got the same issues since 3.26. Usually after resume gnome-shell crashes immediately whenever I got some apps like Tilix and hexchat open prior to suspend.

However I didn’t find anything useful from the journal except for:

Okt 27 12:17:48 localhost org.gnome.Shell.desktop[2623]: == Stack trace for context 0x5636af955000 ==
Okt 27 12:17:48 localhost org.gnome.Shell.desktop[2623]: #0 0x7ffd8e894c40 b   resource:///org/gnome/shell/ui/windowManager.js:1591 (0x7fd76a1369a0 @ 313)
Okt 27 12:17:48 localhost org.gnome.Shell.desktop[2623]: #1 0x7ffd8e894cb0 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7fd76adc2c48 @ 71)
Okt 27 12:17:48 localhost org.gnome.Shell.desktop[2623]: #2 0x7ffd8e894d40 I   self-hosted:917 (0x7fd76adee4d8 @ 394)


A lot of 
Okt 18 21:00:38 localhost gnome-session-binary[13126]: Unrecoverable failure in required component org.gnome.Shell.desktop
Okt 18 21:00:38 localhost gnome-session-binary[13126]: WARNING: Application 'org.gnome.Shell.desktop' killed by signal 11

And one of those

Okt 18 21:00:40 localhost systemd-coredump[20966]: Process 13156 (gnome-shell) of user 1000 dumped core.
                                                
                                                Stack trace of thread 13156:
                                                #0  0x00007f15da1469e2 g_type_check_instance_cast (libgobject-2.0.so.0)
                                                #1  0x00007f15d7e2a960 st_label_set_text (libst-1.0.so)
                                                #2  0x00007f15d475e1c8 ffi_call_unix64 (libffi.so.6)
                                                #3  0x00007f15d475dc2a ffi_call (libffi.so.6)
                                                #4  0x00007f15d8defcbb n/a (libgjs.so.0)
                                                #5  0x00007f15d8df1617 n/a (libgjs.so.0)
                                                #6  0x00003a5618251810 n/a (n/a)
                                                #7  0x000055ae08e97af8 n/a (n/a)
                                                #8  0x00003a5618907075 n/a (n/a)
                                                #9  0x00007f15d2117d3e n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #10 0x00007f15d24289e3 n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #11 0x00007f15d2428e97 n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #12 0x00007f15d242946f n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #13 0x00007f15d2429779 n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #14 0x00007f15d2219219 n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #15 0x00003a561824d3c6 n/a (n/a)
                                                #16 0x00007f15d2117d3e n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #17 0x00007f15d24289e3 n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #18 0x00007f15d2428e97 n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #19 0x00007f15d242946f n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #20 0x00007f15d2429779 n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #21 0x00007f15d22bcb44 n/a (/usr/lib/libmozjs-52.so (deleted))
                                                #22 0x00007f15d8df1da3 n/a (libgjs.so.0)
                                                #23 0x00007f15d475dfbf ffi_closure_unix64_inner (libffi.so.6)
                                                #24 0x00007f15d475e330 ffi_closure_unix64 (libffi.so.6)
                                                #25 0x00007f15d9e58cb3 n/a (libglib-2.0.so.0)
                                                #26 0x00007f15d9e5a0be g_main_context_dispatch (libglib-2.0.so.0)
                                                #27 0x00007f15d9e5bf69 n/a (libglib-2.0.so.0)
                                                #28 0x00007f15d9e5cf42 g_main_loop_run (libglib-2.0.so.0)
                                                #29 0x00007f15d834e8a0 meta_run (libmutter-1.so.0)
                                                #30 0x000055adfe5c8e8c n/a (gnome-shell)
                                                #31 0x00007f15dab79f6a __libc_start_main (libc.so.6)
                                                #32 0x000055adfe5c8fba n/a (gnome-shell)
                                                

(all other threads were at pthread_cond_wait, __poll or epoll_pwait)
Comment 37 Rui Matos 2017-10-30 15:08:46 UTC
Review of attachment 362439 [details] [review]:

thanks for the patch!

commit message nit: s/deference/access/. and if this was C it would dereference

::: js/ui/status/keyboard.js
@@ +829,3 @@
 
+        this._menuItems = {};
+        this._indicatorLabels = {};

this is correct

@@ +844,3 @@
 
+            this._menuItems[is.index] = menuItem;
+            this._indicatorLabels[is.index] = indicatorLabel;

this is not needed since i must be exactly the same as is.index here

@@ +859,3 @@
         let newSource = this._inputSourceManager.currentSource;
 
+        if (oldSource && this._menuItems[oldSource.index]) {

and this shouldn't be needed since the only reason we have oldSource passed in here is to hide its UI actors but they have been destroyed in _sourcesChanged so what we should do is avoid passing an oldSource to this signal handler.

to do that, on _inputSourcesChanged() we should set this._currentSource to null
Comment 38 gan lu 2017-11-02 13:21:03 UTC
Could this patch be merged into 3.26.2 release? I just don't know how to compile it, thanks.
Comment 39 Florian Müllner 2017-11-02 13:40:46 UTC
(In reply to gan lu from comment #38)
> Could this patch be merged into 3.26.2 release?

No, "needs-work" means that the patch is not ready to be merged.
Comment 40 Marco Trevisan (Treviño) 2017-11-02 16:46:33 UTC
I'm out for holidays till 12th, I'll finish it once back.
Comment 41 gan lu 2017-11-02 23:51:27 UTC
Thanks a lot. I have compiled it with the patch (Marco's original one) by modifying PKGBUILD of Arch Linux. Have been running for almost a day, it works anyway, I get no crashes, thanks again.
Comment 42 Ralf 2017-11-03 22:11:11 UTC
> Ralf, if you can provide a js dumpstack, please follow the instructions above

Sorry, the crash hasn't happened in a week, and it seems I also don't have the coredump any more.  Given that there is a patch, would a backtrace still be useful (in case the crash happens again)?
Comment 43 Cédric Bellegarde 2017-11-09 07:51:29 UTC
Patched my shell with https://bugzilla.gnome.org/attachment.cgi?id=362439&action=diff but the segfault just occured:

Stack trace of thread 23560:
                #0  0x00007efd35f2fa0d g_type_check_instance_cast (libgobject-2.0.so.0)
                #1  0x00007efd33c4f960 st_label_set_text (libst-1.0.so)
                #2  0x00007efd35f16aef g_object_setv (libgobject-2.0.so.0)
                #3  0x00007efd35f16caf g_object_set_property (libgobject-2.0.so.0)
                #4  0x00007efd34bdf5e8 n/a (libgjs.so.0)
                #5  0x00007efd2e01dcb7 n/a (libmozjs-52.so.0)
                #6  0x00007efd2e03368b n/a (libmozjs-52.so.0)
                #7  0x00007efd2e04046e n/a (libmozjs-52.so.0)
                #8  0x00007efd2e24dfc1 n/a (libmozjs-52.so.0)

Seems to only happend on Wayland...
Comment 44 L1nuxChr1s 2017-11-09 19:24:43 UTC
Got another crash… just while doing nothing, waiting for Chrome to open a website.

Nov 09 19:17:31 localhost systemd-coredump[2696]: Process 19559 (gnome-shell) of user 1000 dumped core.
                                               
                                               Stack trace of thread 19559:
                                               #0  0x00007f92713139e2 g_type_check_instance_cast (libgobject-2.0.so.0)
                                               #1  0x00007f926f033960 st_label_set_text (libst-1.0.so)
                                               #2  0x00007f926b7491c8 ffi_call_unix64 (libffi.so.6)
                                               #3  0x00007f926b748c2a ffi_call (libffi.so.6)
                                               #4  0x00007f926ffbacbb n/a (libgjs.so.0)
                                               #5  0x00007f926ffbc617 n/a (libgjs.so.0)
                                               #6  0x00007f926941364d n/a (libmozjs-52.so.0)
                                               #7  0x00007f9269406687 n/a (libmozjs-52.so.0)
                                               #8  0x00007f9269412e97 n/a (libmozjs-52.so.0)
                                               #9  0x00007f926941346f n/a (libmozjs-52.so.0)
                                               #10 0x00007f9269413779 n/a (libmozjs-52.so.0)
                                               #11 0x00007f9269203219 n/a (libmozjs-52.so.0)
                                               #12 0x00001af3f657e3c6 n/a (n/a)
                                               #13 0x0000562e23c14168 n/a (n/a)
                                               #14 0x00001af3f6811173 n/a (n/a)
                                               #15 0x00007f9269101d3e n/a (libmozjs-52.so.0)
                                               #16 0x00007f92694129e3 n/a (libmozjs-52.so.0)
                                               #17 0x00007f9269412e97 n/a (libmozjs-52.so.0)
                                               #18 0x00007f926941346f n/a (libmozjs-52.so.0)
                                               #19 0x00007f9269413779 n/a (libmozjs-52.so.0)
                                               #20 0x00007f9269203219 n/a (libmozjs-52.so.0)
                                               #21 0x00001af3f657e3c6 n/a (n/a)
Comment 45 Debarshi Ray 2017-11-10 07:39:18 UTC
Updating the summary to be a bit less "random". People are discussing various gnome-shell crashes on IRC these days, and it helps if the bugs have meaningful names.
Comment 47 Michael 2017-11-10 15:41:04 UTC
Journal information:

Nov 10 09:17:53 m-zen org.gnome.Shell.desktop[10672]: == Stack trace for context 0x55647702f170 ==
Nov 10 09:17:53 m-zen org.gnome.Shell.desktop[10672]: #0 0x5564777042c8 i   /home/user/.local/share/gnome-shell/extensions/arch-update@RaphaelRochet/extension.js:302 (0x7fc984675230 @ 556)
Nov 10 09:17:53 m-zen org.gnome.Shell.desktop[10672]: #1 0x7fffddf670b0 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7fc9f83c2c48 @ 71)
Nov 10 09:17:53 m-zen org.gnome.Shell.desktop[10672]: #2 0x556477704240 i   /home/user/.local/share/gnome-shell/extensions/arch-update@RaphaelRochet/extension.js:402 (0x7fc984675670 @ 126)
Nov 10 09:17:53 m-zen org.gnome.Shell.desktop[10672]: #3 0x7fffddf67cb0 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7fc9f83c2c48 @ 71)
Nov 10 09:17:53 m-zen org.gnome.Shell.desktop[10672]: #4 0x7fffddf67d60 b   /home/user/.local/share/gnome-shell/extensions/arch-update@RaphaelRochet/extension.js:390 (0x7fc984675560 @ 285)
Nov 10 09:17:53 m-zen org.gnome.Shell.desktop[10672]: #5 0x7fffddf67dc0 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7fc9f83c2c48 @ 71)
Nov 10 09:17:53 m-zen org.gnome.Shell.desktop[10672]: #6 0x5564777041c0 i   /home/user/.local/share/gnome-shell/extensions/arch-update@RaphaelRochet/extension.js:357 (0x7fc984675450 @ 17)
Nov 10 09:17:53 m-zen org.gnome.Shell.desktop[10672]: #7 0x7fffddf689f0 I   self-hosted:917 (0x7fc9f83ee4d8 @ 394)
Nov 10 09:17:55 m-zen gnome-shell[9599]: JS WARNING: [resource:///org/gnome/shell/ui/main.js 315]: reference to undefined property "MetaStage"
Nov 10 09:17:55 m-zen gnome-shell[9599]: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 221]: reference to undefined property "MetaWindowGroup"
Nov 10 09:17:55 m-zen gnome-shell[9599]: JS WARNING: [resource:///org/gnome/shell/ui/osdMonitorLabeler.js 59]: reference to undefined property "MetaDBusDisplayConfigSkeleton"
Nov 10 09:17:55 m-zen gnome-shell[9599]: Failed to launch ibus-daemon: Failed to execute child process “ibus-daemon” (No such file or directory)
Nov 10 09:17:55 m-zen gnome-shell[9599]: Failed to connect context: Connection refused
Nov 10 09:17:55 m-zen gnome-shell[9599]: JS WARNING: [resource:///org/gnome/shell/ui/slider.js 38]: reference to undefined property "CallyActor"
Nov 10 09:17:56 m-zen gnome-shell[9599]: JS WARNING: [resource:///org/gnome/gjs/modules/tweener/tweener.js 540]: reference to undefined property "isSpecialProperty"
Nov 10 09:17:56 m-zen gnome-shell[9599]: JS WARNING: [/home/user/.local/share/gnome-shell/extensions/drop-down-terminal@gs-extensions.zzrough.org/extension.js 25]: Requiring GdkX11 but it has 2 versions available; use imports.gi.versions to pick one
Nov 10 09:17:56 m-zen gnome-shell[9599]: JS WARNING: [/home/user/.local/share/gnome-shell/extensions/drop-down-terminal@gs-extensions.zzrough.org/extension.js 538]: reference to undefined property "MESSAGE_TRAY"
Nov 10 09:17:56 m-zen gnome-shell[9599]: Some code accessed the property 'SignalManager' on the module 'convenience'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Nov 10 09:17:56 m-zen gnome-shell[9599]: Some code accessed the property 'SoundDeviceChooserBase' on the module 'base'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Nov 10 09:17:56 m-zen gnome-shell[9599]: Some code accessed the property 'SETTINGS_SCHEMA' on the module 'prefs'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Nov 10 09:17:56 m-zen gnome-shell[9599]: JS WARNING: [/home/user/.local/share/gnome-shell/extensions/sound-output-device-chooser@kgshank.net/convenience.js 193]: reference to undefined property Symbol.toPrimitive
Nov 10 09:17:56 m-zen gnome-shell[9599]: Some code accessed the property 'SHOW_INPUT_SLIDER' on the module 'prefs'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Nov 10 09:17:56 m-zen gnome-shell[9599]: adding icon dir: /home/user/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/data/icons
Nov 10 09:17:56 m-zen org.gnome.Shell.desktop[9599]: INFO : initting schemas
Nov 10 09:17:56 m-zen org.gnome.Shell.desktop[9599]: WARN : loading schema from: /home/user/.local/share/gnome-shell/extensions/shellshape@gfxmonk.net/data/glib-2.0/schemas
Nov 10 09:17:56 m-zen org.gnome.Shell.desktop[9599]: INFO : translations initted for shellshape
Nov 10 09:17:56 m-zen org.gnome.Shell.desktop[9599]: INFO : shellshape initialized!
Nov 10 09:17:56 m-zen org.gnome.Shell.desktop[9599]: INFO : shellshape enable() called
Nov 10 09:17:56 m-zen org.gnome.Shell.desktop[9599]: INFO : initting schemas
Nov 10 09:17:56 m-zen
Comment 48 L1nuxChr1s 2017-11-12 17:03:33 UTC
Once again out of the blue while random browsing a gnome-shell crash happened:

Nov 12 17:59:47 localhost systemd-coredump[4503]: Process 2593 (gnome-shell) of user 1000 dumped core.
                                               
                                               Stack trace of thread 2593:
                                               #0  0x00007fbe939bc9e2 g_type_check_instance_cast (libgobject-2.0.so.0)
                                               #1  0x00007fbe916dc960 st_label_set_text (libst-1.0.so)
                                               #2  0x00007fbe8ddf21c8 ffi_call_unix64 (libffi.so.6)
                                               #3  0x00007fbe8ddf1c2a ffi_call (libffi.so.6)
                                               #4  0x00007fbe92663cbb n/a (libgjs.so.0)
                                               #5  0x00007fbe92665617 n/a (libgjs.so.0)
                                               #6  0x00007fbe8babc64d n/a (libmozjs-52.so.0)
                                               #7  0x00007fbe8baaf687 n/a (libmozjs-52.so.0)
                                               #8  0x00007fbe8babbe97 n/a (libmozjs-52.so.0)
                                               #9  0x00007fbe8babc46f n/a (libmozjs-52.so.0)
                                               #10 0x00007fbe8babc779 n/a (libmozjs-52.so.0)
                                               #11 0x00007fbe8b8ac219 n/a (libmozjs-52.so.0)
                                               #12 0x000015368abe73c6 n/a (n/a)
                                               #13 0x00007fbe8b7aad3e n/a (libmozjs-52.so.0)
                                               #14 0x00007fbe8babb9e3 n/a (libmozjs-52.so.0)
                                               #15 0x00007fbe8babbe97 n/a (libmozjs-52.so.0)
                                               #16 0x00007fbe8babc46f n/a (libmozjs-52.so.0)
                                               #17 0x00007fbe8babc779 n/a (libmozjs-52.so.0)
                                               #18 0x00007fbe8b8ac219 n/a (libmozjs-52.so.0)
                                               #19 0x000015368abe73c6 n/a (n/a)
                                               #20 0x00007fbe8b7aad3e n/a (libmozjs-52.so.0)
                                               #21 0x00007fbe8babb9e3 n/a (libmozjs-52.so.0)
                                               #22 0x00007fbe8babbe97 n/a (libmozjs-52.so.0)
                                               #23 0x00007fbe8babc46f n/a (libmozjs-52.so.0)
                                               #24 0x00007fbe8babc779 n/a (libmozjs-52.so.0)
                                               #25 0x00007fbe8b8ac219 n/a (libmozjs-52.so.0)
                                               #26 0x000015368abe73c6 n/a (n/a)

I’ll try to follow the detailed debugging steps now.
Comment 49 gan lu 2017-11-15 06:20:46 UTC
I have been running the patched version of gnome-shell for two weeks, haven't got a crash but there are frequently (mouse) freezings for 2-3 seconds every several minutes espcially if I are running Firefox with flash plugin.
Comment 50 Philipp Wolfer 2017-11-16 06:17:17 UTC
See also https://github.com/RaphaelRochet/arch-update/issues/81 for another extension triggering this.
Comment 51 Strangiato 2017-11-16 20:53:52 UTC
My Wayland session crashes often on Arch Linux when I install some package after unlock my screen.

gnome-logs show this info when I reproduce the crash

11:05:04 kernel: traps: gnome-shell[25093] general protection ip:7fb0e9f65a0d sp:7ffc65c902f0 error:0 in libgobject-2.0.so.0.5400.0[7fb0e9f2d000+54000]
Comment 52 Marco Trevisan (Treviño) 2017-11-16 20:57:11 UTC
Mh this is not saying much... Please follow https://is.gd/wiki_gnome_shell_crash_debug to get proper stacktrace
Comment 53 Strangiato 2017-11-16 21:17:35 UTC
Created attachment 363866 [details]
js stacktrace

I can reproduce the crash on two computers running Arch Linux.
js stacktrace attached, GDB info below...

[Thread 0x7fe8f0a5b700 (LWP 17475) exited]

Thread 1 "gnome-shell" received signal SIGSEGV, Segmentation fault.
0x00007fe96c265a0d in g_type_check_instance_cast () from /usr/lib/libgobject-2.0.so.0
  • #0 g_type_check_instance_cast
  • #1 st_label_set_text
  • #2 ffi_call_unix64
  • #3 ffi_call
  • #4 0x00007fe96af0ccbb in
  • #5 0x00007fe96af0e617 in
  • #6 0x00007fe96436564d in
  • #7 0x00007fe964358687 in
  • #8 0x00007fe964364e97 in
  • #9 0x00007fe96436546f in
  • #10 0x00007fe964365779 in
  • #11 0x00007fe964155219 in
  • #12 0x00001a8b2e0193c6 in
  • #13 0x7fffffff00000012 in
  • #14 0x00007ffe47181c20 in
  • #15 0xfff9000000000000 in
  • #16 0x00007fe96476bcc0 in
  • #17 0x00007fe9386739a0 in
  • #18 0x00001a8b2e12beb5 in
  • #19 0x0000000000006820 in
  • #20 0x00007fe8fd2fbe00 in
  • #21 0x0000000000000000 in

	Inferior 1 [process 16162] will be detached.
Comment 54 Marco Trevisan (Treviño) 2017-11-16 22:31:03 UTC
Thanks a lot, the issue isn't related to the shell itself... I've posted a few hints in the offending extension upstream bug: https://github.com/RaphaelRochet/arch-update/issues/81#issuecomment-345083876
Comment 55 Ralf 2017-11-17 15:01:18 UTC
So it is not a bug that an extension (written in JavaScript!) can make the shell crash?  Do extensions really have "the memory safety of C and the type safety of JavaScript"?
Comment 56 Michael 2017-11-17 15:58:55 UTC
The bug is most likely in the JavaScript engine and also effects other JavaScript applications; such as Pomodoro.

Arch Update triggers the crash either during a package install or during updates but is only occurring on two desktops but not on a laptop.

Pomodoro is another extension effected by this.  Below is the stack trace but it occurred about a hour after locking Gnome. Pomodoro timer was not even active.

Stack trace also warns about shell, tweener, drop-down-terminal, and sound-output-device-chooser during recovery ...

Stack Trace:

ov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #0 0x5594d74a6968 i   /usr/share/gnome-shell/extensions/pomodoro@arun.codito.in/dialogs.js:140 (0x7f1183e59560 @ 93)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #1 0x7fff9d8fe0f0 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f12100c2c48 @ 71)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #2 0x5594d74a68c0 i   /usr/share/gnome-shell/extensions/pomodoro@arun.codito.in/dialogs.js:121 (0x7f1183e59450 @ 104)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #3 0x7fff9d8fed00 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f12100c2c48 @ 71)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #4 0x7fff9d8fed60 I   self-hosted:917 (0x7f12100ee4d8 @ 394)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #5 0x7fff9d8fedf0 I   resource:///org/gnome/gjs/modules/signals.js:126 (0x7f12100e2c48 @ 386)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #6 0x5594d74a6808 i   resource:///org/gnome/shell/ui/messageTray.js:1031 (0x7f11e2d19780 @ 200)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #7 0x7fff9d8ffa00 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f12100c2c48 @ 71)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #8 0x5594d74a6770 i   resource:///org/gnome/shell/ui/messageTray.js:1054 (0x7f11e2d19918 @ 90)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #9 0x7fff9d900610 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f12100c2c48 @ 71)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #10 0x5594d74a66c0 i   resource:///org/gnome/shell/ui/messageTray.js:1016 (0x7f11e2d196f8 @ 208)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #11 0x7fff9d901220 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f12100c2c48 @ 71)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #12 0x5594d74a6610 i   resource:///org/gnome/shell/ui/notificationDaemon.js:199 (0x7f11e2255450 @ 335)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #13 0x7fff9d901e40 I   resource:///org/gnome/gjs/modules/_legacy.js:82 (0x7f12100c2c48 @ 71)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #14 0x5594d74a6560 i   resource:///org/gnome/shell/ui/notificationDaemon.js:300 (0x7f11e2255670 @ 207)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #15 0x7fff9d902a60 I   self-hosted:917 (0x7f12100ee4d8 @ 394)
Nov 16 17:16:43 desktop org.gnome.Shell.desktop[18788]: #16 0x7fff9d903220 b   resource:///org/gnome/gjs/modules/overrides/Gio.js:90 (0x7f11e2e03670 @ 118)

Recovery:

Nov 16 17:16:45 desktop gnome-shell[15858]: JS WARNING: [resource:///org/gnome/shell/ui/main.js 315]: reference to undefined property "MetaStage"
Nov 16 17:16:45 desktop gnome-shell[15858]: JS WARNING: [resource:///org/gnome/shell/ui/layout.js 221]: reference to undefined property "MetaWindowGroup"
Nov 16 17:16:45 desktop gnome-shell[15858]: JS WARNING: [resource:///org/gnome/shell/ui/osdMonitorLabeler.js 59]: reference to undefined property "MetaDBusDisplayConfigSkeleton"
Nov 16 17:16:45 desktop gnome-shell[15858]: Failed to launch ibus-daemon: Failed to execute child process “ibus-daemon” (No such file or directory)
Nov 16 17:16:45 desktop gnome-shell[15858]: JS WARNING: [resource:///org/gnome/shell/ui/slider.js 38]: reference to undefined property "CallyActor"
Nov 16 17:16:45 desktop gnome-shell[15858]: JS WARNING: [resource:///org/gnome/gjs/modules/tweener/tweener.js 540]: reference to undefined property "isSpecialProperty"
Nov 16 17:16:46 desktop gnome-shell[15858]: JS WARNING: [/home/user/.local/share/gnome-shell/extensions/drop-down-terminal@gs-extensions.zzrough.org/extension.js 25]: Requiring GdkX11 but it has 2 versions available; use imports.gi.versions to pick one
Nov 16 17:16:46 desktop gnome-shell[15858]: JS WARNING: [/home/user/.local/share/gnome-shell/extensions/drop-down-terminal@gs-extensions.zzrough.org/extension.js 538]: reference to undefined property "MESSAGE_TRAY"
Nov 16 17:16:46 desktop gnome-shell[15858]: Some code accessed the property 'SignalManager' on the module 'convenience'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Nov 16 17:16:46 desktop gnome-shell[15858]: Some code accessed the property 'SoundDeviceChooserBase' on the module 'base'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Nov 16 17:16:46 desktop gnome-shell[15858]: Some code accessed the property 'SETTINGS_SCHEMA' on the module 'prefs'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Nov 16 17:16:46 desktop gnome-shell[15858]: JS WARNING: [/home/user/.local/share/gnome-shell/extensions/sound-output-device-chooser@kgshank.net/convenience.js 193]: reference to undefined property Symbol.toPrimitive
Nov 16 17:16:46 desktop gnome-shell[15858]: Some code accessed the property 'SHOW_INPUT_SLIDER' on the module 'prefs'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Comment 57 Marco Trevisan (Treviño) 2017-11-21 05:06:45 UTC
Again, Pomodoro extension was doing things wrongly, assuming it might be never destroyed and reloaded at shell wishes, and thus crashing.
I've pointed out what to fix upstream and they did it (check new version for it).

So, it's indeed this caused by changes in the JS engines that probably now garbage-collects more than it used to do, but this is not an issue, it's the JS code that should be fixed in order not to access to potentially dead memory areas.
Comment 58 Marco Trevisan (Treviño) 2017-11-21 07:17:46 UTC
Created attachment 364098 [details] [review]
status/keyboard: Reset menuItems and Label objects on change

Sorry for the delay, patch updated according to the Rui's review.
Comment 59 Ralf 2017-11-21 09:45:02 UTC
> it's the JS code that should be fixed in order not to access to potentially dead memory areas.

I don't follow.  It should be impossible for JS code to access dead memory areas, just like in the browser.  That's the entire point of a safe, garbage-collected language.
Comment 60 Rui Matos 2017-11-21 15:45:58 UTC
Review of attachment 364098 [details] [review]:

looks good
Comment 61 Marco Trevisan (Treviño) 2017-11-21 15:57:40 UTC
(In reply to Ralf from comment #59)
> > it's the JS code that should be fixed in order not to access to potentially dead memory areas.
> 
> I don't follow.  It should be impossible for JS code to access dead memory
> areas, just like in the browser.  That's the entire point of a safe,
> garbage-collected language.

I agree, it should not crash the shell while the engine should complain that that pointer is invalid, and that's probably a more gjs issue, but such extensions are wrong anyway and would fail at JS level in any case.

It's even true that we're not in a normal JS environment here, and we've always to think what's below.
Comment 62 Rui Matos 2017-11-21 15:59:49 UTC
(In reply to Ralf from comment #59)
> I don't follow.  It should be impossible for JS code to access dead memory
> areas, just like in the browser.  That's the entire point of a safe,
> garbage-collected language.

We have a mix of JS and native C objects here. The C objects might be explicitly destroyed while JS objects that refer to them are still reachable and thus kept alive.

Now, maybe (I haven't checked) it is possible to make gjs aware of this type of GObject (in this case a ClutterActor) and null out all references to the corresponding JS object thus GC it. But even then you'd still have cases like this one except instead of a segfault you'd have a runtime JS TypeError.
Comment 63 Marco Trevisan (Treviño) 2017-11-21 16:02:38 UTC
(In reply to Rui Matos from comment #62)
> Now, maybe (I haven't checked) it is possible to make gjs aware of this type
> of GObject (in this case a ClutterActor) and null out all references to the
> corresponding JS object thus GC it. 

I was wondering the same... Not sure it's something wanted or not, performance-wise though.
Comment 64 Marco Trevisan (Treviño) 2017-11-21 16:03:32 UTC
The following fix has been pushed:
commit a46af9e status/keyboard: Reset menuItems and Label objects on change
Comment 65 Marco Trevisan (Treviño) 2017-11-21 16:03:49 UTC
Created attachment 364127 [details] [review]
status/keyboard: Reset menuItems and Label objects on change

In the current code it could happen that we've menuItems and indicatorLabels
for sources that aren't anymore around, because in case a source is removed
we don't cleanup the their container objects.
Also, we should nullify InputManager's _currentSource when sources change
or it might point to some invalid data again.

So it could happen that we try to access an invalid menuitem or label
if a source change happens mentioning a source that has been deleted.
Comment 66 andrew.g.r.holmes 2017-11-23 18:13:15 UTC
I'm not sure I follow this exactly (or what exactly has been RESOLVED FIXED).

Am I understanding that GJS is not respecting destroy signals as it should? Ie. every object and every signal handler on it that's destroyed, has to be followed by a manual nullify and disconnect?

I'm using code that never previously raised a TypeError, but is reliably crashing Gnome Shell. What exactly must happen to avoid these "extensions are wrong" situations?
Comment 67 Marco Trevisan (Treviño) 2017-11-23 18:21:06 UTC
(In reply to andrew.g.r.holmes from comment #66)
> What exactly must happen to avoid these "extensions
> are wrong" situations?

In general what should not happen is that all the async operations are stopped when the extension actor is destroyed.
Maybe the shell wasn't doing this before, but if it now requires a component to be deleted, you have to make sure that all the code touching it will be stopped at that point.
Comment 68 andrew.g.r.holmes 2017-11-23 19:18:10 UTC
> In general what should not happen is that all the async operations are stopped when the extension actor is destroyed.

You mean GJS should not do this automatically (although it previously did/might have)?

> Maybe the shell wasn't doing this before, but if it now requires a component to be deleted, you have to make sure that all the code touching it will be stopped at that point.

Here you mean callbacks on "external" objects that aren't destroyed when the callback target is? Such as parent objects or other non-self, non-child objects and Mainloop timeouts, etc?

Child objects should still get destroyed with their signal handlers and be okay though, right?

Sorry for all the questions, but I have mighty large code-base to go through.
Comment 69 Marco Trevisan (Treviño) 2017-11-24 01:43:12 UTC
> You mean GJS should not do this automatically (although it previously did/might have)?

No, I was not referring to GJS but what you have to ensure in order to fix the issues.

> Here you mean callbacks on "external" objects that aren't destroyed
> when the callback target is? Such as parent objects or other non-self,
> non-child objects and Mainloop timeouts, etc?

Exactly.


> Child objects should still get destroyed with their signal
> handlers and be okay though, right?

Yes, in this case there's no need to do anything as when they're destroyed they won't trigger any signal anyway.

FYI, examples of fixes for such issues for some extensions are:
 https://github.com/jderose9/dash-to-panel/pull/263/files
 https://github.com/codito/gnome-pomodoro/pull/321/files
Comment 70 Marco Trevisan (Treviño) 2017-11-28 01:39:38 UTC
This PR [1] in gjs attempts to avoid crashes in such cases...

For example, for the shell crash I've fixed here, it would have instead just failed with:

Nov 27 20:36:26 ubuntu-vmware gnome-shell[14038]: JS ERROR: Error: Object is St.Label.prototype, has been already deallocated - cannot convert to GObject*
                                                  init/Clutter.Actor.prototype.toString@resource:///org/gnome/shell/ui/environment.js:103:16
                                                  objectToString@resource:///org/gnome/shell/ui/lookingGlass.js:262:9
                                                  ObjLink<._init@resource:///org/gnome/shell/ui/lookingGlass.js:274:20
                                                  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                                  _Base.prototype._construct@resource:///org/gnome/gjs/modules/_legacy.js:18:5
                                                  Class.prototype._construct/newClass@resource:///org/gnome/gjs/modules/_legacy.js:114:32
                                                  Result<._init@resource:///org/gnome/shell/ui/lookingGlass.js:311:23
                                                  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                                  _Base.prototype._construct@resource:///org/gnome/gjs/modules/_legacy.js:18:5
                                                  Class.prototype._construct/newClass@resource:///org/gnome/gjs/modules/_legacy.js:114:32
                                                  LookingGlass<._pushResult@resource:///org/gnome/shell/ui/lookingGlass.js:936:22
                                                  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                                  LookingGlass<._evaluate@resource:///org/gnome/shell/ui/lookingGlass.js:1009:9
                                                  wrapper@resource:///org/gnome/gjs/modules/_legacy.js:82:22
                                                  LookingGlass<._init/<@resource:///org/gnome/shell/ui/lookingGlass.js:895:13

[1] https://gitlab.gnome.org/GNOME/gjs/merge_requests/22
Comment 71 Florian Müllner 2017-12-01 18:43:54 UTC
*** Bug 791056 has been marked as a duplicate of this bug. ***
Comment 72 Paul Wise 2017-12-12 10:50:55 UTC
Would it be possible to get a new release with the commit included? This bug is getting annoying.
Comment 73 Florian Müllner 2017-12-25 12:30:42 UTC
*** Bug 791919 has been marked as a duplicate of this bug. ***
Comment 74 Pengyu Ma 2018-01-03 03:29:30 UTC
I still got crashes when try to open a lock-screen on both wayland and xorg.
gnome-shell version is 3.26.2.

When will the fixes be merged?
What version of gnome can get these fixes?
Comment 75 Cédric Bellegarde 2018-01-03 07:51:55 UTC
For information, crashes are due to broken Gnome Shell extensions, in my case "clipboard indicator"
Comment 76 Paul Wise 2018-01-03 08:57:00 UTC
How did you manage to find out which extension was responsible for the crashes? I'm still getting the crashes and want to disable the extension responsible.
Comment 77 Marco Trevisan (Treviño) 2018-01-07 22:45:25 UTC
(In reply to Paul Wise from comment #76)
> How did you manage to find out which extension was responsible for the
> crashes? I'm still getting the crashes and want to disable the extension
> responsible.

Just use `call gjs_dumpstack()` in gdb, follow this to get easier debugging: https://is.gd/wiki_gnome_shell_crash_debug
Comment 78 Pengyu Ma 2018-01-08 08:05:52 UTC
I have already disabled extensions in gnome-tweaks,
but still got the following error when try to re-login after lock screen.

systemd-coredump[11878]: Process 7051 (gnome-shell) of user 1000 dumped core.
                                               
                                               Stack trace of thread 7051:
                                               #0  0x00007f6bcb5da5a2 g_type_check_instance_cast (libgobject-2.0.so.0)
                                               #1  0x00007f6bc8d0f278 st_label_set_text (libst-1.0.so)
                                               #2  0x00007f6bcb5bc21e g_object_setv (libgobject-2.0.so.0)
                                               #3  0x00007f6bcb5bd1ae g_object_set_property (libgobject-2.0.so.0)
                                               #4  0x00007f6bca2a84b7 n/a (libgjs.so.0)
                                               #5  0x00007f6bc1b9dd92 _ZL29NativeSetExistingDataPropertyP9JSContextN2JS6HandleIPN2js12NativeObjectEEENS2_IPNS3_5ShapeEEENS2_INS1_5ValueEEESB_R
                                               #6  0x00007f6bc1bb4352 _ZN2js17NativeSetPropertyEP9JSContextN2JS6HandleIPNS_12NativeObjectEEENS3_I4jsidEENS3_INS2_5ValueEEESA_NS_13QualifiedBoo
                                               #7  0x00007f6bc1bc14ae _ZN2js11SetPropertyEP9JSContextN2JS6HandleIP8JSObjectEENS3_I4jsidEENS3_INS2_5ValueEEESA_RNS2_14ObjectOpResultE (libmozjs
                                               #8  0x00007f6bc1dd24a2 _ZN2js3jitL17DoSetPropFallbackEP9JSContextPNS0_13BaselineFrameEPNS0_18ICSetProp_FallbackEN2JS6HandleINS7_5ValueEEESA_NS7
                                               #9  0x00000d66d19cec06 n/a (n/a)
                                               #10 0x00000d66d1babc05 n/a (n/a)
                                               #11 0x000055c8ee5e6760 n/a (n/a)
                                               #12 0x00000d66d1babc05 n/a (n/a)


Is the issue above not like this bug?
Comment 79 Christian Stadelmann 2018-01-19 21:25:10 UTC
@Developers: Can we please have a bugfix release of gnome-shell?

(In reply to Pengyu Ma from comment #74)
> I still got crashes when try to open a lock-screen on both wayland and xorg.
> gnome-shell version is 3.26.2.
> 
> When will the fixes be merged?
> What version of gnome can get these fixes?

The fixes have been merged to gnome-shell 3.26 git branch and will land in the next release, 3.26.3.