Parted 3.5 update breaks installer tests

DoneSubmitted by Ludovic Courtès.
Details
2 participants
  • Ludovic Courtès
  • Mathieu Othacehe
Owner
unassigned
Severity
important
L
L
Ludovic Courtès wrote on 20 May 23:30 +0200
(address . bug-guix@gnu.org)
87h75jx56h.fsf@inria.fr
Hello!

The ‘gui-installed-os’ broke:


… between:

https://ci.guix.gnu.org/eval/304279(commit 1ebc27475cc310d6f9dd154b6b6893918f604c09)
and
https://ci.guix.gnu.org/eval/313358(commit a1cb645d83d085382eaf64f4c097642aa47c297a)

The symptoms are:

Toggle snippet (18 lines)
May 12 16:57:17 localhost installer[230]: guix system: error: '/gnu/store/vcljh4z0zkwplsx3b131vzc894rb3vll-grub-2.06/sbin/grub-install --no-floppy --target=i386-pc --boot-directory /mnt/boot /dev/vda' exited with status 1; output follows:
May 12 16:57:17 localhost installer[230]:
May 12 16:57:17 localhost installer[230]: Installing for i386-pc platform.
May 12 16:57:17 localhost installer[230]: /gnu/store/vcljh4z0zkwplsx3b131vzc894rb3vll-grub-2.06/sbin/grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
May 12 16:57:17 localhost installer[230]: /gnu/store/vcljh4z0zkwplsx3b131vzc894rb3vll-grub-2.06/sbin/grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
May 12 16:57:17 localhost installer[230]: /gnu/store/vcljh4z0zkwplsx3b131vzc894rb3vll-grub-2.06/sbin/grub-install: error: will not proceed with blocklists.
May 12 16:57:17 localhost installer[230]:
May 12 16:57:17 localhost installer[230]: command ("guix" "system" "init" "--fallback" "--no-grafts" "--no-substitutes" "/mnt/etc/config.scm" "/mnt") exited with value 1
conversation expecting pattern ((quote installation-complete))
May 12 16:57:17 localhost shepherd[1]: Service guix-daemon has been stopped.
May 12 16:57:17 localhost shepherd[1]: Service guix-daemon has been started.
May 12 16:57:17 localhost installer[196]: unmounting "/mnt/"
/gnu/store/vfizn85zmzfs4k8wd1mviwrhjqc5zmac-shepherd-marionette.scm:1:1718: ERROR:
1. &pattern-not-matched:
pattern: ((quote installation-complete))
sexp: (installation-failure)

Reverting the following commits solves the problem:

9a867c26b0 gnu: parted: Use G-expressions & new input style.
d798e5b6c1 gnu: parted: Update to 3.5.

The “installed-os” test, which performs a manual installation using the
‘parted’ command-line tool for partitioning, is unaffected.

Thoughts?

