Dash-to-panel: Gnome Shell crashes on lock

Created on 29 Apr 2020  ยท  15Comments  ยท  Source: home-sweet-gnome/dash-to-panel

Describe the bug
So I recently upgraded gnome-shell to a version that should include the fix for #950. At the same time, I upgraded from Dash to Panel v35 to v37. I'm not sure if that's fixed, but there's a larger problem now:

  1. Click on the time area to open the calendar (not sure if needed)
  2. Click on the network area (not sure if needed)
  3. Dismiss the open panel
  4. Press Win-L

Gnome crashes. I saw this in the logs:

gnome-shell[3160]: ../mutter/clutter/clutter/clutter-actor.c:10546: The clutter_actor_set_allocation() function can only be called from within the implementation of the ClutterActor::allocate() virtual function.

Which may provide a hint.

The issue doesn't seem to occur with Dash to Panel disabled.

_Sigh_

Linux distribution and version
Arch Linux

GNOME Shell version
3.36.1+51+ge57a4e093-1

Dash-to-Panel version
v37

Where was Dash-to-Panel installed from?
extensions.gnome.org

bug

Most helpful comment

Looks like there's a gnome-shell patch: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1230

I applied this patch on top of the Arch package version 1:3.36.2-1 and it fixed the crash-on-lock issue for me.

All 15 comments

Hello lnicola, I just did the same gnome-shell upgrade on Arch and also have the crash on X11. No need to open a popup menu, it just crashes on lock. That's frustrating. What I don't get is that if you enable dash to panel after gnome-shell has started, then the issue doesn't occur when locking. This was probably introduced by https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1223.

gnome-shell[7800]: segfault at 0 ip 00007f1a336320ca sp 00007fffe00ecc50 error 4 in libst-1.0.so[7f1a3360a000+48000]
Code: 48 83 c3 01 41 39 9f 30 01 00 00 0f 8e 2f 01 00 00 49 8b 87 28 01 00 00 48 8d 35 f2 8c 02 00 48 8b 2c d8 48 8b 45 00 48 8b 00 <4c> 8b 20 4c 89 e7 ff 15 02 3d 04 00 85 c0 74 c6 41 80 7c 24 0a 00

Process 7800 (gnome-shell) of user 1000 dumped core.

Stack trace of thread 7800:
#0  0x00007f1a336320ca _st_theme_node_ensure_background (libst-1.0.so + 0x420ca)
#1  0x00007f1a33633e76 st_theme_node_paint_equal (libst-1.0.so + 0x43e76)
#2  0x00007f1a3362b23b n/a (libst-1.0.so + 0x3b23b)
#3  0x00007f1a3362b5ab st_widget_style_changed (libst-1.0.so + 0x3b5ab)
#4  0x00007f1a3362c54c n/a (libst-1.0.so + 0x3c54c)
#5  0x00007f1a3362b550 st_widget_style_changed (libst-1.0.so + 0x3b550)
#6  0x00007f1a3362c54c n/a (libst-1.0.so + 0x3c54c)
#7  0x00007f1a3362b550 st_widget_style_changed (libst-1.0.so + 0x3b550)
#8  0x00007f1a3362c54c n/a (libst-1.0.so + 0x3c54c)
#9  0x00007f1a3362b550 st_widget_style_changed (libst-1.0.so + 0x3b550)
#10 0x00007f1a3362c54c n/a (libst-1.0.so + 0x3c54c)
#11 0x00007f1a3362b550 st_widget_style_changed (libst-1.0.so + 0x3b550)
#12 0x00007f1a3362c54c n/a (libst-1.0.so + 0x3c54c)
#13 0x00007f1a3362b550 st_widget_style_changed (libst-1.0.so + 0x3b550)
#14 0x00007f1a3362c54c n/a (libst-1.0.so + 0x3c54c)
#15 0x00007f1a3362b550 st_widget_style_changed (libst-1.0.so + 0x3b550)

That's frustrating.

Yesss.

This was probably introduced by https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1223.

Possibly. I wasn't sure if it was the gnome-shell upgrade or if it was related to a Dash to Panel change (like the Tweener stuff).

Can you please file this on the gnome-shell repo? I can't get stack traces, but I'll do it if it's not too much of a hassle.

I've been running dtp v37 for a while now and this crash started happening right after the g-s upgrade this morning, so not the Tweener changes for sure. Also the The clutter_actor_set_allocation() function can only be called from within the implementation of the ClutterActor::allocate() virtual function log is also new since this morning, but it happens (on opening a popup menu) even when dtp isn't enabled. I won't have time to open an issue on the gnome-shell repo before tomorrow, if you have some time before that, please open one. Thanks!

Thanks Inicola, I narrowed down the issue and the crash happens when restoring the panelbox as the extension gets disabled (on lock screen).

If I remove the addChrome call (Main.layoutManager.addChrome(p.panelBox, { affectsStruts: true, trackFullscreen: true });), it doesn't crash, but there is no top panel on the lock screen and a bunch of errors are generated because the shell tries to access its theme info.

As I said, what I don't get is the fact that it doesn't crash when enabling the extension after gnome-shell has loaded. It only crashes when gnome-shell starts with the extension already enabled.

As I said, what I don't get is the fact that it doesn't crash when enabling the extension after gnome-shell has loaded. It only crashes when gnome-shell starts with the extension already enabled.

For me it also crashed after I enabled the extension through gnome-tweaks (without restarting the shell)

Looks like there's a gnome-shell patch: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1230

I applied this patch on top of the Arch package version 1:3.36.2-1 and it fixed the crash-on-lock issue for me.

Has the patch already made it to Arch? I've noticed I haven't had a crash in 2 days.

Not yet.

The *-git aur build, after being fixed, started doing the same thing again.

The fix has landed in Arch's repo (gnome-shell 1:3.36.2+7+ge4199c71c-1) and it's back to normal! Hopefully smooth sailing till 3.38. Thanks!

Since the fix is not in the Ubuntu repos yet, there is actually an easier way than adding a "proposed" repo, just downgrade GNOME Shell until a fix comes in:

sudo apt install gnome-shell=3.36.1-5ubuntu1 gnome-shell-common=3.36.1-5ubuntu1 gnome-shell-extension-prefs=3.36.1-5ubuntu1

edit: That's for 20.04. You can get the last version for your OS with apt list -a gnome-shell so on and so forth.

pranav@exam ~ > journalctl -f -o cat /usr/bin/gnome-shell
length values must specify a unit
length values must specify a unit
...
../clutter/clutter/clutter-actor.c:10548: The clutter_actor_set_allocation() function can only be called from within the implementation of the ClutterActor::allocate() virtual function.
../clutter/clutter/clutter-actor.c:10548: The clutter_actor_set_allocation() function can only be called from within the implementation of the ClutterActor::allocate() virtual function.
...
Error in size change accounting.

^ZโŽ                                                                                                                                   

Distro: Ubuntu 20.04 LTS
GNOME: 3.36.2
Dash-to-Panel: 37

@charlesg99 Are you sure this problem is fixed? I hope this issue is not related to this extension too.

@PranavBhattarai that's https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2710 and is unrelated to the crash here.

@lnicola Thanks a lot.

Was this page helpful?
0 / 5 - 0 ratings