Desktop installer crashes when udev event occurs on confirmation screen

Bug #2012077 reported by Olivier Gayot
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Olivier Gayot

Bug Description

On Ubuntu-desktop-installer, when a udev event occurs while the user it at the storage confirmation screen, subiquity resets the storage configuration. This makes the install crash because the configuration handed to curtin is empty.

ProblemType: Bug
DistroRelease: Ubuntu 23.04
Package: subiquity (unknown)
ProcVersionSignature: Ubuntu 6.1.0-16.16-generic 6.1.6
Uname: Linux 6.1.0-16-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.26.0-0ubuntu2
Architecture: amd64
CasperMD5CheckResult: pass
CasperVersion: 1.480
CurrentDesktop: ubuntu:GNOME
Date: Fri Mar 17 16:01:10 2023
LiveMediaBuild: Ubuntu 23.04 "Lunar Lobster" - Alpha amd64 (20230316)
 PATH=(custom, no user)
SourcePackage: subiquity
Symptom: installer
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Olivier Gayot (ogayot) wrote :
Revision history for this message
Olivier Gayot (ogayot) wrote :
Revision history for this message
Olivier Gayot (ogayot) wrote :

Steps to reproduce
1) Start the install and go all the way to the partitioning screen
2) Selected guided partitioning (erase everything) and click Next
3) On the confirmation screen, open a terminal and run this command:
    * sudo udevadm trigger
4) Upon clicking next, subiquity will hand an empty configuration to curtin - resulting in a crash later on.

Root cause analysis
What happens is that when the user is on the desktop installer's partitioning confirmation screen, subiquity is still listening to udev events.

If it receives a udev event, subiquity triggers a new probert run, which eventually calls FilesystemModel.reset() on completion. This means already POST-ed data end up being discarded.

It only happens in the desktop installer because the server installer marks filesystem configured upon reaching the confirmation screen. This makes subiquity ignore further udev events.

I recommend we do the same for the desktop installer, although fixing the race condition entirely would be better.

Changed in subiquity:
assignee: nobody → Olivier Gayot (ogayot)
Olivier Gayot (ogayot)
tags: added: fr-3784
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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