Installer Ubuntu-220.4.1-server after Server Snap menue jumps back to Language selection instead of Finish&Reboot

Bug #1986674 reported by Miranda Schumacher
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
subiquity
Fix Released
Undecided
Unassigned
subiquity (Ubuntu)
Fix Released
High
Olivier Gayot

Bug Description

ubuntu-22.04.1-live-server-amd64.iso
(sha256sum 10f19c5b2b8d6db711582e0e27f5116296c34fe4b313ba45f9b201a5007056cb)

After in the Installer "Featured Server Snaps" menu (see attached screenshot, there is no snap shown)

after clicking on "Done", the Installer jumps back to inital Language selection menu, instead of finishing the install and reboot.

This is stable reproducable by deleting the VM and doing a plain new install from the ISO.

With the earlier version ubuntu-22.04-live-server-amd64.iso
(so not the .1 point release) our documented and unchanged Ubuntu 22 install algorithm worked flawlessly, it ended with "Finish & Reboot".

Revision history for this message
Miranda Schumacher (daku8938) wrote :
Revision history for this message
Miranda Schumacher (daku8938) wrote :

The is the Language menu to that the Installer jumps after clicking on "Done" in the Server Snap menu.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. It seems that your bug report is not filed about a specific source package though, rather it is just filed against Ubuntu in general. It is important that bug reports be filed about source packages so that people interested in the package can find the bugs about it. You can find some hints about determining what package your bug might be about at https://wiki.ubuntu.com/Bugs/FindRightPackage. You might also ask for help in the #ubuntu-bugs irc channel on Libera.chat.

To change the source package that this bug is filed about visit https://bugs.launchpad.net/ubuntu/+bug/1986674/+editstatus and add the package name in the text box next to the word Package.

[This is an automated message. I apologize if it reached you inappropriately; please just reply to this message indicating so.]

tags: added: bot-comment
affects: ubuntu → subiquity (Ubuntu)
Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

Can you dig some log files from /var/log/installer or crash files from /var/crash if there are any?

Revision history for this message
Miranda Schumacher (daku8938) wrote :

Folder /var/crash/ is empty.

Attached the complete folder /var/log/installer/ as Tarball.

The action begins at log timestamp today 07:57, this is when completing the "SSH" and "Snap" menu, afterwards the Installer jumps back to language menu.

The log entries from timestamp yesterday are from the begin of the installation. I made a VM snaphost (including RAM) at the "SSH" menu step (so just before the bug occurs), and started from that snapshot today.

Revision history for this message
Miranda Schumacher (daku8938) wrote :

Can anybody confirm? Anything in the logfiles to see?

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote :

I think this is some kind of UI race that's causing SnapListController.done to be called twice. Does it happen every time?

Dan Bungert (dbungert)
tags: added: fr-2618
Revision history for this message
Miranda Schumacher (daku8938) wrote :

It happened all first three times when I started using the ubuntu-22.04 cd .1 release. Then I made a VM snapshot at the ssh menu, just before the bug happens. But when starting from the VM snapshot, the bug only happens roughly every third try. I have the suspicion it could depend on how fast you hit enter("done") in the menu.

Olivier Gayot (ogayot)
Changed in subiquity (Ubuntu):
assignee: nobody → Olivier Gayot (ogayot)
Olivier Gayot (ogayot)
Changed in subiquity (Ubuntu):
status: New → In Progress
Revision history for this message
Olivier Gayot (ogayot) wrote :

I think this bug is caused by this patch: https://github.com/canonical/subiquity/commit/ee528fe6a739eedc598be2af9f7e7cc8a731acdf, and more specifically this change:

         if data.status == SnapCheckState.FAILED:
- # If loading snaps failed or the network is disabled, skip the
- # screen.
- raise Skip()
+ # If loading snaps failed or network is disabled, skip the screen.
+ log.debug('snaplist GET failed, mark done')
+ self.done([])
         return SnapListView(self, data)

The removal of the raise statement makes the function always return a view, even though we move to the next screen through self.done([])

This triggers a race condition that will sometimes show the view returned, with invalid data.

Revision history for this message
Olivier Gayot (ogayot) wrote :
tags: added: foundations-todo
Olivier Gayot (ogayot)
Changed in subiquity (Ubuntu):
status: In Progress → Fix Committed
Changed in subiquity (Ubuntu):
importance: Undecided → High
Revision history for this message
Miranda Schumacher (daku8938) wrote :

Will a new install ISO file be released?

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

Hello @daku8938,

Most likely not, but once a new version of Subiquity that includes this fix is released, the installer will offer to self update, through a menu like the below:

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  Installer update available [ Help ]
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  Version XXXXXXX of the installer is now available (22.07.2 is currently
  running).

  You can read the release notes for each version at:

                 https://github.com/canonical/subiquity/releases

  If you choose to update, the update will be downloaded and the installation
  will continue from here.

                        [ Update to the new installer ]
                        [ Continue without updating ]
                        [ Back ]

Choosing [ Update to the new installer ] will pickup the fix.

Revision history for this message
Miranda Schumacher (daku8938) wrote :

Olivier, our servers do not have direct internet access. They need to use a http proxy.
Can one set the http proxy first and then update the installer itself, before doing the rest of the installation configuration?

Generally, I think the installer should work properly without internet connection.

Revision history for this message
Dan Bungert (dbungert) wrote :

The bugfixes we're doing now, including this one, will be included in the next normally scheduled ISO builds. So for 22.04, this fix should be included in 22.04.2 ISOs.

Revision history for this message
Miranda Schumacher (daku8938) wrote :

It's our policy to stick to the LTS releases for stability reasons.
So then we cannot use the 22.04.2 ISOs, correct?
Could be released a e.g. 22.04.1.1 LTS release with this bug fixed?

I mean, what is the reason for a long term support installer CD that has this show stopping bug?

Revision history for this message
Dan Bungert (dbungert) wrote :

The 22.04.2 ISO would be a LTS, it's just not soon - due Feb 2023 per https://discourse.ubuntu.com/t/jammy-jellyfish-release-schedule/23906

I have seen in the past that fully offline installs may work better - is that the case here? By that I mean, do you get better results if you skip proxy configuration and sort that out later? In no way do I like that as a long term plan, just trying to get you unstuck.

tags: removed: foundations-todo
Dan Bungert (dbungert)
Changed in subiquity:
status: New → Fix Committed
Revision history for this message
Dan Bungert (dbungert) wrote :

We believe a fix for this can be found in Subiquity 22.10.1. On
install you will be offered to update to the new version of the
installer if network is available, or you can perform a manual update
by running the follwing in a terminal:
sudo snap refresh subiquity

Changed in subiquity (Ubuntu):
status: Fix Committed → Fix Released
Changed in subiquity:
status: Fix Committed → Fix Released
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.