Hello, Maxim Cournoyer <maxim.courno...@gmail.com> skribis:
> $ ./pre-inst-env guix build ppsspp \ > --with-git-url=ppsspp=https://github.com/hrydgard/ppsspp > > I get either > > updating submodule 'ext/SPIRV-Cross'... > indexing objects 91% > [########################################################################################################################################################################## > ]Segmentation fault > > > or > > updating checkout of 'https://github.com/hrydgard/ppsspp'... > updating submodule 'dx9sdk'... > updating submodule 'ext/SPIRV-Cross'... > updating submodule 'ext/armips'... > receiving objects 73% > [######################################################################################################################################## > ]Illegal instruction For the record, a possible workaround is:
diff --git a/guix/git.scm b/guix/git.scm index 9c6f326c36..a180d12acc 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -291,7 +291,8 @@ dynamic extent of EXP." (format log-port (G_ "updating submodule '~a'...~%") name) (submodule-update submodule - #:fetch-options fetch-options) + #:fetch-options + (make-default-fetch-options)) ;; Recurse in SUBMODULE. (let ((directory (string-append
This has to do with fetch options/progress callbacks being reclaimed too early. The backtrace upon segfault looks like this: --8<---------------cut here---------------start------------->8--- (gdb) bt #0 0x00007f83dc798a3e in get_callee_vcode (thread=thread@entry=0x7f83dbe2fd80) at vm.c:1499 #1 0x00007f83dc7a08a4 in scm_call_n ( proc=proc@entry=<error reading variable: ERROR: Cannot access memory at address 0xe0>0xe0, argv=argv@entry=0x7ffe6426d200, nargs=2) at vm.c:1606 #2 0x00007f83dc729fcc in invoke_closure (cif=0x7f83cbbfc580, ret=0x7ffe6426d420, args=0x7ffe6426d270, data=0xe0) at foreign.c:1100 #3 0x00007f83dc463ed1 in ffi_closure_unix64_inner () from /gnu/store/bw15z9kh9c65ycc2vbhl2izwfwfva7p1-libffi-3.3/lib/libffi.so.7 #4 0x00007f83dc464800 in ffi_closure_unix64 () from /gnu/store/bw15z9kh9c65ycc2vbhl2izwfwfva7p1-libffi-3.3/lib/libffi.so.7 #5 0x00007f83c6e452a1 in do_progress_callback (stats=stats@entry=0xd843c0, idx=<optimized out>, idx=<optimized out>) at /tmp/guix-build-libgit2-1.1.0.drv-0/libgit2-1.1.0/src/indexer.c:562 #6 0x00007f83c6e457cb in git_indexer_append (idx=0xdc3930, data=<optimized out>, size=<optimized out>, stats=0xd843c0) at /tmp/guix-build-libgit2-1.1.0.drv-0/libgit2-1.1.0/src/indexer.c:809 #7 0x00007f83c6e9c6df in git_smart__download_pack (transport=0xda08a0, repo=<optimized out>, stats=0xd843c0, progress_cb=0x7f83d8da50b8, progress_payload=<optimized out>) at /tmp/guix-build-libgit2-1.1.0.drv-0/libgit2-1.1.0/src/transports/smart_protocol.c:582 #8 0x00007f83c6e7a15b in git_remote_download (remote=remote@entry=0xd842f0, refspecs=refspecs@entry=0x0, opts=opts@entry=0x7ffe6426d808) at /tmp/guix-build-libgit2-1.1.0.drv-0/libgit2-1.1.0/src/remote.c:989 #9 0x00007f83c6e7ae0e in git_remote_fetch (remote=0xd842f0, refspecs=refspecs@entry=0x0, opts=opts@entry=0x7ffe6426d808, reflog_message=reflog_message@entry=0x0) at /tmp/guix-build-libgit2-1.1.0.drv-0/libgit2-1.1.0/src/remote.c:1025 #10 0x00007f83c6e909d9 in git_submodule_update (sm=0xd81360, init=1, _update_options=<optimized out>) at /tmp/guix-build-libgit2-1.1.0.drv-0/libgit2-1.1.0/src/submodule.c:1352 #11 0x00007f83dc46466d in ffi_call_unix64 () from /gnu/store/bw15z9kh9c65ycc2vbhl2izwfwfva7p1-libffi-3.3/lib/libffi.so.7 #12 0x00007f83dc462ac0 in ffi_call_int () from /gnu/store/bw15z9kh9c65ycc2vbhl2izwfwfva7p1-libffi-3.3/lib/libffi.so.7 #13 0x00007f83dc72a33e in scm_i_foreign_call (cif_scm=<optimized out>, pointer_scm=<optimized out>, errno_ret=errno_ret@entry=0x7ffe6426dc9c, argv=0x7f83ce7d7880) at foreign.c:1073 --8<---------------cut here---------------end--------------->8--- To be continued… Ludo’.