Hi Nicolò
Am Dienstag, den 13.04.2021, 23:36 +0200 schrieb Nicolò Balzarotti:
Toggle quote (22 lines)
> Hi guix!
>
> A package definition that used to build fine, recently (don't know
> exactly when) started failing, with guile segfaulting.
>
> After removing a few things, it seems that the MWE is this:
>
> echo '(use-modules (guix git-download)) (git-predicate "repo")'>m.scm
> mkdir repo
> guix build -f m.scm
> Segmentation fault
>
> guix describe:
>
> guix 2a62425
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: 2a624253bc55e2a94f6581d6e790303575436c96
>
> One of the two computers provides substitute to the other, so maybe
> my
> guile is somehow damaged? Can any of you reproduce it?
I managed to somewhat isolate the bug even further:
(let* ((directory (string-append (canonicalize-path directory) "/"))
(dot-git (repository-discover directory)) ; <- here
(repository (repository-open dot-git))
(workdir (repository-working-directory repository))
(head (repository-head repository))
(oid (reference-target head))
(commit (commit-lookup repository oid))
(tree (commit-tree commit))
(files (tree-list tree)))
repository-discover is an FFI call into libgit2, that appears to be
segfaulting while… trying to prettify some filename? At least that's
what "git_path_prettify", which lies on the call trace sounds like.
Regards,
Leo