[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#47428: Problems building the up-to-date "devel" manual for the websi
From: |
Ludovic Courtès |
Subject: |
bug#47428: Problems building the up-to-date "devel" manual for the website |
Date: |
Fri, 09 Jul 2021 17:36:40 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:
> Ludovic Courtès <ludo@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@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@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@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@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’.