gnome-shell crashed with SIGSEGV in st_theme_node_lookup_shadow() from st_theme_node_get_box_shadow() from st_theme_node_get_paint_box() from st_theme_node_transition_get_paint_box() from st_widget_get_paint_volume()

Bug #2069559 reported by errors.ubuntu.com bug bridge
46
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Dash to dock
Fix Released
Unknown
GNOME Shell
New
Unknown
gnome-shell (Ubuntu)
Status tracked in Oracular
Noble
Fix Released
High
Daniel van Vugt
Oracular
Fix Released
High
Daniel van Vugt

Bug Description

[ Impact ]

gnome-shell crashes with SIGSEGV in st_theme_node_lookup_shadow() when the screen is locked from the overview, if you had any extension loaded that changes stylesheets (like ubuntu-dock or dash-to-dock). In theory it could happen whenever such an extension is deactivated.

https://errors.ubuntu.com/problem/65513baf83b5ba140d09c2aa71b988097108cde0
https://errors.ubuntu.com/problem/9e0eb2f488ad83e41a8977709955a661857ba95e

[ Test Plan ]

1. Log into gnome-shell.
2. Ensure Ubuntu Dock is active.
3. Open the overview by tapping the Super key.
4. Lock the screen while the overview is open.

Expect: No crash, no automatic return to the login screen. The screen should lock and then be unlockable.

Note: It doesn't crash reliably every time due to the nature of memory corruption so additional verification under Valgrind may be advisable.

[ Where problems could occur ]

Since the fix affects theming and stylesheets, bugs could occur in shell theming.

[ Original description ]

The Ubuntu Error Tracker has been receiving reports about a problem regarding gnome-shell. This problem was most recently seen with package version 46.0-0ubuntu5.1, the problem page at https://errors.ubuntu.com/problem/65513baf83b5ba140d09c2aa71b988097108cde0 contains more details, including versions of packages affected, stacktrace or traceback, and individual crash reports.
If you do not have access to the Ubuntu Error Tracker and are a software developer, you can request it at http://forms.canonical.com/reports/.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
summary: - /usr/bin/gnome-
- shell:11:st_theme_node_lookup_shadow:st_theme_node_get_box_shadow:st_theme_node_get_paint_box:st_theme_node_transition_get_paint_box:st_widget_get_paint_volume
+ gnome-shell crashed with SIGSEGV in st_theme_node_lookup_shadow() from
+ st_theme_node_get_box_shadow() from st_theme_node_get_paint_box() from
+ st_theme_node_transition_get_paint_box() from
+ st_widget_get_paint_volume()
Changed in gnome-shell (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: New → In Progress
milestone: none → ubuntu-24.10
no longer affects: gnome-shell (Ubuntu Jammy)
Changed in gnome-shell (Ubuntu Noble):
assignee: nobody → Daniel van Vugt (vanvugt)
importance: Undecided → High
Changed in gnome-shell (Ubuntu Oracular):
importance: Undecided → High
Changed in gnome-shell (Ubuntu Noble):
status: New → Triaged
Changed in gnome-shell:
status: Unknown → New
Changed in dash-to-dock:
status: Unknown → Fix Released
Changed in gnome-shell (Ubuntu Noble):
milestone: none → ubuntu-24.04.1
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Pushed to ubuntu/latest for inclusion in the next oracular revision:
https://salsa.debian.org/gnome-team/gnome-shell/-/commit/f01d0542ccf2cb1c1bd9926e6c5a235137ebb843

Changed in gnome-shell (Ubuntu Oracular):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-shell - 46.2-1ubuntu4

---------------
gnome-shell (46.2-1ubuntu4) oracular; urgency=medium

  * Add st-theme-node-Forget-properties-cache-on-stylesheet-chang.patch
    to fix crashes that occur when locking the screen from within the overview.
    But more generally can occur whenever any extension that modifies
    stylesheets (like ubuntu-dock or dash-to-dock) is unloaded (LP: #2069559).

 -- Daniel van Vugt <email address hidden> Wed, 03 Jul 2024 14:37:10 +0800

Changed in gnome-shell (Ubuntu Oracular):
status: Fix Committed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in gnome-shell (Ubuntu Noble):
status: Triaged → Fix Committed
Revision history for this message
Robie Basak (racb) wrote : Proposed package upload rejected

An upload of gnome-shell to noble-proposed has been rejected from the upload queue for the following reason: "GNOME MRE not valid for gnome-shell as discussed in bug".

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
description: updated
tags: added: oracular
removed: groovy kinetic lunar mantic
Changed in gnome-shell (Ubuntu Noble):
status: Fix Committed → In Progress
description: updated
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Oh this is going to be stuck behind 46.0-0ubuntu6~24.04.1 which has stopped phasing due to bug 2075309 :(

Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello errors.ubuntu.com, or anyone else affected,

Accepted gnome-shell into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gnome-shell/46.0-0ubuntu6~24.04.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gnome-shell (Ubuntu Noble):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-noble
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This might take a while. The first Noble machine I tried doesn't crash or exhibit heap corruption under Valgrind either. Even without the fix.

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (gnome-shell/46.0-0ubuntu6~24.04.4)

All autopkgtests for the newly accepted gnome-shell (46.0-0ubuntu6~24.04.4) for noble have finished running.
The following regressions have been reported in tests triggered by the package:

gnome-shell-pomodoro/unknown (s390x)
systray-mdstat/unknown (s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/noble/update_excuses.html#gnome-shell

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The second Noble machine I've tried also doesn't trigger the crash. But we're definitely receiving crash reports even from 46.0-0ubuntu6~24.04.3: https://errors.ubuntu.com/problem/65513baf83b5ba140d09c2aa71b988097108cde0

That's odd given this second Noble machine is also the last machine I reproduced the crash on when testing the fix.

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Mh, isn't the fix in 46.0-0ubuntu6~24.04.4?

So it's expected to have them on .3, no?

Revision history for this message
Daniel van Vugt (vanvugt) wrote (last edit ):

Yes I would expect the crash in .3, and can see it reported in .3:

  https://errors.ubuntu.com/problem/65513baf83b5ba140d09c2aa71b988097108cde0

but it has always been intermittent and doesn't crash on demand when I want it to. That's usually a requirement for trusting the test case before installing the fixed version.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I have installed gnome-shell 46.0-0ubuntu6~24.04.4 on Noble and cannot reproduce the crash using the test case described at the top of this bug. However as mentioned in previous comments, this crash is refusing to happen on demand, even without the fix.

Since we are still getting automated crash reports for this issue;

  https://errors.ubuntu.com/problem/65513baf83b5ba140d09c2aa71b988097108cde0

I suggest we release the fix and the above page will provide the final word in whether the crash is gone for good.

tags: added: verification-done-noble
removed: verification-needed-noble
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-shell - 46.0-0ubuntu6~24.04.4

---------------
gnome-shell (46.0-0ubuntu6~24.04.4) noble; urgency=medium

  * Add st-theme-node-Forget-properties-cache-on-stylesheet-chang.patch
    to fix crashes that occur when locking the screen from within the overview.
    But more generally can occur whenever any extension that modifies
    stylesheets (like ubuntu-dock or dash-to-dock) is unloaded (LP: #2069559).

 -- Daniel van Vugt <email address hidden> Fri, 16 Aug 2024 15:16:47 +0800

Changed in gnome-shell (Ubuntu Noble):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for gnome-shell has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.