Debian Bug report logs - #853277
os-prober: triggers hang on default install with unencrypted LVM

version graph

Package: os-prober; Maintainer for os-prober is Debian Install System Team <debian-boot@lists.debian.org>; Source for os-prober is src:os-prober (PTS, buildd, popcon).

Reported by: Cyril Brulebois <kibi@debian.org>

Date: Tue, 31 Jan 2017 04:24:02 UTC

Severity: grave

Tags: patch

Found in version os-prober/1.72

Fixed in version os-prober/1.74

Done: Cyril Brulebois <kibi@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, kibi@debian.org, ivo.dedecker@ugent.be, cjwatson@debian.org, steve@einval.com, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#853277; Package os-prober. (Tue, 31 Jan 2017 04:24:04 GMT) (full text, mbox, link).


Acknowledgement sent to Cyril Brulebois <kibi@debian.org>:
New Bug report received and forwarded. Copy sent to kibi@debian.org, ivo.dedecker@ugent.be, cjwatson@debian.org, steve@einval.com, Debian Install System Team <debian-boot@lists.debian.org>. (Tue, 31 Jan 2017 04:24:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Cyril Brulebois <kibi@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: os-prober: triggers hang on default install with unencrypted LVM
Date: Tue, 31 Jan 2017 05:20:04 +0100
Package: os-prober
Version: 1.72
Severity: grave
Justification: renders package unusable; delays Stretch RC2

[ X-D-Cc: Ivo, Colin, Steve ]

Hi,

Unfortunately my d-i tests didn't catch this issue before uploading d-i
and asking Steve to start builds for installation images.

When picking plain LVM (not encrypted), os-prober 1.73 hangs right after
having printed this to syslog, with slight variations:
| 50mount-tests: debug: creating device mapper device /dev/mapper/osprober-linux-sda3 [Steve]
| 50mount-tests: debug: creating device mapper device /dev/mapper/osprober-linux-vda5 [Cyril]

The issue seems to be the dmsetup create call (with -r and the partition
name) getting stuck in the kernel on the dm_ctl_ioctl call, possibly
because we're trying to play with something that's mounted already?

Looking at commits touching dmsetup stuff, I went back to the first one
between 1.71 and 1.72:
| commit 8a8f565b43fd126e97b2c390bd81868c6653cf2c
| Author: Ivo De Decker <ivo.dedecker@ugent.be>
| Date:   Sat Jul 13 21:15:41 2013 +0200
| 
|     using read-only device mapper entry

and using a version built from it is sufficient to reproduce the hang.

Going back one commit:
| commit 1f329ff80e5c473414d7c314777d0f667b4004c4
| Author: Ivo De Decker <ivo.dedecker@ugent.be>
| Date:   Sun Jul 14 13:26:43 2013 +0200
| 
|     log result from mount command

is sufficient to get back to a working installer; that is:
| Jan 31 04:52:43 os-prober: debug: running /usr/lib/os-probes/50mounted-tests on /dev/vda5
| Jan 31 04:52:43 50mounted-tests: debug: partition /dev/vda5 set to read-only
| Jan 31 04:52:43 50mounted-tests: debug: mounting /dev/vda5 as LVM2_member failed: mount: type de système de fichiers « LVM2_member » inconnu
| (unknown FS type: LVM2_member)
| Jan 31 04:52:43 50mounted-tests: debug: partition /dev/vda5 set to read-write
| …
| Jan 31 03:52:44 os-prober: debug: os detected by /usr/lib/os-probes/50mounted-tests
| Jan 31 03:52:44 os-prober: debug: running /usr/lib/os-probes/50mounted-tests on /dev/vda5
| Jan 31 03:52:44 50mounted-tests: debug: creating device mapper device /dev/mapper/osprober-linux-vda5
| Jan 31 03:52:44 50mounted-tests: debug: mounting /dev/mapper/osprober-linux-vda5 (/dev/vda5) as LVM2_member failed: mount: mounting /dev/mapper/osprober-linux-vda5 on /var/lib/os-prober/mount failed: No such device
| Jan 31 03:52:44 50mounted-tests: debug: remove device mapper device /dev/mapper/osprober-linux-vda5


If you want to test stuff, you can fetch images from:
  http://cdimage.debian.org/cdimage/.stretch_di_rc2/debian-cd/

(at least for the time being.)

I've used amd64 netinst, with a 3 GB disc under KVM, initially blank,
installing only standard tools.

To test locally built packages, I've transfered them when the grub
prompt pops up, chrooting to /target and installing them there before
resuming the installation.


I can (rather) easily test patches if runtime tests are a burden for you
folks. A timely fix or at least workaround would be appreciated as udebs
are frozen at the moment, and the freeze is only a few days away.


KiBi.



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Install System Team <debian-boot@lists.debian.org>:
Bug#853277; Package os-prober. (Tue, 31 Jan 2017 23:15:06 GMT) (full text, mbox, link).


Acknowledgement sent to Cyril Brulebois <kibi@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Install System Team <debian-boot@lists.debian.org>. (Tue, 31 Jan 2017 23:15:06 GMT) (full text, mbox, link).


Message #10 received at 853277@bugs.debian.org (full text, mbox, reply):

From: Cyril Brulebois <kibi@debian.org>
To: 853277@bugs.debian.org
Cc: ivo.dedecker@ugent.be, cjwatson@debian.org, steve@einval.com
Subject: Re: Bug#853277: os-prober: triggers hang on default install with unencrypted LVM
Date: Wed, 1 Feb 2017 00:14:14 +0100
[Message part 1 (text/plain, inline)]
Control: tag -1 patch pending

Hi,

Cyril Brulebois <kibi@debian.org> (2017-01-31):
> When picking plain LVM (not encrypted), os-prober 1.73 hangs right after
> having printed this to syslog, with slight variations:
> | 50mount-tests: debug: creating device mapper device /dev/mapper/osprober-linux-sda3 [Steve]
> | 50mount-tests: debug: creating device mapper device /dev/mapper/osprober-linux-vda5 [Cyril]
> 
> The issue seems to be the dmsetup create call (with -r and the partition
> name) getting stuck in the kernel on the dm_ctl_ioctl call, possibly
> because we're trying to play with something that's mounted already?
> 
> Looking at commits touching dmsetup stuff, I went back to the first one
> between 1.71 and 1.72:
> | commit 8a8f565b43fd126e97b2c390bd81868c6653cf2c
> | Author: Ivo De Decker <ivo.dedecker@ugent.be>
> | Date:   Sat Jul 13 21:15:41 2013 +0200
> | 
> |     using read-only device mapper entry
> 
> and using a version built from it is sufficient to reproduce the hang.

Since that's basically the first time I'm touching os-prober, I first
went for special-casing the partition holding the root filesystem, and
tested an installation from a custom CD image successfully. Branch on
alioth: kibi-vs-lvm; and patches:
  https://anonscm.debian.org/cgit/d-i/os-prober.git/commit/?id=16eae6151b713e4db2836b81e7958902544a5ecd
  https://anonscm.debian.org/cgit/d-i/os-prober.git/commit/?id=d70f8416d3555a772666e105d13589416e6e5c0e

I wasn't too happy about it since there's a os-prober-udeb and lsblk
isn't available in a debian-installer context (it's available in /target
so it works properly for the use cases I had been testing).

