Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when adding dependency on ASDF - fatal: couldn't find remote ref origin #304

Open
gabrielshanahan opened this issue Dec 18, 2024 · 1 comment · May be fixed by #305
Open

Error when adding dependency on ASDF - fatal: couldn't find remote ref origin #304

gabrielshanahan opened this issue Dec 18, 2024 · 1 comment · May be fixed by #305

Comments

@gabrielshanahan
Copy link

gabrielshanahan commented Dec 18, 2024

Describe the bug

I've starting encountering this error whenever I run qlot add after adding a dependency on a new version of ADSF (3.3.7.2).

E.g.:

docker run --rm -it -v ./common-lisp:/app fukamachi/qlot add github 40ants-critic 40ants/40ants-critic
Add 'github 40ants-critic 40ants/40ants-critic' to 'qlfile'.
Reading '/app/qlfile'...
✓ [1/1] 40ants-critic  No update on dist "40ants-critic" version "github-0a3c2d8a5b90a984cb6d6c30fec86ea8802eb83f"

Unexpected error: Error while executing a shell command: "git" "-C" "/app/.qlot/local-projects/asdf/" "fetch" "--depth" "1" "origin" "origin" "--quiet" "refs/tags/3.3.7.2:refs/tags/3.3.7.2" "--no-tags" (Code=128)

  fatal: couldn't find remote ref origin

This could be a bug in Qlot.
Report it at https://github.com/fukamachi/qlot/issues/new/choose.
Please attach the stack trace dumped to '/tmp/qlot-error-AR3FSGEY.log'.

The offending line in qlfile is asdf 3.3.7.2 - if I remove it, everything works fine.
In qfile.lock, the corresponding entry is

("asdf" .
 (:class qlot/source/asdf:source-asdf
  :initargs (:version "3.3.7.2")
  :version "3.3.7.2"))

The stack trace mentioned above is:

