Changeset 3fbdcfc


Ignore:
Timestamp:
11/22/2022 07:49:17 AM (17 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
11.3, 12.0, 12.1, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, xry111/llvm18, xry111/xf86-video-removal
Children:
fc88f1f
Parents:
07b7046
Message:

mutter: use --buildtype=debugoptimized for now ...

instead of --buildtype=release to work around a crash in gnome-shell.

Upstream issue: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5512

If close an focused app window via the Activities overview, an assertion
fail will be triggered in clutter_actor_get_preferred_{width,height}.
When debug is disabled, the assertions are disabled as well and the
issue turns into a NULL dereference, leading to a crash.

This is definitely not a proper fix. But the issue has been haunting
gnome-42 and 43, and the upstream has not given any response yet.

Note that it's not a "compiler misoptimization" issue. The assertion
fails even with -O0, i. e. if both the assertions and compiler
optimization are disabled, gnome-shell will crash as well.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gnome/platform/mutter.xml

    r07b7046 r3fbdcfc  
    161161cd    build &amp;&amp;
    162162
    163 meson --prefix=/usr --buildtype=release -Dtests=false .. &amp;&amp;
     163meson --prefix=/usr --buildtype=debugoptimized -Dtests=false .. &amp;&amp;
    164164ninja</userinput></screen>
    165165
     
    197197      linkend='xwayland'/>.
    198198
    199       You should also replace <parameter>--buildtype=release
    200       -Dtests=false</parameter> in the <command>meson</command> command, with
    201       <parameter>--buildtype=debugoptimized -Dtests=true</parameter>.  The test
     199      You should also replace <parameter>-Dtests=false</parameter> in the
     200      <command>meson</command> command, with
     201      <parameter>-Dtests=true</parameter>.  The test
    202202      suite requires the mutter schema to be installed on the system, so it is
    203203      better to run the tests after installing the package.
     
    227227    <title>Command Explanations</title>
    228228
     229    <!-- https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5512
     230         If debug is disabled, the "assertion 'CLUTTER_IS_ACTOR (self)'
     231         failed" message will turn into a crash.  Enabling debug is just a
     232         work around, it's not a proper fix.  -->
     233    <para>
     234      <parameter>--buildtype=debugoptimized</parameter>: Override the
     235      default buildtype (<quote>debug</quote>), which would produce
     236      unoptimized binaries.  It's used instead of
     237      <option>--buildtype=release</option> to work around an issue
     238      causing gnome-shell to crash.
     239    </para>
     240<!--
    229241    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    230242      href="../../xincludes/meson-buildtype-release.xml"/>
    231 
     243-->
    232244    <para>
    233245      <parameter>-Dtests=false</parameter>: Prevents building the tests,
Note: See TracChangeset for help on using the changeset viewer.