FWIW this could be a snapd bug, because while my system was unable to boot, I disabled all the snaps I had installed except the core snap, and then after being able to reboot I now re-enable all the snaps and see some warnings:
May 25 17:32:16 systemd[1]: Starting AppArmor initialization...
May 25 17:32:16 apparmor[21005]: * Starting AppArmor profiles
May 25 17:32:16 apparmor[21005]: Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox
May 25 17:32:16 apparmor[21005]: Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.benchmark (/var/lib/snapd/apparmor/profiles/snap.lxd.benchmark line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.activate (/var/lib/snapd/apparmor/profiles/snap.lxd.activate line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.buginfo (/var/lib/snapd/apparmor/profiles/snap.lxd.buginfo line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.daemon (/var/lib/snapd/apparmor/profiles/snap.lxd.daemon line 533): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.check-kernel (/var/lib/snapd/apparmor/profiles/snap.lxd.check-kernel line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.lxc (/var/lib/snapd/apparmor/profiles/snap.lxd.lxc line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.migrate (/var/lib/snapd/apparmor/profiles/snap.lxd.migrate line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.lxd (/var/lib/snapd/apparmor/profiles/snap.lxd.lxd line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.activate (/var/lib/snapd/apparmor/profiles/snap.lxd.activate line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.buginfo (/var/lib/snapd/apparmor/profiles/snap.lxd.buginfo line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.benchmark (/var/lib/snapd/apparmor/profiles/snap.lxd.benchmark line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.check-kernel (/var/lib/snapd/apparmor/profiles/snap.lxd.check-kernel line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.lxc (/var/lib/snapd/apparmor/profiles/snap.lxd.lxc line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.lxd (/var/lib/snapd/apparmor/profiles/snap.lxd.lxd line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.migrate (/var/lib/snapd/apparmor/profiles/snap.lxd.migrate line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/snapd/apparmor/profiles/snap.lxd.daemon (/var/lib/snapd/apparmor/profiles/snap.lxd.daemon line 533): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:52 apparmor[21005]: ...fail!
However, AFAICT these Warning's shouldn't cause apparmor to fail right?
FWIW this could be a snapd bug, because while my system was unable to boot, I disabled all the snaps I had installed except the core snap, and then after being able to reboot I now re-enable all the snaps and see some warnings:
May 25 17:32:16 systemd[1]: Starting AppArmor initialization... d/disable: usr.bin.firefox d/disable: usr.sbin.rsyslogd snapd/apparmor/ profiles/ snap.lxd. benchmark (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. benchmark line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. activate (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. activate line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. buginfo (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. buginfo line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. daemon (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. daemon line 533): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. check-kernel (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. check-kernel line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. lxc (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. lxc line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. migrate (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. migrate line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. lxd (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. lxd line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. activate (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. activate line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. buginfo (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. buginfo line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. benchmark (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. benchmark line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. check-kernel (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. check-kernel line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. lxc (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. lxc line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. lxd (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. lxd line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. migrate (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. migrate line 485): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details. snapd/apparmor/ profiles/ snap.lxd. daemon (/var/lib/ snapd/apparmor/ profiles/ snap.lxd. daemon line 533): Unconfined exec qualifier (ux) allows some dangerous environment variables to be passed to the unconfined process; 'man 5 apparmor.d' for details.
May 25 17:32:16 apparmor[21005]: * Starting AppArmor profiles
May 25 17:32:16 apparmor[21005]: Skipping profile in /etc/apparmor.
May 25 17:32:16 apparmor[21005]: Skipping profile in /etc/apparmor.
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/
May 25 17:32:16 apparmor[21005]: Warning from /var/lib/
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/
May 25 17:32:34 apparmor[21005]: Warning from /var/lib/
May 25 17:32:52 apparmor[21005]: ...fail!
However, AFAICT these Warning's shouldn't cause apparmor to fail right?