Backtrace for: #<SB-THREAD:THREAD tid=31 "main thread" RUNNING {10018203E3}>
0: ((LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE))
1: ((FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX))
2: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<FUNCTION (FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX) {FFFF95F82A8B}>)
3: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<FUNCTION (LAMBDA NIL :IN UIOP/IMAGE:PRINT-BACKTRACE) {10033AB41B}> :PACKAGE :CL)
4: (UIOP/IMAGE:PRINT-CONDITION-BACKTRACE #<QLOT/UTILS/SHELL:SHELL-COMMAND-ERROR {10033A8133}> :STREAM #<SB-SYS:FD-STREAM for "file /tmp/qlot-error-AR3FSGEY.log" {10033AB2B3}> :COUNT NIL)
5: ((FLET "BEFORE29" :IN QLOT/CLI:QLOT-COMMAND) #<SB-SYS:FD-STREAM for "file /tmp/qlot-error-AR3FSGEY.log" {10033AB2B3}> #P"/tmp/qlot-error-AR3FSGEY.log")
6: (UIOP/STREAM:CALL-WITH-TEMPORARY-FILE #<FUNCTION (FLET "BEFORE29" :IN QLOT/CLI:QLOT-COMMAND) {FFFF95F8256B}> :WANT-STREAM-P T :WANT-PATHNAME-P T :DIRECTION :OUTPUT :KEEP T :AFTER NIL :DIRECTORY NIL :TYPE "log" :PREFIX "qlot-error-" :SUFFIX "" :ELEMENT-TYPE NIL :EXTERNAL-FORMAT NIL)
7: ((LAMBDA (QLOT/CLI::C) :IN QLOT/CLI:QLOT-COMMAND) #<QLOT/UTILS/SHELL:SHELL-COMMAND-ERROR {10033A8133}>)
8: (SB-KERNEL::%SIGNAL #<QLOT/UTILS/SHELL:SHELL-COMMAND-ERROR {10033A8133}>)
9: (ERROR QLOT/UTILS/SHELL:SHELL-COMMAND-ERROR :COMMAND ("git" "-C" "/app/.qlot/local-projects/asdf/" "fetch" "--depth" "1" "origin" "origin" "--quiet" "refs/tags/3.3.7.2:refs/tags/3.3.7.2" "--no-tags") :CODE 128 :STDERR "fatal: couldn't find remote ref origin
")
10: ((FLET "BEFORE7" :IN QLOT/UTILS/SHELL:SAFETY-SHELL-COMMAND) #<SB-SYS:FD-STREAM for "file /tmp/tmp5GEXGEG5.tmp" {1003385883}> #P"/tmp/tmp5GEXGEG5.tmp")
11: (UIOP/STREAM:CALL-WITH-TEMPORARY-FILE #<FUNCTION (FLET "BEFORE7" :IN QLOT/UTILS/SHELL:SAFETY-SHELL-COMMAND) {FFFF95F81FDB}> :WANT-STREAM-P T :WANT-PATHNAME-P T :DIRECTION :IO :KEEP NIL :AFTER NIL :DIRECTORY NIL :TYPE "tmp" :PREFIX NIL :SUFFIX NIL :ELEMENT-TYPE NIL :EXTERNAL-FORMAT NIL)
12: (QLOT/UTILS/SHELL:SAFETY-SHELL-COMMAND "git" ("-C" "/app/.qlot/local-projects/asdf/" "fetch" "--depth" "1" "origin" "origin" "--quiet" "refs/tags/3.3.7.2:refs/tags/3.3.7.2" "--no-tags") :OUTPUT :STRING)
13: (QLOT/UTILS/GIT::GIT-FETCH #P"/app/.qlot/local-projects/asdf/" "origin" "refs/tags/3.3.7.2:refs/tags/3.3.7.2" "--no-tags")
14: (QLOT/UTILS/GIT:GIT-SWITCH-TAG #P"/app/.qlot/local-projects/asdf/" "3.3.7.2")
15: (QLOT/INSTALL::APPLY-QLFILE-TO-QLHOME #P"/app/qlfile" #P"/app/.qlot/" :IGNORE-LOCK NIL :PROJECTS NIL :CACHE-DIRECTORY NIL :CONCURRENCY NIL)
16: (QLOT/INSTALL:INSTALL-QLFILE #P"/app/qlfile" :QUICKLISP-HOME NIL :INSTALL-DEPS NIL :CACHE-DIRECTORY NIL :CONCURRENCY NIL)
17: (QLOT/INSTALL:INSTALL-PROJECT #P"/app/" :INSTALL-DEPS NIL :CACHE-DIRECTORY NIL :CONCURRENCY NIL)
18: (QLOT/CLI::QLOT-COMMAND-ADD ("github" "40ants-critic" "40ants/40ants-critic"))
19: (UIOP/FILESYSTEM:CALL-WITH-CURRENT-DIRECTORY #P"/app/" #<FUNCTION (LAMBDA NIL :IN QLOT/CLI::%QLOT-COMMAND) {100184083B}>)
20: (QLOT/CLI:QLOT-COMMAND "add" "github" "40ants-critic" "40ants/40ants-critic")
21: (SB-INT:SIMPLE-EVAL-IN-LEXENV (APPLY (QUOTE ROS/SCRIPT/QLOT::MAIN) ROSWELL:*ARGV*) #<NULL-LEXENV>)
22: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:QUIT (APPLY (QUOTE ROS/SCRIPT/QLOT::MAIN) ROSWELL:*ARGV*)) #<NULL-LEXENV>)
23: (SB-EXT:EVAL-TLF (ROSWELL:QUIT (APPLY (QUOTE ROS/SCRIPT/QLOT::MAIN) ROSWELL:*ARGV*)) NIL NIL)
24: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ROSWELL:QUIT (APPLY (QUOTE ROS/SCRIPT/QLOT::MAIN) ROSWELL:*ARGV*)) NIL)
25: (SB-INT:LOAD-AS-SOURCE #<CONCATENATED-STREAM :STREAMS NIL {1001840323}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
26: ((LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) #<CONCATENATED-STREAM :STREAMS NIL {1001840323}> NIL)
27: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<FUNCTION (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD) {FFFF95F80B5B}> #<CONCATENATED-STREAM :STREAMS NIL {1001840323}> NIL #<CONCATENATED-STREAM :STREAMS NIL {1001840323}>)
28: (LOAD #<CONCATENATED-STREAM :STREAMS NIL {1001840323}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT)
29: ((FLET ROSWELL::BODY :IN ROSWELL:SCRIPT) #<SB-SYS:FD-STREAM for "file /root/.roswell/bin/qlot" {1001840083}>)
30: (ROSWELL:SCRIPT "/root/.roswell/bin/qlot" "add" "github" "40ants-critic" "40ants/40ants-critic")
31: (ROSWELL:RUN ((:EVAL "(ros:quicklisp)") (:SCRIPT "/root/.roswell/bin/qlot" "add" "github" "40ants-critic" "40ants/40ants-critic") (:QUIT NIL)))
32: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:RUN (QUOTE ((:EVAL "(ros:quicklisp)") (:SCRIPT "/root/.roswell/bin/qlot" "add" "github" "40ants-critic" "40ants/40ants-critic") (:QUIT NIL)))) #<NULL-LEXENV>)
33: (EVAL (ROSWELL:RUN (QUOTE ((:EVAL "(ros:quicklisp)") (:SCRIPT "/root/.roswell/bin/qlot" "add" "github" "40ants-critic" "40ants/40ants-critic") (:QUIT NIL)))))
34: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn #-ros.init(cl:load \"/usr/local/etc/roswell/init.lisp\"))") (:EVAL . "(ros:run '((:eval\"(ros:quicklisp)\")(:script \"/root/.roswell/bin/qlot\"\"add\"\"github\"\"40ants-critic\"\"40ants/40ants-critic\")(:quit ())))")))
35: (SB-IMPL::TOPLEVEL-INIT)
36: ((FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP))
37: ((FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP))
38: (SB-IMPL::%START-LISP)
Above backtrace due to this condition:
Error while executing a shell command: "git" "-C" "/app/.qlot/local-projects/asdf/" "fetch" "--depth" "1" "origin" "origin" "--quiet" "refs/tags/3.3.7.2:refs/tags/3.3.7.2" "--no-tags" (Code=128)

  fatal: couldn't find remote ref origin

Reproducible steps

Error messages

Versions:

  • Qlot version: 1.6.0
  • Where did you get it from: DockerHub (Digest: sha256:bea1208b070f45b73f970189f52c9f3a2c5974d5b8db90b24b19984d57705d67)
  • OS: MacOS
  • Lisp: SBCL
@gabrielshanahan
Copy link
Author

gabrielshanahan commented Dec 18, 2024

I believe the offending line is here:

(git-fetch directory "origin" (format nil "refs/tags/~A:refs/tags/~:*~A" tag) "--no-tags")

You're passing "origin" as the ref to git-fetch, this should probably be tag.

@gabrielshanahan gabrielshanahan linked a pull request Dec 18, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant