GNOME Bugzilla – Bug 782692
Crash in get_object_qdata → handle_toggle_down → clutter_actor_iter_destroy
Last modified: 2017-08-07 15:06:55 UTC
Ubuntu has received a few error reports from Ubuntu 17.04 with this crash signature. The crash appears new to gnome-shell 3.24.1. This error is one of several keeping gnome-shell 3.24.1 from reaching all Ubuntu 17.04 users because Ubuntu has a phased-update system for users who install updates using Ubuntu's update-manager tool. More specifically, there are currently 3 reports, one each from users using GDM, LightDM and SDDM (KDE's Display Manager). The GDM user is using the proprietary NVIDIA graphics driver. The SDDM user is using GNOME Classic. It does not appear like other GNOME Shell extensions are being used. gnome-shell (6) g_assertion_message → g_assertion_message_expr → get_object_qdata → handle_toggle_down → clutter_actor_iter_destroy
+ Trace 237485
As I filed this bug, GNOME's bug tracker suggested that this may be a duplicate of bug 782464. .
+ Trace 237486
Thread 1 (Thread 0x7fe0fc411ac0 (LWP 2647))
It is in any case a bug in gjs, not in gnome-shell.
Not entirely sure of that; note that the error message printed before the failing assertion is "Object %p (a %s) resurfaced after the JS wrapper was finalized. This is some library doing dubious memory management inside dispose()" https://github.com/GNOME/gjs/blob/gnome-3-24/gi/object.cpp#L216-L220 It looks from the stack trace that JS code is calling clutter_actor_destroy() directly, which it should not do. Of course, GJS should also not crash in that case, so maybe adding that assertion there was a bad idea. In any case I don't think it's a duplicate of bug 782464. However, without a reproducer or a gjs_dumpstack(), it's hard to tell whether removing the assertion will help, or just crash somewhere else.
This may have been solved with the patches released in GJS 1.48.4. Without `gjs_dumpstack()` or some reproducer info I can't really tell, though. Feel free to reopen this if the problem reoccurs with 1.48.4.