Ludo’.
L
L
Ludovic Courtès wrote on 20 May 23:35 +0200
control message for bug #55549
(address . control@debbugs.gnu.org)
87fsl3x4zb.fsf@gnu.org
severity 55549 important
quit
L
L
Ludovic Courtès wrote on 20 May 23:35 +0200
control message for bug #53214
(address . control@debbugs.gnu.org)
87ee0nx4ys.fsf@gnu.org
block 53214 by 55549
quit
L
L
Ludovic Courtès wrote on 22 May 22:05 +0200
Re: bug#55549: Parted 3.5 update breaks installer tests
(address . 55549@debbugs.gnu.org)(name . Mathieu Othacehe)(address . othacehe@gnu.org)
87ee0lqqnb.fsf@gnu.org
Hi!

Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (29 lines)
> The ‘gui-installed-os’ broke:
>
> https://ci.guix.gnu.org/search?query=gui-installed-os%20system:x86_64-linux&border-high-id=803430
>
> … between:
>
> https://ci.guix.gnu.org/eval/304279 (commit 1ebc27475cc310d6f9dd154b6b6893918f604c09)
> and
> https://ci.guix.gnu.org/eval/313358 (commit a1cb645d83d085382eaf64f4c097642aa47c297a)
>
> The symptoms are:
>
> May 12 16:57:17 localhost installer[230]: guix system: error: '/gnu/store/vcljh4z0zkwplsx3b131vzc894rb3vll-grub-2.06/sbin/grub-install --no-floppy --target=i386-pc --boot-directory /mnt/boot /dev/vda' exited with status 1; output follows:
> May 12 16:57:17 localhost installer[230]:
> May 12 16:57:17 localhost installer[230]: Installing for i386-pc platform.
> May 12 16:57:17 localhost installer[230]: /gnu/store/vcljh4z0zkwplsx3b131vzc894rb3vll-grub-2.06/sbin/grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
> May 12 16:57:17 localhost installer[230]: /gnu/store/vcljh4z0zkwplsx3b131vzc894rb3vll-grub-2.06/sbin/grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
> May 12 16:57:17 localhost installer[230]: /gnu/store/vcljh4z0zkwplsx3b131vzc894rb3vll-grub-2.06/sbin/grub-install: error: will not proceed with blocklists.
> May 12 16:57:17 localhost installer[230]:
> May 12 16:57:17 localhost installer[230]: command ("guix" "system" "init" "--fallback" "--no-grafts" "--no-substitutes" "/mnt/etc/config.scm" "/mnt") exited with value 1
> conversation expecting pattern ((quote installation-complete))
> May 12 16:57:17 localhost shepherd[1]: Service guix-daemon has been stopped.
> May 12 16:57:17 localhost shepherd[1]: Service guix-daemon has been started.
> May 12 16:57:17 localhost installer[196]: unmounting "/mnt/"
> /gnu/store/vfizn85zmzfs4k8wd1mviwrhjqc5zmac-shepherd-marionette.scm:1:1718: ERROR:
> 1. &pattern-not-matched:
> pattern: ((quote installation-complete))
> sexp: (installation-failure)

Commit 81f7bb1691dc9dc69fc6e584ad8c6e36e495c103 works around it
“locally”. It’s good enough for now, but we should eventually address
the root cause.

Mathieu, I’m guessing the cause of the problem, when using Parted 4.5,
is that the installer partitions disks somewhat incorrectly, as reported
by ‘grub-install’. I wonder if it might be due to an API or ABI change
that goes unnoticed in Guile-Parted because it uses the FFI.

Thoughts?

Ludo’.
M
M
Mathieu Othacehe wrote on 5 Aug 09:02 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 55549-done@debbugs.gnu.org)
871qtv18cb.fsf@gnu.org
Hey Ludo,

Toggle quote (5 lines)
> Mathieu, I’m guessing the cause of the problem, when using Parted 4.5,
> is that the installer partitions disks somewhat incorrectly, as reported
> by ‘grub-install’. I wonder if it might be due to an API or ABI change
> that goes unnoticed in Guile-Parted because it uses the FFI.

This is caused by a regression in Parted 3.5 introduced by
15c49ec04f7eaff014d2e1eddd0aecf4150db63d.

The gpt_partition_set_system call can undo what's done by
gpt_partition_set_flag call. This imposes us to reverse the call order
and make sure that gpt_partition_set_system is called before
gpt_partition_set_flag.

Fixed with: 3c381af76a144a4dc3d0f9269f43ee2ec501b538. I think we can
report that one upstream.

Thanks,

Mathieu
Closed
M
M
Mathieu Othacehe wrote on 5 Aug 09:19 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 55549@debbugs.gnu.org)
87mtcjyx5u.fsf_-_@gnu.org
Reported the problem upstream with:

Mathieu
L
L
Ludovic Courtès wrote on 5 Aug 10:33 +0200
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 55549-done@debbugs.gnu.org)
8735ebjdhn.fsf@gnu.org
Hello!

Mathieu Othacehe <othacehe@gnu.org> skribis:

Toggle quote (10 lines)
> This is caused by a regression in Parted 3.5 introduced by
> 15c49ec04f7eaff014d2e1eddd0aecf4150db63d.
>
> The gpt_partition_set_system call can undo what's done by
> gpt_partition_set_flag call. This imposes us to reverse the call order
> and make sure that gpt_partition_set_system is called before
> gpt_partition_set_flag.
>
> Fixed with: 3c381af76a144a4dc3d0f9269f43ee2ec501b538.

Woow, congrats on finding out about it!

Toggle quote (2 lines)
> I think we can report that one upstream.

Yes, definitely.

Thanks,
Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 55549@debbugs.gnu.org