GNU bug report logs -
#55596
Guix/Guile segfaults on `guix import texlive`
Previous Next
Reported by: Jack Hill <jackhill <at> jackhill.us>
Date: Mon, 23 May 2022 18:30:02 UTC
Severity: normal
Merged with 55587
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#55596: `guix import texlive PKG` fails with signal 11, no output
which was filed against the guix package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 55587 <at> debbugs.gnu.org.
--
55596: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55596
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi,
Ludovic Courtès <ludo <at> gnu.org> skribis:
> I don’t think so; the error message that was reported is:
>
> command "svn" "export" "--non-interactive" "--trust-server-cert" "-r" "59745" "svn://www.tug.org/texlive/tags/texlive-2021.3/Master/texmf-dist/doc/latex/cite/" "/tmp/guix-directory.09UnsN/doc/latex/cite/" failed with signal 11
>
> It’s a message from ‘report-invoke-error’ in (guix build utils). It’s
> really svn that’s segfaulting.
Maybe not! I can trigger it reproducibly:
--8<---------------cut here---------------start------------->8---
ludo <at> ribbon ~/src/guix [env]$ guix describe
Generation 223 Aug 01 2022 00:30:24 (current)
guix ab59155
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: ab59155c5a38dda7efaceb47c7528578fcf0def4
ludo <at> ribbon ~/src/guix [env]$ rm -f core
ludo <at> ribbon ~/src/guix [env]$ guix import texlive abstract
command "svn" "export" "--non-interactive" "--trust-server-cert" "-r" "59745" "svn://www.tug.org/texlive/tags/texlive-2021.3/Master/texmf-dist/doc/latex/abstract/" "/tmp/guix-directory.HYEHpM/doc/latex/abstract/" failed with signal 11
guix import: error: failed to download description for package 'abstract'
ludo <at> ribbon ~/src/guix [env]$ file core
core: ELF 64-bit LSB core file, x86-64, version 1 (SYSV), SVR4-style, from '/gnu/store/9z95jms1r801z1kxpiq5xw594cxaw5jx-guile-wrapper/bin/guile --no-auto-c', real uid: 1000, effective uid: 1000, real gid: 998, effective gid: 998, execfn: '/home/ludo/.config/guix/current/bin/guix', platform: 'x86_64'
--8<---------------cut here---------------end--------------->8---
Actually it happens when ‘svn’ is not in $PATH, triggering a crash in
Guile as it tries to display an error in the child process:
--8<---------------cut here---------------start------------->8---
$ gdb /gnu/store/9z95jms1r801z1kxpiq5xw594cxaw5jx-guile-wrapper/bin/guile core
[...]
Core was generated by `/gnu/store/9z95jms1r801z1kxpiq5xw594cxaw5jx-guile-wrapper/bin/guile --no-auto-c'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __vfprintf_internal (s=0x0, format=0x7f9da91744e2 "In execvp of %s: %s\n",
ap=ap <at> entry=0x7ffd286a3c78, mode_flags=mode_flags <at> entry=0) at vfprintf-internal.c:1359
1359 vfprintf-internal.c: No such file or directory.
(gdb) bt
#0 __vfprintf_internal (s=0x0, format=0x7f9da91744e2 "In execvp of %s: %s\n",
ap=ap <at> entry=0x7ffd286a3c78, mode_flags=mode_flags <at> entry=0) at vfprintf-internal.c:1359
#1 0x00007f9da8ed3589 in __fprintf (stream=<optimized out>, format=<optimized out>)
at fprintf.c:32
#2 0x00007f9da913fd93 in ?? ()
from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
#3 0x00007f9da9140e01 in scm_system_star ()
from /gnu/store/1jgcbdzx2ss6xv59w55g3kr3x4935dfb-guile-3.0.8/lib/libguile-3.0.so.1
[...]
--8<---------------cut here---------------end--------------->8---
This is because the fdopen(2, "a") call in ‘start_child’ returns NULL:
--8<---------------cut here---------------start------------->8---
$ ltrace -f -e fdopen /bin/sh -c 'guix import texlive abstract'
[pid 22937] --- Called exec() ---
[pid 22945] libguile-3.0.so.1->fdopen(2, 0x7fddfd364a4a, -1, -112) = 0
[pid 22945] --- SIGSEGV (Segmentation fault) ---
--8<---------------cut here---------------end--------------->8---
It can be reproduced like this:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (parameterize ((current-output-port (current-error-port))) (system* "sdfsdf"))
$1 = 139
scheme@(guile-user)> (status:term-sig $1)
$2 = 11
scheme@(guile-user)> (version)
$3 = "3.0.8"
--8<---------------cut here---------------end--------------->8---
Fixed in Guile commit 56b1ea9002d2d3967b597aa0ee7595e815b21f23.
Back to the original issue Jack and Hugo reported: you need to add ‘svn’
to $PATH to make things work. :-)
Thanks,
Ludo’.
[Message part 3 (message/rfc822, inline)]
Hello,
The guix 'texlive' package importer is not working with any package, as
far as I can tell. It does *some* legwork, managing to figure out the
correct URI of the package, but then errors out with signal 11.
Having had a look at previous bug reports, it seems this "signal 11"
thing is not new (e.g., bug#28303), but in any case I am not seeing any
output after the error (unlike what seemed to be happening in bug#28303)
Example:
hugo <at> hp-guix ~$ guix import texlive cite
command "svn" "export" "--non-interactive" "--trust-server-cert" "-r"
"59745"
"svn://www.tug.org/texlive/tags/texlive-2021.3/Master/texmf-dist/doc/latex/cite/"
"/tmp/guix-directory.09UnsN/doc/latex/cite/" failed with signal 11 guix
import: error: failed to import package 'cite'
Best regards,
Hugo
This bug report was last modified 2 years and 290 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.