unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Chris Marusich <cmmarusich@gmail.com>
To: Vincent Legoll <vincent.legoll@gmail.com>,
	Andreas Enge <andreas@enge.fr>,
	Efraim Flashner <efraim@flashner.co.il>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: Release on April 18th?
Date: Fri, 12 Mar 2021 10:42:02 -0800	[thread overview]
Message-ID: <87czw4z01x.fsf_-_@gmail.com> (raw)
In-Reply-To: <CAEwRq=piSSnAy_fNjz9jsvUjbDNt-zaSvRX=wjr6y9W3KLGofQ@mail.gmail.com> (Vincent Legoll's message of "Fri, 12 Mar 2021 09:02:02 +0100, Fri, 12 Mar 2021 11:11:39 +0100, Fri, 12 Mar 2021 15:43:26 +0200")


[-- Attachment #1.1: Type: text/plain, Size: 1802 bytes --]

Hi,

Vincent Legoll <vincent.legoll@gmail.com> writes:

> I rebuilt guix on core-updates with gcc-8 succesfully
> I'll now try the same above wip-ppc64le.

Awesome!  Thank you for doing this.  I'm sure there will be some bumps,
and the sooner we can fix them, the easier it will be to integrate
later.

I'm still working on getting you access to ppc64le hardware or a VM.

Andreas Enge <andreas@enge.fr> writes:

> Am Fri, Mar 12, 2021 at 12:33:18AM -0800 schrieb Chris Marusich:
>> The proc man page has this to say about column 7:
>>   (7) optional fields: zero or more fields of the form "tag[:value]"
>
> And it goes on like this:
> (8)  separator: the end of the optional fields is marked
>                    by a single hyphen.
>
> So it looks like it is enough to search for a hyphen surrounded by spaces.
> The hyphen is apparently there also when there is no optional field (7),
> as can be seen from your examples and also my own system, where both occur
> in parallel:
> 34 26 253:0 /gnu/store /gnu/store ro,noatime - ext4 /dev/mapper/cryptroot rw
> 51 26 253:0 /var/lib/docker /var/lib/docker rw,relatime shared:1 - ext4 /dev/mapper/cryptroot rw
>
> Alternatively, one can also count from the back to get the fields labelled
> (9) to (11) (which may be (8) to (10) in case there are no optional fields).
> (I was momentarily confused by "(12) super option*s*"; but these are
> apparently separated by commas and not whitespace.)

That's true.  How about the following patch?  It fixes the issue for me
on my systems, and I manually tried out the new match pattern with some
lines from Leo's output, and it seems to behave correctly.  If nobody
has concerns, I'd like to apply it to master directly, since the tests
are already failing there on some systems, like mine.  Here's the patch:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: [PATCH] syscalls: mount: Fix a matching bug. --]
[-- Type: text/x-patch, Size: 1966 bytes --]

From 5417f68ee5892f6a587895105854cadf29eb7297 Mon Sep 17 00:00:00 2001
From: Chris Marusich <cmmarusich@gmail.com>
Date: Thu, 11 Mar 2021 23:19:30 -0800
Subject: [PATCH] syscalls: mount: Fix a matching bug.

On some systems, the columns in /proc/self/mountinfo look like this:

23 28 0:21 / /proc rw,nosuid,nodev,noexec,relatime shared:11 - proc proc rw

Before this change, the mount procedure was written with the assumption that
the type and source could always be found in columns 8 and 9, respectively.
However, the proc(5) man page explains that there can be zero or more optional
fields starting at column 7 (e.g., "shared:11" above), so this assumption is
false in some situations.

* guix/build/syscalls.scm (mount): Update the match pattern to use ellipsis to
match zero or more optional fields followed by a single hyphen.  Remove the
trailing ellipsis, since multiple ellipses are not allowed in the same level.
The proc(5) man page indicates that there are no additional columns, so it is
probably OK to match an exact number of columns at the end like this.
---
 guix/build/syscalls.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 552343a481d..726c8e86d06 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -621,8 +621,9 @@ current process."
           (if (eof-object? line)
               (reverse result)
               (match (string-tokenize line)
+                ;; See the proc(5) man page for a description of the columns.
                 ((id parent-id major:minor root mount-point
-                     options _ type source _ ...)
+                     options _ ... "-" type source _)
                  (let ((devno (string->device-number major:minor)))
                    (loop (cons (%mount (octal-decode source)
                                        (octal-decode mount-point)
-- 
2.26.2


[-- Attachment #1.3: Type: text/plain, Size: 1067 bytes --]


Efraim Flashner <efraim@flashner.co.il> writes:

>> Something about the way in which we are searching for the patch is off,
>> but I don't have time just now to investigate.  Efraim, if you can
>> figure it out, that'd be nice, but I'll look into it more tomorrow.
>> It's probably something simple and related to commit 2712703.
>
> Leo told me about it yesterday and I pushed a second commit that fixed
> it. We needed to make sure the patch file was included as an input,
> that's why it got #f instead of a string. In any case, commit
> 710cfc330a7ed06934a193583b159fbdf07bf2fe takes care of it; it's the
> combination of 2712703 and the squash commit.
>
> I'm now running make guix-binary.powerpc64le-linux.tar.xz and so far
> it's made it past the initial building stages, we're on to building the
> grafts now.

Thank you.  This fixed the patch-related problem for me, too.  I'm
currently running "make guix-binary.powerpc64le-linux.tar.xz", also, on
my Debian ppc64le machine.  We'll see how far it gets - fingers crossed!

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  reply	other threads:[~2021-03-12 18:56 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-02 14:51 Release on April 18th? zimoun
2021-03-02 16:00 ` Julien Lepiller
2021-03-02 20:03 ` Leo Famulari
2021-03-05 14:31   ` Andreas Enge
2021-03-05 19:27     ` Leo Famulari
2021-03-05 20:20       ` zimoun
2021-03-05 20:58         ` Leo Famulari
2021-03-05 23:57           ` zimoun
2021-03-06 20:14           ` Tobias Geerinckx-Rice
2021-03-03 14:16 ` Ludovic Courtès
2021-03-03 18:51   ` Leo Famulari
2021-03-04  9:41     ` zimoun
2021-03-04 19:07       ` Leo Famulari
2021-03-04 22:18         ` zimoun
2021-03-04 22:43           ` Leo Famulari
2021-03-05 20:19     ` Leo Famulari
2021-03-05 23:58       ` zimoun
2021-03-06 18:56         ` Leo Famulari
2021-03-06 19:06     ` Leo Famulari
2021-03-06 23:22       ` Leo Famulari
2021-03-07  3:51         ` Raghav Gururajan
2021-03-07  5:39           ` Raghav Gururajan
2021-03-07 20:44             ` Leo Famulari
2021-03-07 20:56               ` Raghav Gururajan
2021-03-07 20:50             ` Leo Famulari
2021-03-08  9:38       ` zimoun
2021-03-05 20:21   ` Leo Famulari
2021-03-09 18:17 ` Chris Marusich
2021-03-09 21:32   ` Vincent Legoll
2021-03-10  8:30     ` Release on April 18th? (ppc64le support specifically) Efraim Flashner
2021-03-11  9:10     ` Release on April 18th? Chris Marusich
2021-03-12  8:02       ` Vincent Legoll
2021-03-12 18:42         ` Chris Marusich [this message]
2021-03-12 18:52           ` Chris Marusich
2021-03-14 12:31           ` Vincent Legoll
2021-03-15 16:36           ` Ludovic Courtès
2021-03-16  4:03           ` Let's include powerpc64le-linux in the next release (was: Re: Release on April 18th?) Chris Marusich
2021-03-16  7:08             ` Efraim Flashner
2021-03-16  8:10               ` Léo Le Bouter
2021-03-23 13:42             ` Let's include powerpc64le-linux in the next release Ludovic Courtès
2021-03-23 13:47               ` Léo Le Bouter
2021-03-23 14:01               ` Tobias Geerinckx-Rice
2021-03-30  8:23                 ` Ludovic Courtès
2021-03-30 22:20                   ` Vincent Legoll
2021-03-23 17:09               ` Let's include powerpc64le-linux in the next release, " Chris Marusich
2021-03-10 13:27   ` Release on April 18th? zimoun
2021-03-10 15:30     ` Efraim Flashner
2021-03-10 15:59       ` zimoun
2021-03-10 18:33         ` Efraim Flashner
2021-03-11  8:58       ` Chris Marusich
2021-03-11 13:30         ` Efraim Flashner
2021-03-12  8:33           ` Chris Marusich
2021-03-12 10:11             ` Andreas Enge
2021-03-12 13:43             ` Efraim Flashner
  -- strict thread matches above, loose matches on Subject: below --
2021-02-28  6:53 I've rebased wip-ppc64le onto core-updates Chris Marusich
2021-02-28 20:42 ` Léo Le Bouter
2021-03-01 19:14   ` Tobias Platen
2021-03-01 21:36   ` jbranso
2021-03-10 10:17 ` Ludovic Courtès
2021-03-10 10:37   ` Efraim Flashner
2021-03-11  8:24   ` Chris Marusich
2021-03-11  8:37     ` Léo Le Bouter
2021-03-15 16:25     ` Ludovic Courtès
2021-03-16  4:26       ` I've rebased wip-ppc64le onto core-updates, Re: Release on April 18th? Chris Marusich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87czw4z01x.fsf_-_@gmail.com \
    --to=cmmarusich@gmail.com \
    --cc=andreas@enge.fr \
    --cc=efraim@flashner.co.il \
    --cc=guix-devel@gnu.org \
    --cc=vincent.legoll@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).