Ivo joined the party and proposed a different approach: excluding
LVM2_member partitions (since they're physical volumes), and I liked
this approach a lot more.

Tests are looking fine so I went for it for 1.74.

Thinking about other use cases, Ivo noted that we might want to exclude
something else for which there's no codepath: linux_raid_member. But I
think I'll leave that for a later revision of this package, and try to
resume the D-I Stretch RC 2 release process with os-prober 1.74. The
linux_raid_member thing can be filed as a separate bug report (feel free
to; I'll be doing more testing).


KiBi.
[signature.asc (application/pgp-signature, inline)]

Added tag(s) pending and patch. Request was from Cyril Brulebois <kibi@debian.org> to 853277-submit@bugs.debian.org. (Tue, 31 Jan 2017 23:15:06 GMT) (full text, mbox, link).


Reply sent to Cyril Brulebois <kibi@debian.org>:
You have taken responsibility. (Tue, 31 Jan 2017 23:21:05 GMT) (full text, mbox, link).


Notification sent to Cyril Brulebois <kibi@debian.org>:
Bug acknowledged by developer. (Tue, 31 Jan 2017 23:21:05 GMT) (full text, mbox, link).


Message #17 received at 853277-close@bugs.debian.org (full text, mbox, reply):

From: Cyril Brulebois <kibi@debian.org>
To: 853277-close@bugs.debian.org
Subject: Bug#853277: fixed in os-prober 1.74
Date: Tue, 31 Jan 2017 23:19:32 +0000
Source: os-prober
Source-Version: 1.74

We believe that the bug you reported is fixed in the latest version of
os-prober, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 853277@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Cyril Brulebois <kibi@debian.org> (supplier of updated os-prober package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 01 Feb 2017 00:01:17 +0100
Source: os-prober
Binary: os-prober-udeb os-prober
Architecture: source
Version: 1.74
Distribution: unstable
Urgency: high
Maintainer: Debian Install System Team <debian-boot@lists.debian.org>
Changed-By: Cyril Brulebois <kibi@debian.org>
Description:
 os-prober  - utility to detect other OSes on a set of drives
 os-prober-udeb - utility to detect other OSes on a set of drives (udeb)
Closes: 853277
Changes:
 os-prober (1.74) unstable; urgency=high
 .
   [ Ivo De Decker ]
   * os-probes/common/50mounted-tests: Skip partition when FS type is
     LVM2_member, since one isn't supposed to touch physical volumes
     directly. This avoids hanging during “dmcreate setup” with
     unencrypted LVM setups (Closes: #853277).
Checksums-Sha1:
 4727109ec4a44ddaafa3081153ba243f292a3840 1736 os-prober_1.74.dsc
 f7008494924ee60468bb27df8d926d7e0234edab 26692 os-prober_1.74.tar.xz
Checksums-Sha256:
 92febaac8494f11fed76336bd19c47ce0578b89fe91649c0b8412464d8bf0e18 1736 os-prober_1.74.dsc
 c8e97ae193783eb8b5f5aba6b6d447b2e3e60696bb71f86ad029c33e14c5a7be 26692 os-prober_1.74.tar.xz
Files:
 f6c75be2c4457e65b5a645c0aba4ab12 1736 debian-installer optional os-prober_1.74.dsc
 3010a4b20c81da2a4ac25c59a1c090d3 26692 debian-installer optional os-prober_1.74.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJYkRhSAAoJEP+RSvDCs1UgiucQAIG7nUJKCWzWpCA3g1W+ymuW
wA8hPizntO/oSB2dpVItCNMBJWphoGcxwjIq/julu6UI8ykAKbF6Wfm6TqB8+pLs
mRuVYxpxtEFD9OPv6RVgatmhfIlA7psYbg47OQRr29vAzQIMgbL3zjoDRnIuk0Lw
Lg1aoemUePkcajkCnBkJtln/JSR4xW0iCmycEsDvOOggyOqJCQ9tLORDq5JPFZZl
uBmZp/lpd2TF+mAwzziFdheVSvbWlJ52omw00PxMIBsxs6wqdaVyplF2jzw8BkoA
8qj7H7vR2jMMj51iEoR+uQO4q7xMbXADWAtHhBmHy4Tt33JSwt2jLr8j4qtvVIpO
byhEl3UvwZ4JFrRlAXqf6Lii3/fnA4o14FFW0kQSDPICPTeW5JTas/EKNDpVPuaw
MZZ3abqpay6ZorAXQNYK7dzL8Xwr18woBGhaT1cxEG1dm9IRSzUfYcuc47C1T88o
cAOqRdBXYPqE6pWXGlV/rXrsA4LD04/KqvamVfACqHpMpGEAYtGs1y/pCzkoWiNR
OUfhEWvtkgcIED7dBnSjy9YEyNIUD81p3Igw/g4dMJd6H11xczWY2K/i/lYaKeVl
dlailE+RRIozUK+gsOqBtvB8z2PetEQIAiMA4GC4u6p5pymnWVo35oShKnd5Et49
/HTgBfHV56VRhNb4Km3C
=Sk0D
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 05 Mar 2017 07:35:25 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Jun 4 07:07:16 2023; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.