Public bug reported:
## Summary
After upgrading an Ubuntu 24.04 system to Ubuntu 26.04.1, GNOME
displayed several severe graphical symptoms:
- GDM showed the background, mouse pointer and clock, but no usable login UI.
- Many GNOME icons were black or incorrectly rendered.
- GNOME Shell logged failures while loading SVG resources.
- GdkPixbuf/Glycin failed to load SVG files because the Glycin sandbox could
not start correctly.
The root cause was an old locally-created AppArmor profile:
/etc/apparmor.d/local-bwrap
which was still present after the upgrade and also attached to:
/usr/bin/bwrap
Ubuntu 26.04 now provides its own official profile:
/etc/apparmor.d/bwrap-userns-restrict
which also attaches to `/usr/bin/bwrap`.
Having both profiles present caused AppArmor "conflicting profile
attachments" messages and prevented Bubblewrap from operating correctly.
Removing the obsolete local profile fixed Bubblewrap, Glycin SVG
loading, GNOME icons and GDM.
## System
Upgraded from:
Ubuntu 24.04 LTS
to:
Ubuntu 26.04.1 LTS
Relevant packages:
apparmor 5.0.2-0ubuntu1~26.04.1
bubblewrap 0.11.1-1ubuntu0.3
glycin-loaders 2.1.5+ds-0ubuntu0.2
gnome-shell 50.1-0ubuntu1.3
gnome-shell-common 50.1-0ubuntu1.3
gdm3 50.1-0ubuntu0.1
## Symptoms after upgrade
GDM started but did not display the normal login controls.
GNOME Shell also reported errors while loading SVG resources, for
example:
Could not load a pixbuf from
/org/gnome/shell/icons/scalable/actions/accessibility-large-text-symbolic.svg
Several GNOME icons were rendered black or incorrectly.
Autologin allowed the GNOME session to start, but the icon rendering
problem remained.
## Glycin / GdkPixbuf failure
The following test failed:
python3 - <<'PY'
import gi
gi.require_version("GdkPixbuf", "2.0")
gi.require_version("Gio", "2.0")
from gi.repository import Gio, GdkPixbuf
bundle = "/usr/share/gnome-shell/gnome-shell-icons.gresource"
resource = Gio.Resource.load(bundle)
Gio.resources_register(resource)
name = "/org/gnome/shell/icons/scalable/actions/accessibility-large-
text-symbolic.svg"
pix = GdkPixbuf.Pixbuf.new_from_resource(name)
print(pix.get_width(), pix.get_height())
PY
It failed with:
Loader process exited early with status '1'
The command shown in the exception was using Bubblewrap to start:
/usr/libexec/glycin-loaders/2+/glycin-svg
## Bubblewrap failure
A simple Bubblewrap test also failed:
bwrap --unshare-all \
--ro-bind /usr /usr \
--proc /proc \
--dev /dev \
/usr/bin/true
with:
bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted
## AppArmor logs
The kernel log repeatedly showed:
apparmor="AUDIT"
operation="exec"
info="conflicting profile attachments"
profile="unconfined"
name="/usr/bin/bwrap"
followed by:
apparmor="DENIED"
operation="capable"
profile="unprivileged_userns"
capname="setpcap"
and:
apparmor="DENIED"
operation="capable"
profile="unprivileged_userns"
capname="net_admin"
## Conflicting profiles
The system contained both:
/etc/apparmor.d/bwrap-userns-restrict
and:
/etc/apparmor.d/local-bwrap
`local-bwrap` contained:
abi <abi/4.0>,
include <tunables/global>
profile local-bwrap /usr/bin/bwrap flags=(unconfined) {
userns,
include if exists <local/bwrap>
}
This file did not belong to any installed package:
$ dpkg -S /etc/apparmor.d/local-bwrap
dpkg-query: no path found matching pattern /etc/apparmor.d/local-
bwrap
The Ubuntu-provided profile contained another attachment to
`/usr/bin/bwrap`:
profile bwrap /usr/bin/bwrap ...
Both profiles were loaded:
bwrap
local-bwrap
unpriv_bwrap
## Workaround / fix
The old local profile was backed up and removed:
sudo apparmor_parser -R /etc/apparmor.d/local-bwrap
sudo mv /etc/apparmor.d/local-bwrap \
/root/apparmor-backup/local-bwrap.disabled
sudo systemctl reload apparmor
After this:
apparmor_status
showed:
:glycin:bwrap
bwrap
unpriv_bwrap
but no longer:
local-bwrap
The previous Bubblewrap `RTM_NEWADDR: Operation not permitted`
failure disappeared.
Most importantly, the same GdkPixbuf/Glycin SVG test that previously
failed then succeeded:
SUCCESS
size: 16 x 16
alpha: True
After this change:
- GNOME icons rendered correctly again.
- GDM displayed correctly again.
- The SVG loading failures disappeared.
## Expected behaviour
When upgrading to Ubuntu 26.04, the presence of an existing locally-created
AppArmor profile attached to `/usr/bin/bwrap` should not silently result in
a conflicting profile configuration that breaks Bubblewrap and applications
depending on Glycin.
Ideally the upgrade should:
- detect conflicting AppArmor profiles attached to `/usr/bin/bwrap`, or
- warn the administrator clearly during the upgrade, or
- avoid loading both profiles simultaneously, if possible.
This is particularly serious because the resulting failure can make the
default GDM login screen unusable.
## Additional note
The `local-bwrap` profile was presumably created on an older Ubuntu release
as a workaround for the AppArmor unprivileged user namespace restrictions.
Ubuntu 26.04 now ships its own `bwrap-userns-restrict` profile, making such
older local workarounds conflict with the distribution-provided policy.
ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: apparmor 5.0.2-0ubuntu1~26.04.1
ProcVersionSignature: Ubuntu 7.0.0-38.38-generic 7.0.14
Uname: Linux 7.0.0-38-generic x86_64
NonfreeKernelModules: zfs
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Thu Oct 1 20:29:54 2026
InstallationDate: Installed on 2026-02-14 (229 days ago)
InstallationMedia: Ubuntu 24.04.4 LTS "Noble Numbat" - Release amd64 (20260210)
ProcEnviron:
LANG=fr_FR.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=xterm-256color
XDG_RUNTIME_DIR=<set>
ProcKernelCmdline: BOOT_IMAGE=/vmlinuz-7.0.0-38-generic
root=/dev/mapper/ubuntu--vg-ubuntu--lv ro quiet splash
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
SourcePackage: apparmor
UpgradeStatus: Upgraded to resolute on 2026-10-01 (0 days ago)
** Affects: apparmor (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug resolute wayland-session
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2169201
Title:
Upgrade to Ubuntu 26.04 leaves local-bwrap AppArmor profile
conflicting with bwrap-userns-restrict, breaking glycin SVG loading
and GDM
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2169201/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs