GNU bug report logs - #47428
Problems building the up-to-date "devel" manual for the website

Previous Next

Package: guix;

Reported by: Leo Famulari <leo <at> famulari.name>

Date: Fri, 26 Mar 2021 22:37:01 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 47428 in the body.
You can then email your comments to 47428 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

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


Report forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Fri, 26 Mar 2021 22:37:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Leo Famulari <leo <at> famulari.name>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 26 Mar 2021 22:37:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: bug-guix <at> gnu.org
Subject: Problems building the up-to-date "devel" manual for the website
Date: Fri, 26 Mar 2021 18:36:22 -0400
I noticed that the "devel" version of the online manual, which is
supposed to stay up to date, has not been updated since March 16, 2021:

https://guix.gnu.org/manual/devel/en/

There were some problems related to the recent guile-lib update, which
broke the build scripts in 'doc/build.scm', but that should be fixed
now.

I tried building it with `guix build -f doc/build.scm`, and it crashed
with a segmentation fault while building guix-translated-texinfo.drv,
with this message:

"mmap(PROT_NONE) failed"

I tried again, with --max-jobs=1, and it succeeded. So, maybe we just
need to update and reconfigure ci.guix.gnu.org, and try again.

Here is what I am working with:

------
$ guix describe
Generation 10   Mar 26 2021 20:11:33    (current)
  guix e8337f1
    repository URL: https://git.savannah.gnu.org/git/guix.git
    commit: e8337f1e45b57035c6e5d45133aa9412d4e5e882
------

And, I'm building 'doc/build.scm' from that same commit.




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Thu, 01 Apr 2021 21:22:02 GMT) Full text and rfc822 format available.

Message #8 received at 47428 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: 47428 <at> debbugs.gnu.org
Subject: Re:  Problems building the up-to-date "devel" manual for the website
Date: Thu, 1 Apr 2021 17:21:46 -0400
This problem is still there. It's breaking the building of the primary
manual, the devel manual, and the cookbook, both for HTML and PDF
outputs.

There are details in /var/log/mcron.log on the server.

Basically, guile-html-index-en builds are failing. For example,
/gnu/store/cydvkyxdkkg7k9n04miy238q8040c28q-guile-html-index-en.drv. The
build log contains this:

------
$ zcat /var/log/guix/drvs/cy/dvkyxdkkg7k9n04miy238q8040c28q-guile-html-index-en.drv.gz
Backtrace:
           4 (primitive-load "/gnu/store/g5xbrrd5llv5lpsgibqbwjymxjm?")
In ice-9/eval.scm:
    619:8  3 (_ #f)
   191:27  2 (_ #f)
   223:20  1 (proc #<directory (guile-user) 7fffefbabf00>)
In unknown file:
           0 (%resolve-variable (7 . %strict-tokenizer?) #<directory?>)

ERROR: In procedure %resolve-variable:
Unbound variable: %strict-tokenizer?
------




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Fri, 02 Apr 2021 07:47:01 GMT) Full text and rfc822 format available.

Message #11 received at 47428 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Leo Famulari <leo <at> famulari.name>
Cc: 47428 <at> debbugs.gnu.org
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Fri, 02 Apr 2021 09:46:43 +0200
Hello Leo,

> ERROR: In procedure %resolve-variable:
> Unbound variable: %strict-tokenizer?

This variable is provided by guile-lib <at> 0.2.7 while this derivation uses
guile-lib <at> 0.2.6.1 from guix-1.2.0-17.ec7fb66.

I have restarted mcron which now uses guix-1.2.0-18.6e7ba45 and
guile-lib <at> 0.2.7.

However, guile-lib <at> 0.2.7 fails to build:

--8<---------------cut here---------------start------------->8---
  MAKEINFO guile-library.info
/tmp/guix-build-guile-lib-0.2.7.drv-0/guile-lib-0.2.7/build-aux/missing: line 81: makeinfo: command not found
WARNING: 'makeinfo' is missing on your system.
         You should only need it if you modified a '.texi' file, or
         any other file indirectly affecting the aspect of the manual.
         You might want to install the Texinfo package:
         <https://www.gnu.org/software/texinfo/>
         The spurious makeinfo call might also be the consequence of
         using a buggy 'make' (AIX, DU, IRIX), in which case you might
         want to install GNU make:
         <https://www.gnu.org/software/make/>
make[1]: *** [Makefile:415: guile-library.info] Error 127
make[1]: Leaving directory '/tmp/guix-build-guile-lib-0.2.7.drv-0/guile-lib-0.2.7/doc'
make: *** [Makefile:479: all-recursive] Error 1
command "make" "-j" "16" "GUILE_AUTO_COMPILE=0" failed with status 2
builder for `/gnu/store/prx66i4jvs445g82gkc5sv7p7hhf27ba-guile-lib-0.2.7.drv' failed with exit code 1
@ build-failed /gnu/store/prx66i4jvs445g82gkc5sv7p7hhf27ba-guile-lib-0.2.7.drv - 1 builder for `/gnu/store/prx66i4jvs445g82gkc5sv7p7hhf27ba-guile-lib-0.2.7.drv' failed with exit code 1
derivation '/gnu/store/prx66i4jvs445g82gkc5sv7p7hhf27ba-guile-lib-0.2.7.drv' offloaded to '141.80.167.1
--8<---------------cut here---------------end--------------->8---

Mathieu




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Fri, 02 Apr 2021 08:44:02 GMT) Full text and rfc822 format available.

Message #14 received at 47428 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Leo Famulari <leo <at> famulari.name>
Cc: 47428 <at> debbugs.gnu.org
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Fri, 02 Apr 2021 10:43:05 +0200
>   MAKEINFO guile-library.info
> /tmp/guix-build-guile-lib-0.2.7.drv-0/guile-lib-0.2.7/build-aux/missing: line 81: makeinfo: command not found

Looks like the devel manual generation is fixed. The guile-lib <at> 0.2.7
build failure above only happens when generating the stable manual.

In that case, doc/build.scm uses guile-lib/htmlprag-fixed instead of the
plain guile-lib like on master (since
25db3b2f8bb4a18e9405d2cd32aa899e0007f236).

This causes the build failure. However, we do not have this makeinfo
error on the master guile-lib. That's because the docs are not compiled
for a reason I don't understand.

When running manually "make all" from the build directory, I experience
the same error:

--8<---------------cut here---------------start------------->8---
  MAKEINFO guile-library.info
/tmp/guix-build-guile-lib-0.2.7.drv-0/guile-lib-0.2.7/build-aux/missing: line 81: makeinfo: command not found
--8<---------------cut here---------------end--------------->8---

that is solved by adding "texinfo" to the native-inputs. 

Mathieu




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Fri, 02 Apr 2021 09:22:01 GMT) Full text and rfc822 format available.

Message #17 received at 47428 <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Leo Famulari <leo <at> famulari.name>
Cc: 47428 <at> debbugs.gnu.org
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Fri, 02 Apr 2021 11:21:19 +0200
> This causes the build failure. However, we do not have this makeinfo
> error on the master guile-lib. That's because the docs are not compiled
> for a reason I don't understand.

Ok so I finally understand sorry for the spamming. Guile-lib contains
a pre-compiled docs/guile-library.info. This means that the "doc" target
is not run.

However, when the 1.2.0 guile-lib/htmlprag-fixed inherits from the
recent guile-lib <at> 0.2.7, it modifies the sources, causing a doc rebuild,
failing because texinfo is missing.

I have cherry-picked 25db3b2f8bb4a18e9405d2cd32aa899e0007f236 on the
1.2.0 branch to fix it.

There's another error though:

--8<---------------cut here---------------start------------->8---
). Please consider running po4a-updatepo to refresh it.
Your input po file ./guix-manual.de.po seems outdated (The amount of entries differ between files: 10012 is not 325
). Please consider running po4a-updatepo to refresh it.
mmap(PROT_NONE) failed
builder for `/gnu/store/86gnwxxw7lfkifaal6fhflmkn3fczyhf-guix-translated-texinfo.drv' failed due to signal 11 (Segmentation fault)
--8<---------------cut here---------------end--------------->8---

Thanks,

Mathieu




Reply sent to Mathieu Othacehe <othacehe <at> gnu.org>:
You have taken responsibility. (Fri, 02 Apr 2021 09:35:02 GMT) Full text and rfc822 format available.

Notification sent to Leo Famulari <leo <at> famulari.name>:
bug acknowledged by developer. (Fri, 02 Apr 2021 09:35:02 GMT) Full text and rfc822 format available.

Message #22 received at 47428-done <at> debbugs.gnu.org (full text, mbox):

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Leo Famulari <leo <at> famulari.name>
Cc: 47428-done <at> debbugs.gnu.org
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Fri, 02 Apr 2021 11:33:57 +0200
> ). Please consider running po4a-updatepo to refresh it.
> Your input po file ./guix-manual.de.po seems outdated (The amount of entries differ between files: 10012 is not 325
> ). Please consider running po4a-updatepo to refresh it.
> mmap(PROT_NONE) failed
> builder for `/gnu/store/86gnwxxw7lfkifaal6fhflmkn3fczyhf-guix-translated-texinfo.drv' failed due to signal 11 (Segmentation fault)

I worked around it by building this derivation on one core. Looks like
the cookbook, website, manual and devel manual are now building fine.

Closing this one,

Thanks,

Mathieu




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Fri, 02 Apr 2021 19:02:02 GMT) Full text and rfc822 format available.

Message #25 received at 47428 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 47428 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Fri, 02 Apr 2021 21:00:56 +0200
Hi Mathieu,

Thanks for fixing this!

Mathieu Othacehe <othacehe <at> gnu.org> skribis:

> There's another error though:
>
> ). Please consider running po4a-updatepo to refresh it.
> Your input po file ./guix-manual.de.po seems outdated (The amount of entries differ between files: 10012 is not 325
> ). Please consider running po4a-updatepo to refresh it.
> mmap(PROT_NONE) failed
> builder for `/gnu/store/86gnwxxw7lfkifaal6fhflmkn3fczyhf-guix-translated-texinfo.drv' failed due to signal 11 (Segmentation fault)

I worked around it in 98750a9d9967b84a077735a2e4e6d5526256a5fd by
limiting the number of threads, but that seems to be insufficient.

At any rate, all the manuals are now up-to-date on berlin, meaning that
this particular bug wasn’t hit there.

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Fri, 02 Apr 2021 21:09:02 GMT) Full text and rfc822 format available.

Message #28 received at 47428-done <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 47428-done <at> debbugs.gnu.org
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Fri, 2 Apr 2021 17:08:33 -0400
On Fri, Apr 02, 2021 at 11:33:57AM +0200, Mathieu Othacehe wrote:
> 
> > ). Please consider running po4a-updatepo to refresh it.
> > Your input po file ./guix-manual.de.po seems outdated (The amount of entries differ between files: 10012 is not 325
> > ). Please consider running po4a-updatepo to refresh it.
> > mmap(PROT_NONE) failed
> > builder for `/gnu/store/86gnwxxw7lfkifaal6fhflmkn3fczyhf-guix-translated-texinfo.drv' failed due to signal 11 (Segmentation fault)
> 
> I worked around it by building this derivation on one core. Looks like
> the cookbook, website, manual and devel manual are now building fine.
> 
> Closing this one,

Awesome, thanks for your work!




Did not alter fixed versions and reopened. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 21 Apr 2021 15:55:01 GMT) Full text and rfc822 format available.

Reply sent to Leo Famulari <leo <at> famulari.name>:
You have taken responsibility. (Wed, 21 Apr 2021 15:57:01 GMT) Full text and rfc822 format available.

Notification sent to Leo Famulari <leo <at> famulari.name>:
bug acknowledged by developer. (Wed, 21 Apr 2021 15:57:01 GMT) Full text and rfc822 format available.

Message #35 received at 47428-done <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Mathieu Othacehe <othacehe <at> gnu.org>
Cc: 47428-done <at> debbugs.gnu.org
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Wed, 21 Apr 2021 11:56:38 -0400
On Fri, Apr 02, 2021 at 11:33:57AM +0200, Mathieu Othacehe wrote:
> 
> > ). Please consider running po4a-updatepo to refresh it.
> > Your input po file ./guix-manual.de.po seems outdated (The amount of entries differ between files: 10012 is not 325
> > ). Please consider running po4a-updatepo to refresh it.
> > mmap(PROT_NONE) failed
> > builder for `/gnu/store/86gnwxxw7lfkifaal6fhflmkn3fczyhf-guix-translated-texinfo.drv' failed due to signal 11 (Segmentation fault)
> 
> I worked around it by building this derivation on one core. Looks like
> the cookbook, website, manual and devel manual are now building fine.

The problem happened again.

How can we make sure this derivation is always single-threaded?




Did not alter fixed versions and reopened. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 21 Apr 2021 15:58:01 GMT) Full text and rfc822 format available.

Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Wed, 07 Jul 2021 18:53:01 GMT) Full text and rfc822 format available.

Notification sent to Leo Famulari <leo <at> famulari.name>:
bug acknowledged by developer. (Wed, 07 Jul 2021 18:53:02 GMT) Full text and rfc822 format available.

Message #42 received at 47428-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Leo Famulari <leo <at> famulari.name>
Cc: 47428-done <at> debbugs.gnu.org, Mathieu Othacehe <othacehe <at> gnu.org>
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Wed, 07 Jul 2021 14:52:33 -0400
Leo Famulari <leo <at> famulari.name> writes:

> On Fri, Apr 02, 2021 at 11:33:57AM +0200, Mathieu Othacehe wrote:
>> 
>> > ). Please consider running po4a-updatepo to refresh it.
>> > Your input po file ./guix-manual.de.po seems outdated (The amount of entries differ between files: 10012 is not 325
>> > ). Please consider running po4a-updatepo to refresh it.
>> > mmap(PROT_NONE) failed
>> > builder for `/gnu/store/86gnwxxw7lfkifaal6fhflmkn3fczyhf-guix-translated-texinfo.drv' failed due to signal 11 (Segmentation fault)
>> 
>> I worked around it by building this derivation on one core. Looks like
>> the cookbook, website, manual and devel manual are now building fine.
>> 
>> Closing this one,
>
> Awesome, thanks for your work!

I've pushed this with commit af2d6ec092 to master:

modified   guix/self.scm
@@ -410,7 +410,10 @@ a list of extra files, such as '(\"contributing\")."
             ;; Limit thread creation by 'n-par-for-each'.  Going beyond can
             ;; lead libgc 8.0.4 to abort with:
             ;; mmap(PROT_NONE) failed
-            (min (parallel-job-count) 4))
+            ;;
+            ;; FIXME: The above error would still happen when using only 4
+            ;; build jobs, so disable parallelism entirely for the time being.
+            (min (parallel-job-count) 1))
 
           (mkdir #$output)
           (copy-recursively #$documentation "."

To guard about the occasional failures we were still hitting building
the latest manuals for the website.

It won't become effective until the 'guix' used by the berlin gets
updated though.

Closing,

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Thu, 08 Jul 2021 07:32:01 GMT) Full text and rfc822 format available.

Message #45 received at 47428 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 47428 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Thu, 08 Jul 2021 09:31:15 +0200
Hi!

help-debbugs <at> gnu.org (GNU bug Tracking System) skribis:

> Leo Famulari <leo <at> famulari.name> writes:
>
>> On Fri, Apr 02, 2021 at 11:33:57AM +0200, Mathieu Othacehe wrote:
>>> 
>>> > ). Please consider running po4a-updatepo to refresh it.
>>> > Your input po file ./guix-manual.de.po seems outdated (The amount of entries differ between files: 10012 is not 325
>>> > ). Please consider running po4a-updatepo to refresh it.
>>> > mmap(PROT_NONE) failed
>>> > builder for `/gnu/store/86gnwxxw7lfkifaal6fhflmkn3fczyhf-guix-translated-texinfo.drv' failed due to signal 11 (Segmentation fault)
>>> 
>>> I worked around it by building this derivation on one core. Looks like
>>> the cookbook, website, manual and devel manual are now building fine.
>>> 
>>> Closing this one,
>>
>> Awesome, thanks for your work!
>
> I've pushed this with commit af2d6ec092 to master:
>
> modified   guix/self.scm
> @@ -410,7 +410,10 @@ a list of extra files, such as '(\"contributing\")."
>              ;; Limit thread creation by 'n-par-for-each'.  Going beyond can
>              ;; lead libgc 8.0.4 to abort with:
>              ;; mmap(PROT_NONE) failed
> -            (min (parallel-job-count) 4))
> +            ;;
> +            ;; FIXME: The above error would still happen when using only 4
> +            ;; build jobs, so disable parallelism entirely for the time being.
> +            (min (parallel-job-count) 1))
>  
>            (mkdir #$output)
>            (copy-recursively #$documentation "."
>
> To guard about the occasional failures we were still hitting building
> the latest manuals for the website.

FWIW, the map(PROT_NONE) issue was (I think) fixed by
0aef94e7bcbd272720f14c5343f74da5201ef90a (in May), itself a followup to
47d48f0c43c13c0b43bc3e37b6239efd4bf2f74c, so I think the comment is
stale.

Now, berlin’s mcron jobs are supposedly running a newer Guix:

--8<---------------cut here---------------start------------->8---
ludo <at> berlin ~$ sudo herd schedule mcron |grep update-guix-manual-devel |sort -u
/gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel
ludo <at> berlin ~$ guix gc -R /gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel |grep guix
/gnu/store/p9di786py35m4kxszf466wcla6jvq96h-guix-1.3.0-3.50dfbbf
/gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel
--8<---------------cut here---------------end--------------->8---

Am I right that the error that we see now is not “mmap(PROT_NONE)” but
something else?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Thu, 08 Jul 2021 12:52:01 GMT) Full text and rfc822 format available.

Message #48 received at 47428 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 47428 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Thu, 08 Jul 2021 08:51:01 -0400
Hello,

Ludovic Courtès <ludo <at> gnu.org> writes:

[...]

>> modified   guix/self.scm
>> @@ -410,7 +410,10 @@ a list of extra files, such as '(\"contributing\")."
>>              ;; Limit thread creation by 'n-par-for-each'.  Going beyond can
>>              ;; lead libgc 8.0.4 to abort with:
>>              ;; mmap(PROT_NONE) failed
>> -            (min (parallel-job-count) 4))
>> +            ;;
>> +            ;; FIXME: The above error would still happen when using only 4
>> +            ;; build jobs, so disable parallelism entirely for the time being.
>> +            (min (parallel-job-count) 1))
>>  
>>            (mkdir #$output)
>>            (copy-recursively #$documentation "."
>>
>> To guard about the occasional failures we were still hitting building
>> the latest manuals for the website.
>
> FWIW, the map(PROT_NONE) issue was (I think) fixed by
> 0aef94e7bcbd272720f14c5343f74da5201ef90a (in May), itself a followup to
> 47d48f0c43c13c0b43bc3e37b6239efd4bf2f74c, so I think the comment is
> stale.
>
> Now, berlin’s mcron jobs are supposedly running a newer Guix:
>
> ludo <at> berlin ~$ sudo herd schedule mcron |grep update-guix-manual-devel |sort -u
> /gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel
> ludo <at> berlin ~$ guix gc -R /gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel |grep guix
> /gnu/store/p9di786py35m4kxszf466wcla6jvq96h-guix-1.3.0-3.50dfbbf
> /gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel
>
> Am I right that the error that we see now is not “mmap(PROT_NONE)” but
> something else?

Sadly, the error is still the same, even using guix in my tree (master):

--8<---------------cut here---------------start------------->8---
mmap(PROT_NONE) failed
builder for `/gnu/store/f8fdzi1hp7b3ln2zz6z87p3cj3gf0ac5-guix-translated-texinfo.drv'
failed due to signal 11 (Segmentation fault)
--8<---------------cut here---------------end--------------->8---

So the comment is still valid, I'm afraid :-/.

Thanks,

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Fri, 09 Jul 2021 15:37:02 GMT) Full text and rfc822 format available.

Message #51 received at 47428 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 47428 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Fri, 09 Jul 2021 17:36:40 +0200
Hi,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:

> Ludovic Courtès <ludo <at> gnu.org> writes:

[...]

>> FWIW, the map(PROT_NONE) issue was (I think) fixed by
>> 0aef94e7bcbd272720f14c5343f74da5201ef90a (in May), itself a followup to
>> 47d48f0c43c13c0b43bc3e37b6239efd4bf2f74c, so I think the comment is
>> stale.

[...]

> Sadly, the error is still the same, even using guix in my tree (master):
>
> mmap(PROT_NONE) failed
> builder for `/gnu/store/f8fdzi1hp7b3ln2zz6z87p3cj3gf0ac5-guix-translated-texinfo.drv'
> failed due to signal 11 (Segmentation fault)
>
> So the comment is still valid, I'm afraid :-/.

TL;DR: I pushed another fix; gory explanations follow.

That’s from “make as-derivation”?  What does this say:

  guix gc --references /gnu/store/f8fdzi1hp7b3ln2zz6z87p3cj3gf0ac5-guix-translated-texinfo.drv \
  | grep guile-3.0

?

Looking at libgc, the “mmap(PROT_NONE) failed” message is guarded by
#ifdef USE_MUNMAP.  Since (@ (gnu packages guile) guile-3.0-latest) uses
(@ (gnu packages bdw-gc) libgc/disable-munmap), it shouldn’t be possible
to see that message:

--8<---------------cut here---------------start------------->8---
$ strings $(guix build -e '(@ (gnu packages bdw-gc) libgc/disable-munmap)' |grep -e [0-9]$)/lib/libgc.so |grep PROT_NONE
$ echo $?
1
$ guix describe
Generacio 187	Jul 09 2021 12:07:58	(nuna)
  guix b182121
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: b182121458c0126a05a41fec78a4f42472ba8081
--8<---------------cut here---------------end--------------->8---

Let’s see what happens on berlin:

--8<---------------cut here---------------start------------->8---
ludo <at> berlin ~/tmp$ sudo herd schedule mcron |grep manual-devel
Password:
/gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel
/gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel
/gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel
/gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel
/gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel
ludo <at> berlin ~/tmp$ sudo su - static-web-site -c /gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a574n4-update-guix-manual-devel

building manual from work tree around commit 4236b8586d9a644d6521c8303863125439aabce8,  9 July 2021
The following derivations will be built:
   /gnu/store/bpwr5awf74cixbgjvz2pqdflm3awvjkj-guix-manual.drv
   /gnu/store/8xd3cig2iqy01kdxmcxwj70vfwhbkslb-html-indexes.drv
   /gnu/store/91nzqswih459bx3b3sc4pwblrqng7h0m-guix-html-manual-highlighted.drv
   /gnu/store/119k1wz7fwylawgvgrb4n9qdslfkqmqq-guix-html-manual.drv
   /gnu/store/qk96yrhyr0mxkyab7z9qi3rml6vfnrii-texinfo-manual-source.drv
   /gnu/store/mykrlk2nfrs4bhypj94k0k1w610d1r0i-guix-translated-texinfo.drv
   /gnu/store/2gq0svljs882azy6v1izill3hy42rxi2-guix-html-index-de.drv
   /gnu/store/m5rld6plv31w0xlg356370lzyf47k77x-guix-html-manual-highlighted.drv
   /gnu/store/2sdcnjsg5nlyg57c0xvqllssns8hnjhr-guix-html-index-fr.drv
   /gnu/store/52963c7phbm2s2wzynblmgm1j4v9y3ns-guix-html-index-ru.drv
   /gnu/store/56g425snxx2ya6cx2hcxpvb391cj7n73-guix-html-index-ru.drv
   /gnu/store/i1z5xazp71j17llk63q40n8i7aninbi0-guix-html-index-zh-cn.drv
   /gnu/store/isndvz5csv97fmmfcsga13fqlpir576c-guix-html-index-es.drv
   /gnu/store/l68hi1pj303wfr18pq7q1xxhaly5va6i-guix-html-index-de.drv
   /gnu/store/nnpyprm04rhwhdd6qvmbd1rn96lnz2jb-guix-html-index-en.drv
   /gnu/store/nzy2wb5ci0mn0zbppfhcq96j30km5gq7-guix-html-index-en.drv
   /gnu/store/rspygvlzr4v5bfx1a71iijxim8vdpp69-guix-html-index-fr.drv
   /gnu/store/varb0z4kscaqizvf462wvjqw89jnmkj2-guix-html-index-es.drv
   /gnu/store/zc6hjfqil3h1qv9wfn6limkzs4r31b92-guix-html-index-zh-cn.drv
   /gnu/store/ng573kmh8jdqjdgl25rc4f8an1d9lf3w-guix-pdf-manual.drv
building path(s) `/gnu/store/23cklqq6i4h7rrxsskh5nngd7p7718na-html-indexes'
builder for `/gnu/store/s871bvkh1spgrpmms8323pa32a3arfmc-guix-translated-texinfo' failed previously (cached)
cannot build derivation `/gnu/store/qk96yrhyr0mxkyab7z9qi3rml6vfnrii-texinfo-manual-source.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/119k1wz7fwylawgvgrb4n9qdslfkqmqq-guix-html-manual.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/ng573kmh8jdqjdgl25rc4f8an1d9lf3w-guix-pdf-manual.drv': 1 dependencies couldn't be built
cannot build derivation `/gnu/store/bpwr5awf74cixbgjvz2pqdflm3awvjkj-guix-manual.drv': 1 dependencies couldn't be built
Backtrace:
           7 (primitive-load "/gnu/store/xsmjh2k3pjx6cv0rvkkqw8jsj8a…")
In ice-9/boot-9.scm:
  1752:10  6 (with-exception-handler _ _ #:unwind? _ # _)
In guix/store.scm:
   646:37  5 (thunk)
  2076:24  4 (run-with-store #<store-connection 256.99 7f146fb8f2d0> …)
In unknown file:
           3 (_ #<procedure 7f146f865b60 at ice-9/eval.scm:330:13 ()> …)
In guix/store.scm:
  1945:38  2 (_ #<store-connection 256.99 7f147ca41460>)
  1383:15  1 (_ #<store-connection 256.99 7f147ca41460> _ _)
In ice-9/boot-9.scm:
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
ERROR:
  1. &store-protocol-error:
      message: "build of `/gnu/store/bpwr5awf74cixbgjvz2pqdflm3awvjkj-guix-manual.drv' failed"
      status: 100
ludo <at> berlin ~/tmp$ zcat $(guix build --log-file /gnu/store/s871bvkh1spgrpmms8323pa32a3arfmc-guix-translated-texinfo) | tail -3
Your input po file ./guix-manual.es.po seems outdated (The amount of entries differ between files: 10633 is not 453
). Please consider running po4a-updatepo to refresh it.
mmap(PROT_NONE) failed
--8<---------------cut here---------------end--------------->8---

How come?  Reason is that this mcron job uses an old Guile, without
‘--disable-munmap’:

--8<---------------cut here---------------start------------->8---
ludo <at> berlin ~/tmp$ guix gc --references $(guix gc --derivers /gnu/store/s871bvkh1spgrpmms8323pa32a3arfmc-guix-translated-texinfo) | grep guile-3.0
/gnu/store/b0syji3mdp78sz1a4q8s3mnd8hdbkp0h-guile-3.0.2.drv
--8<---------------cut here---------------end--------------->8---

This, in turn, is because ‘doc/build.scm’ uses (default-guile), which is
3.0.2 as shown above (on ‘master’).  (guix self) itself forces use of
‘guile-3.0-latest’ by calling ‘set-guile-for-build’ in ‘compiled-guix’,
but ‘doc/build.scm’ doesn’t do that.

Based on this investigation, I pushed these three commits:

  cf88c967af self: Remove stale comment about "mmap(PROT_NONE) failed" crash.
  609e66e45f Revert "self: Build translated manuals with a single process."
  580a031e7d doc: Build manual translations with 'guile-3.0-latest'.

I think it fixes the problem For Good™.  Normally, berlin shouldn’t need
to be reconfigured; it should built the manual Just Fine next time.
We’ll soon know…

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#47428; Package guix. (Sat, 10 Jul 2021 03:57:01 GMT) Full text and rfc822 format available.

Message #54 received at 47428 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 47428 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#47428: Problems building the up-to-date "devel" manual for
 the website
Date: Fri, 09 Jul 2021 23:56:41 -0400
Hi Ludovic!

Ludovic Courtès <ludo <at> gnu.org> writes:

> Hi,
>
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
>
>> Ludovic Courtès <ludo <at> gnu.org> writes:
>
> [...]
>
>>> FWIW, the map(PROT_NONE) issue was (I think) fixed by
>>> 0aef94e7bcbd272720f14c5343f74da5201ef90a (in May), itself a followup to
>>> 47d48f0c43c13c0b43bc3e37b6239efd4bf2f74c, so I think the comment is
>>> stale.
>
> [...]
>
>> Sadly, the error is still the same, even using guix in my tree (master):
>>
>> mmap(PROT_NONE) failed
>> builder for `/gnu/store/f8fdzi1hp7b3ln2zz6z87p3cj3gf0ac5-guix-translated-texinfo.drv'
>> failed due to signal 11 (Segmentation fault)
>>
>> So the comment is still valid, I'm afraid :-/.
>
> TL;DR: I pushed another fix; gory explanations follow.

Woohoo!  Thank you for the fix, as well as the explanations.  It was an
interesting read :-).

Thanks,

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 07 Aug 2021 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 234 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.