Crash of gnome shell potentially from "JS ERROR: too much recursion" from app indicators

Bug #1910613 reported by Andrew Hayzen
32
This bug affects 5 people
Affects Status Importance Assigned to Milestone
gnome-shell-extension-appindicator (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

What Happened:
1) Have gnome-shell-extensions-appindicator enabled
2) The only running app using the indicator was charmtimetracker ( https://github.com/KDAB/Charm )
3) At some point usually within 1-2 days of office usage gnome shell crashes
4) Notice "JS ERROR: too much recursion" and then a stacktrace coming from appindicator extension in journalctl

What I expected to happen:
For gnome-shell not to crash :-)

Full logs:
  - Recursion warnings - https://pastebin.ubuntu.com/p/hfKMmH4Dpx/
  - Stack trace - https://pastebin.ubuntu.com/p/2TC6WFVcsG/

Short Summary of Logs:
=== First sign of incoming crash ===

Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: JS ERROR: too much recursion
                                                  set active@resource:///org/gnome/shell/ui/popupMenu.js:199:29
                                                  _init@resource:///org/gnome/shell/ui/popupMenu.js:104:18
                                                  _init@resource:///org/gnome/shell/ui/popupMenu.js:273:15
                                                  createItem@/<email address hidden>/dbusMenu.js:498:29
                                                  createItem@/<email address hidden>/dbusMenu.js:520:60

=== This continues many times, last instance is like this ===

Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: JS ERROR: Exception in callback for signal: child-added: too much recursion
                                                  PopupSubMenu@resource:///org/gnome/shell/ui/popupMenu.js:1017:9
                                                  _init@resource:///org/gnome/shell/ui/popupMenu.js:1201:21
                                                  createItem@/<email address hidden>/dbusMenu.js:494:29
                                                  createItem@/<email address hidden>/dbusMenu.js:520:60

=== Then there is a stacktrace (shortened repeats) ===

Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: Attempting to call back into JSAPI during the sweeping phase of GC. This is most likely caused by not destroying a Clutter actor or Gtk+ widget with ::destroy signals connected, but can also be caused by using the destroy(), dispose(), or remove() vfuncs. Because it would crash the application, it has been blocked and the JS callback not invoked.
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: The offending signal was notify on StLabel 0x5615bd3eee80.
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: == Stack trace for context 0x56159bbee930 ==
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #0 7ffca7535bb0 b /<email address hidden>/dbusMenu.js:620 (1c7e392cc2e0 @ 100)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #1 7ffca7535c80 b /<email address hidden>/dbusMenu.js:510 (1c7e392cae98 @ 357)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #2 5615a5c69340 i /<email address hidden>/dbusMenu.js:771 (1c7e392cc880 @ 41)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #3 7ffca7536b70 b self-hosted:1013 (264b03e13e20 @ 492)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #4 7ffca7536c60 b self-hosted:1013 (264b03e13e20 @ 492)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #5 7ffca7536d70 b resource:///org/gnome/gjs/modules/core/_signals.js:133 (1c7e392a84c0 @ 427)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #6 5615a5c69290 i /<email address hidden>/dbusMenu.js:134 (1c7e392c5c40 @ 74)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #7 7ffca7537c80 b /<email address hidden>/dbusMenu.js:365 (1c7e392ca718 @ 837)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #8 5615a5c690d0 i /<email address hidden>/dbusMenu.js:326 (1c7e392ca6a0 @ 423)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #9 7ffca7538970 b self-hosted:1013 (264b03e13e20 @ 492)
Jan 05 17:59:01 MACHINE-NAME gnome-shell[3315]: #10 5615a5c69018 i resource:///org/gnome/gjs/modules/core/overrides/Gio.js:132 (2784371926a0 @ 312)

Versions:
$ lsb_release -rd
Description: Ubuntu 20.04.1 LTS
Release: 20.04
$ apt policy gnome-shell mutter gnome-shell-extension-appindicator
gnome-shell:
  Installed: 3.36.4-1ubuntu1~20.04.2
  Candidate: 3.36.4-1ubuntu1~20.04.2
  Version table:
 *** 3.36.4-1ubuntu1~20.04.2 500
        500 http://gb.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
        100 /var/lib/dpkg/status
     3.36.1-5ubuntu1 500
        500 http://gb.archive.ubuntu.com/ubuntu focal/main amd64 Packages
mutter:
  Installed: 3.36.6-1ubuntu0.20.04.2
  Candidate: 3.36.6-1ubuntu0.20.04.2
  Version table:
 *** 3.36.6-1ubuntu0.20.04.2 500
        500 http://gb.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     3.36.1-3ubuntu3 500
        500 http://gb.archive.ubuntu.com/ubuntu focal/main amd64 Packages
gnome-shell-extension-appindicator:
  Installed: 33.1-0ubuntu0.20.04.1
  Candidate: 33.1-0ubuntu0.20.04.1
  Version table:
 *** 33.1-0ubuntu0.20.04.1 500
        500 http://gb.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
        500 http://gb.archive.ubuntu.com/ubuntu focal-updates/main i386 Packages
        100 /var/lib/dpkg/status
     33-1 500
        500 http://gb.archive.ubuntu.com/ubuntu focal/main amd64 Packages
        500 http://gb.archive.ubuntu.com/ubuntu focal/main i386 Packages

Tags: focal
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-shell-extension-appindicator (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I'm guessing this was fixed at some point between extension v33 (focal) and v42 (jammy). Not sure where though.

tags: added: focal
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.