Skip to content

Cinnamon freezes with Gjs-CRITICAL "dnd.js fake_group disposed" errors when using hot corners to trigger Expo/Workspace switcher #13235

@Perlover

Description

@Perlover

Description

Cinnamon freezes/hangs when using hot corners to trigger the Expo workspace switcher. The .xsession-errors log fills with Gjs-CRITICAL errors about disposed fake_group objects in dnd.js.

Steps to reproduce

  1. Enable hot corners in Cinnamon settings (e.g., top-left corner → Show all workspaces)
  2. Use the system normally for some time
  3. Move mouse to the hot corner to trigger Expo/workspace overview
  4. Cinnamon freezes or becomes unresponsive

Expected behavior

Expo/workspace switcher should open smoothly without errors or freezing.

Actual behavior

Cinnamon hangs, and the following errors appear in ~/.xsession-errors:

(cinnamon:2944): Gjs-CRITICAL **: 15:18:21.277: Object .Gjs_ui_overrides_fake_group (0x5828d8244b10), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
== Stack trace for context 0x5828c648c180 ==
#0   5828c8429408 i   /usr/share/cinnamon/js/ui/dnd.js:659 (1435eeadb5b0 @ 47)
#1   7ffc2f5447d0 b   resource:///org/gnome/gjs/modules/script/_legacy.js:83 (1435eea82c90 @ 69)
#2   5828c8429318 i   /usr/share/cinnamon/js/ui/dnd.js:539 (1435eeadb420 @ 1376)
#3   7ffc2f5451e0 b   resource:///org/gnome/gjs/modules/script/_legacy.js:83 (1435eea82c90 @ 69)
#4   7ffc2f545910 b   /usr/share/cinnamon/js/ui/dnd.js:199 (1435eeadb150 @ 89)
#5   7ffc2f5459f0 b   resource:///org/gnome/gjs/modules/script/_legacy.js:83 (1435eea82c90 @ 69)
#6   7ffc2f545ab0 b   /usr/share/cinnamon/js/ui/dnd.js:57 (1435eead7d80 @ 18)

Also seeing related GC errors:

(cinnamon:2944): Gjs-CRITICAL **: 15:22:53.171: Attempting to run a JS callback during garbage collection. This is most likely caused by destroying a Clutter actor or GTK widget with ::destroy signal connected, or using the destroy(), dispose(), or remove() vfuncs. Because it would crash the application, it has
 been blocked.
The offending callback was SourceFunc().

(cinnamon:2944): Gjs-CRITICAL **: 15:22:53.178: 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.
The offending signal was captured-event on MetaStage 0x5828c6c454d0.

Environment

  • Distribution: Linux Mint 22.2
  • Cinnamon version: 6.4.8
  • Graphics: 2 x GeForce RTX 2080 Ti
Graphics:
  Device-1: NVIDIA TU102 [GeForce RTX 2080 Ti] driver: nvidia v: 580.105.08
  Device-2: NVIDIA TU102 [GeForce RTX 2080 Ti] driver: nvidia v: 580.105.08
  Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 23.2.6 driver: X:
    loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa
    gpu: nv_platform,nvidia,nvidia-nvswitch resolution: 2560x1440~60Hz
  API: EGL v: 1.5 drivers: nouveau,nvidia,swrast
    platforms: gbm,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.105.08
    renderer: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2

Notes

  • The issue seems related to dnd.js drag-and-drop code and the fake_group object being disposed while still referenced
  • The fix in commit c451c0d (WorkspaceOsd cleanup) is already applied in 6.4.8, but this issue persists
  • This may be related to #12716 (constant freezes after 6.4.6), where developers acknowledged "multi-faceted issue"
  • Similar symptoms reported in #8655 (Frozen Screens in Expo View) and #2093 (hot corners while dragging causes freeze)
  • The problem appears to be in the interaction between hot corners, Expo, and the DnD (drag-and-drop) subsystem

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions