Hi, Maxim Cournoyer <maxim.courno...@gmail.com> skribis:
> Ludovic Courtès <l...@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’.