Segmentation fault when calling 'git-predicate' in a package file

  • Done
  • quality assurance status badge
Details
2 participants
  • Ingo Ruhnke
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ingo Ruhnke
Severity
important
I
I
Ingo Ruhnke wrote on 15 Apr 2021 15:21
(address . bug-guix@gnu.org)
CAHz1FYjJcFcfs7N-=defK8VWUSw5PHBnMQOKdSVy0Yg79nkKPQ@mail.gmail.com
Calling git-predicate from a simple package file causes guix to segfault.
Bisect traced it down to this commit:


commit c1940fde43c7aca37d67589cc5cb248086d17d56
Author: Ludovic Courtès <ludo@gnu.org>
Date: Fri Mar 19 11:51:20 2021 +0100

git-download: Autoload Guile-Git.

* guix/git-download.scm: Autoload (git ...) modules.


Steps to reproduce the issue:

$ cat mypkg.scm
(use-modules (guix git-download))
(git-predicate "/tmp")

$ guix package -f mypkg.scm
Segmentation fault (core dumped)

$ guix --version
guix (GNU Guix) 1bab9b9f17256a9e4f45f5b0cceb8b52e0a1b1ed

(gdb) where
#0 0x0000000000000000 in ?? ()
#1 0x00007fffeb0f44c4 in git_buf_try_grow () from
/gnu/store/jil14glx1j7mrj4cvzmw876rzyv7i960-libgit2-1.1.0/lib/libgit2.so
#2 0x00007fffeb0f47a5 in git_buf_set () from
/gnu/store/jil14glx1j7mrj4cvzmw876rzyv7i960-libgit2-1.1.0/lib/libgit2.so
#3 0x00007fffeb146fe7 in git_path_prettify () from
/gnu/store/jil14glx1j7mrj4cvzmw876rzyv7i960-libgit2-1.1.0/lib/libgit2.so
#4 0x00007fffeb15b3ad in find_repo () from
/gnu/store/jil14glx1j7mrj4cvzmw876rzyv7i960-libgit2-1.1.0/lib/libgit2.so
#5 0x00007fffeb15c28b in git_repository_discover () from
/gnu/store/jil14glx1j7mrj4cvzmw876rzyv7i960-libgit2-1.1.0/lib/libgit2.so
#6 0x00007ffff7c1266d in ffi_call_unix64 () from
/gnu/store/bw15z9kh9c65ycc2vbhl2izwfwfva7p1-libffi-3.3/lib/libffi.so.7
#7 0x00007ffff7c10ac0 in ffi_call_int () from
/gnu/store/bw15z9kh9c65ycc2vbhl2izwfwfva7p1-libffi-3.3/lib/libffi.so.7
#8 0x00007ffff7edefbe in scm_i_foreign_call () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#9 0x00007ffff7f4d904 in foreign_call () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#10 0x00007ffff7f54118 in vm_regular_engine () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#11 0x00007ffff7f555b5 in scm_call_n () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#12 0x00007ffff7ed2d27 in scm_primitive_eval () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#13 0x00007ffff7ed2d83 in scm_eval () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#14 0x00007ffff7f2b830 in scm_shell () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#15 0x00007ffff7eea73d in invoke_main_func () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#16 0x00007ffff7eccb0a in c_body () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#17 0x00007ffff7f54149 in vm_regular_engine () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#18 0x00007ffff7f555b5 in scm_call_n () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#19 0x00007ffff7ed1bba in scm_call_2 () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#20 0x00007ffff7ed33ba in scm_c_with_exception_handler () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#21 0x00007ffff7f4ac3d in scm_c_catch () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#22 0x00007ffff7ecd0b3 in scm_i_with_continuation_barrier () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#23 0x00007ffff7ecd145 in scm_c_with_continuation_barrier () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#24 0x00007ffff7f496df in with_guile () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#25 0x00007ffff7c56a68 in GC_call_with_stack_base () from
/gnu/store/iycnpxxrg8m9wf9w58d6zvp9sdby6m9d-libgc-7.6.12/lib/libgc.so.1
#26 0x00007ffff7f499f8 in scm_with_guile () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#27 0x00007ffff7eea8b2 in scm_boot_guile () from
/gnu/store/q8brh7j5mwy0hbrly6hjb1m3wwndxqc8-guile-3.0.5/lib/libguile-3.0.so.1
#28 0x000000000040119a in main ()
Attachment: file
L
L
Ludovic Courtès wrote on 16 Apr 2021 17:42
control message for bug #47797
(address . control@debbugs.gnu.org)
87im4m44o3.fsf@gnu.org
severity 47797 important
quit
L
L
Ludovic Courtès wrote on 16 Apr 2021 17:42
control message for bug #47297
(address . control@debbugs.gnu.org)
87h7k644nt.fsf@gnu.org
block 47297 by 47797
quit
L
L
Ludovic Courtès wrote on 16 Apr 2021 23:32
Re: bug#47797: Segmentation fault when calling 'git-predicate' in a package file
(name . Ingo Ruhnke)(address . grumbel@gmail.com)(address . 47797-done@debbugs.gnu.org)
871rb93oh1.fsf@gnu.org
Hi Ingo,

Ingo Ruhnke <grumbel@gmail.com> skribis:

Toggle quote (22 lines)
> Calling git-predicate from a simple package file causes guix to segfault.
> Bisect traced it down to this commit:
>
>
> commit c1940fde43c7aca37d67589cc5cb248086d17d56
> Author: Ludovic Courtès <ludo@gnu.org>
> Date: Fri Mar 19 11:51:20 2021 +0100
>
> git-download: Autoload Guile-Git.
>
> * guix/git-download.scm: Autoload (git ...) modules.
>
>
> Steps to reproduce the issue:
>
> $ cat mypkg.scm
> (use-modules (guix git-download))
> (git-predicate "/tmp")
>
> $ guix package -f mypkg.scm
> Segmentation fault (core dumped)

Fixed in 5b35c9adc899749a0bd96a0e6d2c3bbf88e38963.

Thank you for the perfect reproducer and bisect!

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 47797@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 47797
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch