Installer crash: 'uuid->string' is passed #f in lieu of a UUID

OpenSubmitted by Tim Magee.
Details
6 participants
  • andi
  • Tim Magee via web
  • Ludovic Courtès
  • Mathieu Othacehe
  • Mathieu Othacehe
  • Tim Magee
Owner
unassigned
Severity
important
T
T
Tim Magee wrote on 25 Nov 2020 18:26
GuixSD 1.2.0 installer fails with exception when formatting drive
(name . bug-guix@gnu.org)(address . bug-guix@gnu.org)
300530410.943064.1606325189191@mail.yahoo.com
I attempted to intall GNU Guix using the 1.2.0 GuixSD installation image. The install failed with an exception when formatting the hard drive. Here follows the backtrace:
----------------------------------------------------------------------------------------------------------------------------------------
The installer has encountered an unexpected problem. The backtrace is displayed below. Please report it by email to <bug-guix@gnu.org>.
In ./gnu/installer/parted.scm:  1258:19 19 (user-partition->file-system _)In gnu/system/uuid.scm:    317:2 18 (uuid->string . _)In ice-9/boot-9.scm:  1669:16 17 (raise-exception _ #:continuable? _)  1667:16 16 (raise-exception _ #:continuable? _)  1667:16 15 (raise-exception _ #:continuable? _)  1667:16 14 (raise-exception _ #:continuable? _)  1667:16 13 (raise-exception _ #:continuable? _)  1667:16 12 (raise-exception _ #:continuable? _)  1667:16 11 (raise-exception _ #:continuable? _)  1667:16 10 (raise-exception _ #:continuable? _)  1667:16  9 (raise-exception _ #:continuable? _)  1667:16  8 (raise-exception _ #:continuable? _)  1669:16  7 (raise-exception _ #:continuable? _)  1764:13  6 (_ #<&compound-exception components: (#<&error> #<&origin: "match"> #<&message message: "no matching pattern"> #<&irritants irritants: (#f ext4)> #<&exception-with-kind-and-arg...>)In ice-9/eval.scm:    619:8  5 (_ #(#(#<directory (guile-user) 7f10d0fb6f00> #<<installer> name: newt init: #<procedure init ()> exit: #<procedure exit ()> exit-error: #<procedure exit-error (file key args)> f...>) ...))    619:8  4 (_ #(#(#(#<directory (guile-user) 7f10d0fb6f00> #<<installer> name: newt init: #<procedure init ()> exit: #<procedure exit ()> exit-error: #<procedure exit-error (file key args)> f...>) ...))In ice-9/ports.scm:   463:17  3 (call-with-output-file _ _ #:binary _ #:encoding _)In ice-9/eval.scm:    691:9  2 (_ #(#(#<directory (guile-user) 7f10d0fbf00> match-error ("match" "no matching pattern" (#f ext4))) #<output: /tmp/last-installer-error 19>))    159:9  1 (_ #(#(#<directory (guile-user) 7f10d0fbf00> match-error ("match" "no matching pattern" (#f ext4))) #<output: /tmp/last-installer-error 19>))In unknown file:           0 (make-stack #t)ice-9/eval.scm:159:9: Throw to key `match-error' with args `("match" "no matching pattern" (#f ext4))'.
----------------------------------------------------------------------------------------------------------------------------------------
@nckx on the IRC recommend I include the output of fdisk -l in my bug report. So here goes:
Disk /dev/sda: 931.53GiB, 100020104886016 bytes, 1953525168 sectorsDisk model: WDC WDS100T2B0A-Units: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: gptDisk identifier: 425B5102-51E0-4994-BC78-FBE09F62D9E3
Device       Start        End    Sectors   Size Type/dev/sda1     2048    1126399    1124352   549M EFI System/dev/sda2  1126400    1132543       6144     3M BIOS boot/dev/sda3  1132544    8943615    7811072   3.7G Linux swap/dev/sda4  8943616 1953523711 1944580096 927.3G Linux filesystem
M
M
Mathieu Othacehe wrote on 26 Nov 2020 09:58
(name . Tim Magee)(address . timothy@eastlincoln.net)(address . 44872@debbugs.gnu.org)
87ft4wijeb.fsf@gnu.org
Hello,
Thanks for the bug report and sorry for the inconvenience.
Toggle quote (3 lines)> In gnu/system/uuid.scm:>     317:2 18 (uuid->string . _)
It looks like the UUID extraction of an "ext4" partition failed. Did youuse automatic or manual partitioning?
Thanks,
Mathieu
T
T
Tim Magee wrote on 27 Nov 2020 04:12
Fw: bug#44872: GuixSD 1.2.0 installer fails with exception when formatting drive
(name . 44872@debbugs.gnu.org)(address . 44872@debbugs.gnu.org)
443965706.1205124.1606446725138@mail.yahoo.com
Toggle quote (1 lines)> It looks like the UUID extraction of an "ext4" partition failed. Did you
use automatic or manual partitioning?

I used automatic partitioning this time. But it failed with an exception when I had previously tried manual partitioning as well. Though I believe it was a different error then.
M
M
Mathieu Othacehe wrote on 27 Nov 2020 21:03
control message for bug #44872
(address . control@debbugs.gnu.org)
87o8jir2il.fsf@cervin.i-did-not-set--mail-host-address--so-tickle-me
severity 44872 importantquit
T
T
Tim Magee wrote on 28 Nov 2020 06:27
Re: bug#44872: GuixSD 1.2.0 installer fails with exception when formatting drive
(address . 44872@debbugs.gnu.org)
27a49c91-3145-b97a-95d9-80147893aa1a@eastlincoln.net
I successfully installed GNU Guix.
The work around I used for this bug is I simply ran `sudo ddif=/dev/zero of=/dev/sda`. Basically, I think the existence of an oldGPT partition table is causing problems on a new install though I'm notsure why.
Unfortunately, this computer is my daily driver and I need it working soI can't run any more tests at this time.
A
GuixSD 1.2.0 installer fails with exception when formatting drive
(address . 44872@debbugs.gnu.org)
20201129190234.qgulysw6dyjkj6vd@wrt
I did run into a similar issue and it turned out to be me selecting/dev/sr0 in the device selection dialog instead of the actual VM disk.
M
M
Mathieu Othacehe wrote on 1 Dec 2020 10:46
(name . Tim Magee)(address . timothy@eastlincoln.net)(address . 44872@debbugs.gnu.org)
87sg8p3lkd.fsf@gnu.org
Hey Tim,
Toggle quote (7 lines)> I successfully installed GNU Guix.>> The work around I used for this bug is I simply ran `sudo dd> if=/dev/zero of=/dev/sda`. Basically, I think the existence of an old> GPT partition table is causing problems on a new install though I'm not> sure why.
Nice you found a work-around. I think I already hit this issue myselfwithout being able to reproduce it. Do you remember what was theprevious GPT layout of your drive? Maybe the distribution previouslyinstalled?
Thanks,
Mathieu
T
T
Tim Magee via web wrote on 22 Dec 2020 03:13
GuixSD 1.2.0 installer fails with exception when formatting drive
(address . 44872@debbugs.gnu.org)
7f1b419166e0.fead5d496026745@guile.gnu.org
I previously had GNU Guix installed with an encrypted home partition but the main partition unencrypted.
L
L
Ludovic Courtès wrote on 15 Apr 10:59 +0200
control message for bug #47297
(address . control@debbugs.gnu.org)
87im4ndit3.fsf@gnu.org
block 47297 by 44872quit
L
L
Ludovic Courtès wrote on 22 Apr 15:38 +0200
control message for bug #44872
(address . control@debbugs.gnu.org)
875z0e1lsh.fsf@gnu.org
retitle 44872 Installer crash: 'uuid->string' is passed #f in lieu of a UUIDquit
L
L
Ludovic Courtès wrote on 22 Apr 16:48 +0200
Re: bug#44872: GuixSD 1.2.0 installer fails with exception when formatting drive
(name . Tim Magee)(address . timothy@eastlincoln.net)
87y2daz87n.fsf@gnu.org
Hi,
Tim Magee <timothy@eastlincoln.net> skribis:
Toggle quote (29 lines)> In ./gnu/installer/parted.scm:>   1258:19 19 (user-partition->file-system _)> In gnu/system/uuid.scm:>     317:2 18 (uuid->string . _)> In ice-9/boot-9.scm:>   1669:16 17 (raise-exception _ #:continuable? _)>   1667:16 16 (raise-exception _ #:continuable? _)>   1667:16 15 (raise-exception _ #:continuable? _)>   1667:16 14 (raise-exception _ #:continuable? _)>   1667:16 13 (raise-exception _ #:continuable? _)>   1667:16 12 (raise-exception _ #:continuable? _)>   1667:16 11 (raise-exception _ #:continuable? _)>   1667:16 10 (raise-exception _ #:continuable? _)>   1667:16  9 (raise-exception _ #:continuable? _)>   1667:16  8 (raise-exception _ #:continuable? _)>   1669:16  7 (raise-exception _ #:continuable? _)>   1764:13  6 (_ #<&compound-exception components: (#<&error> #<&origin: "match"> #<&message message: "no matching pattern"> #<&irritants irritants: (#f ext4)> #<&exception-with-kind-and-arg...>)> In ice-9/eval.scm:>     619:8  5 (_ #(#(#<directory (guile-user) 7f10d0fb6f00> #<<installer> name: newt init: #<procedure init ()> exit: #<procedure exit ()> exit-error: #<procedure exit-error (file key args)> f...>) ...))>     619:8  4 (_ #(#(#(#<directory (guile-user) 7f10d0fb6f00> #<<installer> name: newt init: #<procedure init ()> exit: #<procedure exit ()> exit-error: #<procedure exit-error (file key args)> f...>) ...))> In ice-9/ports.scm:>    463:17  3 (call-with-output-file _ _ #:binary _ #:encoding _)> In ice-9/eval.scm:>     691:9  2 (_ #(#(#<directory (guile-user) 7f10d0fbf00> match-error ("match" "no matching pattern" (#f ext4))) #<output: /tmp/last-installer-error 19>))>     159:9  1 (_ #(#(#<directory (guile-user) 7f10d0fbf00> match-error ("match" "no matching pattern" (#f ext4))) #<output: /tmp/last-installer-error 19>))> In unknown file:>            0 (make-stack #t)> ice-9/eval.scm:159:9: Throw to key `match-error' with args `("match" "no matching pattern" (#f ext4))'.
Apparently what happens here is that ‘read-partition-uuid’, called by‘user-partition->file-system’, returns #f, and that value is then passedto ‘uuid->string’.
There are two ways ‘read-partition-uuid’ can return #f:
1. the partition doesn’t have one of the types listed in ‘%partition-uuid-readers’;
2. the partition does not exist or is EIO (see use of ‘ENOENT-safe’ in ‘partition-field-reader’).
So most likely the problem is #2.
Now, when we reach this code (from ‘user-partitions->configuration’),partitions have been created. I wonder if there’s a possibility thatthe kernel hasn’t yet updated /dev by the time we reach this?
‘free-parted’ is supposed to avoid that though.
WDYT, Mathieu?
Ludo’.
L
L
Ludovic Courtès wrote on 23 Apr 00:40 +0200
Re: bug#44872: Installer crash: 'uuid->string' is passed #f in lieu of a UUID
(name . Tim Magee)(address . timothy@eastlincoln.net)
87lf9at022.fsf_-_@gnu.org
Ludovic Courtès <ludo@gnu.org> skribis:
Toggle quote (14 lines)> Apparently what happens here is that ‘read-partition-uuid’, called by> ‘user-partition->file-system’, returns #f, and that value is then passed> to ‘uuid->string’.>> There are two ways ‘read-partition-uuid’ can return #f:>> 1. the partition doesn’t have one of the types listed in> ‘%partition-uuid-readers’;>> 2. the partition does not exist or is EIO (see use of ‘ENOENT-safe’ in> ‘partition-field-reader’).>> So most likely the problem is #2.
I pushed a change so that ‘read-partition-uuid’ & co. will no longerswallow ENOENT, so we at least get more accurate error reports:
https://git.savannah.gnu.org/cgit/guix.git/commit/?id=09ce4568f2cc1f87c5a5e0aa1643780c39a73088
Ludo’.
?