cc_grub_dpkg: race condition on dpkg-set-selections lock
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cloud-init |
Expired
|
High
|
Unassigned |
Bug Description
Intermittent failure found during jenkins test runs:
We probably want a couple quick retries if lock is held.
https:/
'2022-08-18 06:54:21,464 - handlers.py[DEBUG]: start: '
'modules-
'once-
'2022-08-18 06:54:21,464 - util.py[DEBUG]: Writing to '
'/var/
'- wb: [644] 25 bytes\n'
'2022-08-18 06:54:21,464 - helpers.py[DEBUG]: Running config-grub-dpkg using '
'lock (<FileLock using file '
"'/var/
"2022-08-18 06:54:21,464 - subp.py[DEBUG]: Running command ['grub-probe', "
"'-t', 'disk', '/boot'] with allowed return codes [0] (shell=False, "
'capture=True)\n'
"2022-08-18 06:54:21,710 - subp.py[DEBUG]: Running command ['udevadm', "
"'info', '--root', '--query=symlink', '/dev/sda'] with allowed return codes "
'[0] (shell=False, capture=True)\n'
'2022-08-18 06:54:21,713 - cc_grub_
'symlinks: '
'/dev/
'2022-08-18 06:54:21,714 - cc_grub_
'disk/by-id symlinks: '
'/dev/
'2022-08-18 06:54:21,714 - cc_grub_
'/dev/
'2022-08-18 06:54:21,714 - cc_grub_
'debconf-
"'/dev/
'2022-08-18 06:54:21,714 - subp.py[DEBUG]: Running command '
"['debconf-
'capture=True)\n'
'2022-08-18 06:54:21,817 - util.py[WARNING]: Failed to run '
'debconf-
'2022-08-18 06:54:21,823 - util.py[DEBUG]: Failed to run '
'debconf-
'Traceback (most recent call last):\n'
' File "/usr/lib/
'line 155, in handle\n'
' subp.subp(
' File "/usr/lib/
'subp\n'
' stdout=out, stderr=err, exit_code=rc, cmd=args\n'
'cloudinit.
'command.\n'
"Command: ['debconf-
'Exit code: 1\n'
'Reason: -\n'
'Stdout: \n'
'Stderr: debconf: DbDriver "config": /var/cache/
'by another process: Resource temporarily unavailable\n'
Changed in cloud-init: | |
importance: | Undecided → Medium |
tags: | added: bitesize |
I just hit this too. I was wondering if WARNING vs ERROR was more appropriate for this kind of failure?