Skip to content

Segmentation faults with Mutter 47/48 on Gentoo #2718

@pimvullers

Description

@pimvullers

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:

  1. 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.

  2. 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

  1. Build gala against unpatched mutter-48 (I'm using 48.5)
  2. Start gala (I'm using gdb --args gala --replace)
  3. Attached backtraces from the fails (for the various cases).

bt.txt

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions