-
-
Notifications
You must be signed in to change notification settings - Fork 78
Description
What Happened?
Using Gala 8.4.0. Gala works fine when built against mutter-46.
When starting gala on Gentoo when built against mutter 47 or 48, it crashes.
Today I spent some time to debug and located a few cases where segfaults are generated:
-
Cogl.color.from_string("Black") --> based on default mutter/cogl documentation this expects a color code (RGB/RGBA/HSL) instead of a name. Replacing "Black" with "#000" resolves the segfault.
-
BackgroundBlurEffect Clutter actor does not seem to have a context. below "patches" cause to proceed in the gala startup, but then I get another segfault when the object is created by the BlurManager (see attached gdb backtraces). Not sure whether the get_context() replacements have a meaningful effect, but it looked cleaner to me in my attempt to analyze the problem. quick fix for window switcher was just to remove the effect.
sed -i -e "s/Black/#000/" src/Background/BackgroundContainer.vala
sed -i -e "s/actor.context/actor.get_context()/" src/Background/BlurEffect.vala
sed -i -e "s/actor.context/actor.get_context()/" src/BackgroundBlurEffect.vala
sed -i -e "/blur_effect/d" src/Widgets/WindowSwitcher/WindowSwitcher.vala
sed -i -e "s/black/#000/" src/Widgets/SessionLocker.vala
Steps to Reproduce
- Build gala against unpatched mutter-48 (I'm using 48.5)
- Start gala (I'm using gdb --args gala --replace)
- Attached backtraces from the fails (for the various cases).
Expected Behavior
Gala starts fine without segfaults, like it does with mutter-46.
OS Version
Other Linux
OS Architecture
amd64 (on most hardwares)
Session Type
Secure Session (Wayland, This is the default), Classic Session (X11)
Software Version
Latest release (I have run all updates)
Log Output
See attached bt.txt, let me know if other specific logs are helpful.Hardware Info
No response