Gnome-Shell: 3.26.2
Distro: Antergos
Kernel: 4.15.7-1-arch kernel and linux-lts kernel too
If the plugin is installed and you change your workspace via hotkey or any other way and that workspace isn't empty, but contains any window - gnome will crash, if you uninstall the plugin, everything works fine again.
I would love to provide some crash logs, but would need to know which ones would help, since I couldn't find anything.
Hi 7twin, which theme are you using? I think it has to do with the dynamic transparency injected by dash to panel. Thanks
Hi @charlesg99 those are my themes:
The WM theme can be found here: https://drasite.com/flat-remix-gnome if that helps
I'm not suggesting that as a solution, but could you please try a different theme (like the default Adwaita) and see if you still experience the crash. It should help narrow down the cause. Thanks
@charlesg99 Yes, that solves the issue. The panel gets rounded and a margin in the flat-remix theme by the way, if that has to do with anything.
Is there any logs I could provide why the theme seems to crash it?
Thanks for the feedback, I'll install your theme and try to reproduce it.
To check your logs you could try
journalctl --priority 3 --since yesterday
Here is an example of a styling issue stacktrace:
Process # (gnome-shell) of user # dumped core
Stack trace of thread #:
#0 0x00007f33f6c21041 clutter_actor_get_allocation_box (libmutter-clutter-1.so)
#1 0x00007f33f5ff24b3 _st_create_shadow_pipeline_from_actor (libst-1.0.so)
...
...
#35 0x00007f33f601512b st_widget_style_changed (libst-1.0.so)
#36 0x00007f33f6015c59 st_widget_remove_style_class_name (libst-1.0.so)
...
To reproduce it: with the theme enabled have a window open on one workspace and another, then switch workspaces down and up and it'll crash. I'll attach the log in the next comment after I have it.
Recreated the issue just now:
Mar 09 05:45:49 xxx systemd-coredump[10606]: Process 6232 (gnome-shell) of user 1000 dumped core.
Stack trace of thread 6232:
#0 0x00007f99e5da3041 clutter_actor_get_allocation_box (libmutter-clutter-1.so)
#1 0x00007f99e51744b3 _st_create_shadow_pipeline_from_actor (libst-1.0.so)
#2 0x00007f99e51747ae n/a (libst-1.0.so)
#3 0x00007f99e517483f n/a (libst-1.0.so)
#4 0x00007f99e517f298 n/a (libst-1.0.so)
#5 0x00007f99e740adb1 n/a (libgobject-2.0.so.0)
#6 0x00007f99e7427af9 g_signal_emit_valist (libgobject-2.0.so.0)
#7 0x00007f99e7428240 g_signal_emit (libgobject-2.0.so.0)
#8 0x00007f99e5196e8e n/a (libst-1.0.so)
#9 0x00007f99e519712b st_widget_style_changed (libst-1.0.so)
#10 0x00007f99e519816b n/a (libst-1.0.so)
#11 0x00007f99e740adb1 n/a (libgobject-2.0.so.0)
#12 0x00007f99e7427af9 g_signal_emit_valist (libgobject-2.0.so.0)
#13 0x00007f99e7428240 g_signal_emit (libgobject-2.0.so.0)
#14 0x00007f99e5196e8e n/a (libst-1.0.so)
#15 0x00007f99e519712b st_widget_style_changed (libst-1.0.so)
#16 0x00007f99e519816b n/a (libst-1.0.so)
#17 0x00007f99e740adb1 n/a (libgobject-2.0.so.0)
#18 0x00007f99e7427af9 g_signal_emit_valist (libgobject-2.0.so.0)
#19 0x00007f99e7428240 g_signal_emit (libgobject-2.0.so.0)
#20 0x00007f99e5196e8e n/a (libst-1.0.so)
#21 0x00007f99e519712b st_widget_style_changed (libst-1.0.so)
#22 0x00007f99e519816b n/a (libst-1.0.so)
#23 0x00007f99e740ab72 g_closure_invoke (libgobject-2.0.so.0)
#24 0x00007f99e741e5aa n/a (libgobject-2.0.so.0)
#25 0x00007f99e7427806 g_signal_emit_valist (libgobject-2.0.so.0)
#26 0x00007f99e7428240 g_signal_emit (libgobject-2.0.so.0)
#27 0x00007f99e5196e8e n/a (libst-1.0.so)
#28 0x00007f99e519712b st_widget_style_changed (libst-1.0.so)
#29 0x00007f99e519816b n/a (libst-1.0.so)
#30 0x00007f99e740adb1 n/a (libgobject-2.0.so.0)
#31 0x00007f99e7427af9 g_signal_emit_valist (libgobject-2.0.so.0)
#32 0x00007f99e7428240 g_signal_emit (libgobject-2.0.so.0)
#33 0x00007f99e5196e8e n/a (libst-1.0.so)
#34 0x00007f99e519712b st_widget_style_changed (libst-1.0.so)
#35 0x00007f99e519816b n/a (libst-1.0.so)
#36 0x00007f99e740adb1 n/a (libgobject-2.0.so.0)
#37 0x00007f99e7427af9 g_signal_emit_valist (libgobject-2.0.so.0)
#38 0x00007f99e7428240 g_signal_emit (libgobject-2.0.so.0)
#39 0x00007f99e5196e8e n/a (libst-1.0.so)
#40 0x00007f99e519712b st_widget_style_changed (libst-1.0.so)
#41 0x00007f99e519816b n/a (libst-1.0.so)
#42 0x00007f99e740aea6 n/a (libgobject-2.0.so.0)
#43 0x00007f99e7427af9 g_signal_emit_valist (libgobject-2.0.so.0)
#44 0x00007f99e7428240 g_signal_emit (libgobject-2.0.so.0)
#45 0x00007f99e5196e8e n/a (libst-1.0.so)
#46 0x00007f99e519712b st_widget_style_changed (libst-1.0.so)
#47 0x00007f99e5197d29 st_widget_add_style_class_name (libst-1.0.so)
#48 0x00007f99e18841c8 ffi_call_unix64 (libffi.so.6)
#49 0x00007f99e1883c2a ffi_call (libffi.so.6)
#50 0x00007f99e60e3cab n/a (libgjs.so.0)
#51 0x00007f99e60e5607 n/a (libgjs.so.0)
#52 0x000004619abf4810 n/a (n/a)
#53 0x0000563cd30e3970 n/a (n/a)
#54 0x000004619ad72695 n/a (n/a)
#55 0x0000563cd4466770 n/a (n/a)
#56 0x000004619ad72695 n/a (n/a)
I am sorry, just noticed that the android app had put it all into one line, I updated it above.
@charlesg99 those css rules seem to crash it:
#panel .panel-button .system-status-icon,
#panel .panel-button .app-menu-icon > StIcon,
#panel .panel-button .popup-menu-arrow {
icon-size: 13px;
font-size: 13px;
icon-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); }
I tested by adding only the #panel rules one by one to the numix-frost theme and until I reached those, everything was fine, adding those back, crashes the gnome-shell.
But sadly that wasn't the issue, so then I looked at the rules and commented out every single "icon-shadow" there was - after that everything worked, so the crashes are caused by the icon-shadow, I hope that helps with the fix you suggested? in #353
Edit: Correction, it does still crash at random, but not as often anymore it seems.
Hey, thanks for the investigation! It indeed looks like there is a problem with the combination of the shadow/allocation of the panel when it is set at the bottom (If you try with dash to panel at the top, it shouldn't crash).
I also investigated further and found out that when you set a style that applies a shadow on a St.Widget, and that shadow is rendered outside of the screen, gnome-shell crashes when this style is removed. It happens with the theme "flat-remix-dark-miami" because, as you found out, it sets shadows under the panel, so when the panel is at the bottom, the shadow is rendered outside of the screen. While doing some tests, I could see that if the panel is at the bottom and that it is positioned 1 px higher, the crashing stops (since the shadow has some "space" to be rendered on screen).
Anyway, not much we can do about it since the height property of the panel doesn't include the rendered shadow, and dash to panel uses this property to position the panel at the bottom. Unless it is fixed in St, it falls back on the theme creators to utilise the specific dash to panel css classes ("dashtopanelBottom" and "dashtopanelTop") to set the shadow appropriately depending of the panel position.
The submitted PR #353 should fix the crashing without modifying the theme thought. If you feel like testing it, you could temporarily install from the branch "fix-dynamic-transparency" of this repo (until the PR is merged to master over here). Thanks
@charlesg99 Glad I could help! thanks for the quick fix too, of course I would love to test it, but cloning the branch, renaming it to the uuid, moving it into ~/.local/share/gnome-shell/extensions, restarting the gnome shell and trying to turn it on doesn't seem to work, "error loading extension", did I miss something to be able to enable it?
You only need to clone, cd into the cloned repo's root, then run "make install". Then restart gnome shell. Please see this if needed. Thanks
Awesome, it works just fine, thank you so much!
Great, thank for testing it. Just please remember to switch back to the official repo as soon as the fix is merged :)
Merged, thanks so much to both of you!