[Bug 1838329] Re: Cryptswap periodically fails to mount at boot due to missing a udev notification

Dan Streetman 1838329 at bugs.launchpad.net
Mon Jul 6 21:46:21 UTC 2020


** Description changed:

+ [impact]
+ 
+ systems using cryptsetup-based encrypted swap may hang during boot due
+ to udevd missing the notification that swap has been setup on the newly
+ created swap device.
+ 
+ [test case]
+ 
+ see original description, and reproduction is intermittent based on
+ timing
+ 
+ [regression potential]
+ 
+ any regression would likely occur during, or after, boot when creating
+ an encrypted swap device and/or while waiting to activate the new swap
+ device. Regressions may cause failure to correctly enable swap and/or
+ hung boot waiting for the swap device.
+ 
+ [scope]
+ 
+ this was (potentially) fixed upstream with PR 15836, which is not yet
+ included in any upstream release, so this is needed in all releases,
+ including groovy.
+ 
+ also note while the upstream bug is closed, and code review seems to
+ indicate this *should* fix this specific issue, there are some comments
+ in the upstream bug indicating it may not completely solve the problem,
+ although there is no further debug of the new reports.
+ 
+ [original description]
+ 
  On some systems, cryptsetup-based encrypted swap partitions cause
  systemd to get stuck at boot. This is a timing-sensitive Heisenbug, so
  the rate of occurrence varies from one system to another. Some hardware
  will not experience the issue at all, others will only occasionally
  experience the issue, and then there are the unlucky who are unable to
  boot at all, no matter how many times they restart.
  
  The workaround is for the cryptsetup-generator to generate cryptswap
  service entries that call `udevadm trigger` after `mkswap`. This will
  ensure that the udev event is triggered, so that systemd is notified
  that the encrypt swap partition is ready to activate. This patch has
  already been submitted upstream to systemd, but it was not accepted
  because it is a workaround for the side effect of systemd not seeing the
  udev event upon creating the swap partition.

** Tags removed: bionic ddstreet disco eoan

** Also affects: systemd (Ubuntu Bionic)
   Importance: Undecided
       Status: New

** Also affects: systemd (Ubuntu Groovy)
   Importance: High
       Status: Fix Released

** Changed in: systemd (Ubuntu Groovy)
       Status: Fix Released => In Progress

** Changed in: systemd (Ubuntu Groovy)
       Status: In Progress => New

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1838329

Title:
  Cryptswap periodically fails to mount at boot due to missing a udev
  notification

Status in systemd:
  New
Status in systemd package in Ubuntu:
  New
Status in systemd source package in Bionic:
  New
Status in systemd source package in Focal:
  In Progress
Status in systemd source package in Groovy:
  New

Bug description:
  [impact]

  systems using cryptsetup-based encrypted swap may hang during boot due
  to udevd missing the notification that swap has been setup on the
  newly created swap device.

  [test case]

  see original description, and reproduction is intermittent based on
  timing

  [regression potential]

  any regression would likely occur during, or after, boot when creating
  an encrypted swap device and/or while waiting to activate the new swap
  device. Regressions may cause failure to correctly enable swap and/or
  hung boot waiting for the swap device.

  [scope]

  this was (potentially) fixed upstream with PR 15836, which is not yet
  included in any upstream release, so this is needed in all releases,
  including groovy.

  also note while the upstream bug is closed, and code review seems to
  indicate this *should* fix this specific issue, there are some
  comments in the upstream bug indicating it may not completely solve
  the problem, although there is no further debug of the new reports.

  [original description]

  On some systems, cryptsetup-based encrypted swap partitions cause
  systemd to get stuck at boot. This is a timing-sensitive Heisenbug, so
  the rate of occurrence varies from one system to another. Some
  hardware will not experience the issue at all, others will only
  occasionally experience the issue, and then there are the unlucky who
  are unable to boot at all, no matter how many times they restart.

  The workaround is for the cryptsetup-generator to generate cryptswap
  service entries that call `udevadm trigger` after `mkswap`. This will
  ensure that the udev event is triggered, so that systemd is notified
  that the encrypt swap partition is ready to activate. This patch has
  already been submitted upstream to systemd, but it was not accepted
  because it is a workaround for the side effect of systemd not seeing
  the udev event upon creating the swap partition.

To manage notifications about this bug go to:
https://bugs.launchpad.net/systemd/+bug/1838329/+subscriptions



More information about the Ubuntu-sponsors mailing list