Subject: bug#59087: 29.0.50; package-vc-update error

From: Philip Kaludercic <[email-masked]>
Date: Tue, 15 Nov 2022 09:48:53 +0000

Thank you for all these stack traces, I have managed to reproduce and
resolve all the mistakes -- at least on my end.  The new state is still
on scratch/package-vc-fixes.

Feng Shu <[email-masked]> writes:

> Philip Kaludercic <[email-masked]> writes:
>
>> Feng Shu <[email-masked]> writes:
>>
>>> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>>>   make-symbol(nil)
>>>   package-vc-update(#s(package-desc :name pyim :version (5 2 8)
>>> :summary "A Chinese input method support quanpin, shuangpin,..."
>>> :reqs ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind vc :archive
>>> nil :dir "/home/feng/.emacs.d/elpa-29/pyim" :extras ((:commit
>>> . "8c4f7d40c05dc06b3c96c2955e5d72ec268f2b61") (:authors ("Ye Wenbin"
>>> . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:maintainer
>>> "Feng Shu" . "[email-masked]") (:keywords "convenience" "chinese"
>>> "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))> :signed nil))
>>>   package-update(pyim)
>>>   mapc(package-update (pyim))
>>>   package-update-all(t)
>>>   funcall-interactively(package-update-all t)
>>>   call-interactively(package-update-all record nil)
>>>   command-execute(package-update-all record)
>>>   execute-extended-command(nil "package-update-all" nil)
>>>   funcall-interactively(execute-extended-command nil "package-update-all" nil)
>>>   call-interactively(execute-extended-command nil nil)
>>>   command-execute(execute-extended-command)
>>
>> This issue (and the others you reported) might have been resolved on the
>> scratch/package-vc-fixes branch.  Could you try that out?
>
> wow, good job, I install pyim and run package-vc-update again, show:
>
> Debugger entered--Lisp error: (cl-assertion-failed (dir nil))
>   cl--assertion-failed(dir)
>   package-vc--unpack-1(#s(package-desc :name pyim :version (5 2 8)
> :summary "A Chinese input method support quanpin, shuangpin,..." :reqs
> ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind tar :archive "gnu"
> :dir nil :extras ((:url . "https://github.com/tumashu/pyim")
> (:keywords "convenience" "chinese" "pinyin" "input-method")
> (:maintainer "Feng Shu" . "[email-masked]") (:authors ("Ye Wenbin"
> . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:commit
> . "93fab3c9e8c2490687781d45c1cecead0bd3ecf2")) :signed nil) nil)
>   #f(compiled-function (command file-or-list flags) #<bytecode 0xe12829862413ae8>)("git" nil ("pull" "--stat"))
>   run-hook-with-args(#f(compiled-function (command file-or-list flags) #<bytecode 0xe12829862413ae8>) "git" nil ("pull" "--stat"))
>   #f(compiled-function () #<bytecode -0x1712b007cb06d41a>)()
>   vc-exec-after(#f(compiled-function () #<bytecode -0x1712b007cb06d41a>) nil)
>   vc--process-sentinel(#<process git> #f(compiled-function () #<bytecode -0x1712b007cb06d41a>) nil)
>   #f(compiled-function (p msg) #<bytecode 0xef07964a0216b31>)(#<process git> "exited abnormally with code 128\n")
>   apply(#f(compiled-function (p msg) #<bytecode 0xef07964a0216b31>) (#<process git> "exited abnormally with code 128\n"))
>   #f(advice #f(compiled-function (p msg) #<bytecode 0xef07964a0216b31>) :after ignore)(#<process git> "exited abnormally with code 128\n")
>   apply(#f(advice #f(compiled-function (p msg) #<bytecode 0xef07964a0216b31>) :after ignore) (#<process git> "exited abnormally with code 128\n"))
>   #f(advice #f(compiled-function (p msg) #<bytecode
> -0xa9844be2e2d4106>) :after #f(advice #f(compiled-function (p msg)
> #<bytecode 0xef07964a0216b31>) :after ignore))(#<process git> "exited
> abnormally with code 128\n")

Feng Shu <[email-masked]> writes:

> Philip Kaludercic <[email-masked]> writes:
>
>> Feng Shu <[email-masked]> writes:
>>
>>> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>>>   make-symbol(nil)
>>>   package-vc-update(#s(package-desc :name pyim :version (5 2 8)
>>> :summary "A Chinese input method support quanpin, shuangpin,..."
>>> :reqs ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind vc :archive
>>> nil :dir "/home/feng/.emacs.d/elpa-29/pyim" :extras ((:commit
>>> . "8c4f7d40c05dc06b3c96c2955e5d72ec268f2b61") (:authors ("Ye Wenbin"
>>> . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:maintainer
>>> "Feng Shu" . "[email-masked]") (:keywords "convenience" "chinese"
>>> "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))> :signed nil))
>>>   package-update(pyim)
>>>   mapc(package-update (pyim))
>>>   package-update-all(t)
>>>   funcall-interactively(package-update-all t)
>>>   call-interactively(package-update-all record nil)
>>>   command-execute(package-update-all record)
>>>   execute-extended-command(nil "package-update-all" nil)
>>>   funcall-interactively(execute-extended-command nil "package-update-all" nil)
>>>   call-interactively(execute-extended-command nil nil)
>>>   command-execute(execute-extended-command)
>>
>> This issue (and the others you reported) might have been resolved on the
>> scratch/package-vc-fixes branch.  Could you try that out?
>
> When I delete pyim and reinstall it, and run pyim-vc-update again, show:
>
> Debugger entered--Lisp error: (error "No VC backend is responsible for ~/")
>   signal(error ("No VC backend is responsible for ~/"))
>   error("No VC backend is responsible for %s" "~/")
>   vc-responsible-backend("~/")
>   vc-deduce-fileset-1(t nil nil)
>   vc-deduce-fileset(t)
>   vc-pull()
>   package-vc-update(#s(package-desc :name pyim :version (5 2 8)
> :summary "A Chinese input method support quanpin, shuangpin,..." :reqs
> ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind vc :archive nil :dir
> "/home/feng/.emacs.d/elpa-29/pyim" :extras ((:commit
> . "93fab3c9e8c2490687781d45c1cecead0bd3ecf2") (:authors ("Ye Wenbin"
> . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:maintainer
> "Feng Shu" . "[email-masked]") (:keywords "convenience" "chinese"
> "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))
> :signed nil))
>   package-update("pyim")
>   funcall-interactively(package-update "pyim")
>   call-interactively(package-update record nil)
>   command-execute(package-update record)
>   execute-extended-command(nil "package-update" nil)
>   funcall-interactively(execute-extended-command nil "package-update" nil)
>   call-interactively(execute-extended-command nil nil)
>   command-execute(execute-extended-command)

Feng Shu <[email-masked]> writes:

> Philip Kaludercic <[email-masked]> writes:
>
>> Feng Shu <[email-masked]> writes:
>>
>>> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>>>   make-symbol(nil)
>>>   package-vc-update(#s(package-desc :name pyim :version (5 2 8)
>>> :summary "A Chinese input method support quanpin, shuangpin,..."
>>> :reqs ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind vc :archive
>>> nil :dir "/home/feng/.emacs.d/elpa-29/pyim" :extras ((:commit
>>> . "8c4f7d40c05dc06b3c96c2955e5d72ec268f2b61") (:authors ("Ye Wenbin"
>>> . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:maintainer
>>> "Feng Shu" . "[email-masked]") (:keywords "convenience" "chinese"
>>> "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))> :signed nil))
>>>   package-update(pyim)
>>>   mapc(package-update (pyim))
>>>   package-update-all(t)
>>>   funcall-interactively(package-update-all t)
>>>   call-interactively(package-update-all record nil)
>>>   command-execute(package-update-all record)
>>>   execute-extended-command(nil "package-update-all" nil)
>>>   funcall-interactively(execute-extended-command nil "package-update-all" nil)
>>>   call-interactively(execute-extended-command nil nil)
>>>   command-execute(execute-extended-command)
>>
>> This issue (and the others you reported) might have been resolved on the
>> scratch/package-vc-fixes branch.  Could you try that out?
>
> When I run package-vc-install pyim and run package-vc-rebuild pyim,
> show:
>
> Debugger entered--Lisp error: (circular-list (("use-package" :url
> "https://github.com/jwiegley/use-package" :ignored-files ("LICENSE"
> "bind-*" "use-package-chords.el") :readme "README.md" :doc
> "use-package.texi" :news "NEWS.md" :auto-sync t :internal--html-docs
> (("use-package" . "use-package.html"))) ("validate" :url
> "https://github.com/Malabarba/validate.el") ("valign" :url
> "https://github.com/casouri/valign") ("vc-backup" :url
> "https://git.sr.ht/~pkal/vc-backup" :auto-sync t) ("vc-got" :url
> "https://git.omarpolo.com/vc-got.git" :ignored-files ("targets"
> "LICENSE") :auto-sync t) ("vc-hgcmd" :url
> "https://github.com/muffinmad/emacs-vc-hgcmd" :auto-sync t) (vcard
> :url "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/vcard") ("vcl-mode" :url "git://git.gnu.org.ua/vcl-mode")
> ("vdiff" :url "https://github.com/justbur/emacs-vdiff" :auto-sync t)
> ("vertico" :url "https://github.com/minad/vertico" :doc "README.org"
> :ignored-files ("*.svg") :renames (("extensions/" "")) :auto-sync t)
> ("vertico-posframe" :url "https://github.com/tumashu/vertico-posframe"
> :auto-sync t) (vigenere :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/vigenere") (visual-filename-abbrev :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/visual-filename-abbrev") (visual-fill :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/visual-fill") ("vlf" :url
> "https://github.com/m00natic/vlfi") ("vundo" :url
> "https://github.com/casouri/vundo" :ignored-files ("test") :news
> "NEWS.txt" :auto-sync t) ("wcheck-mode" :url
> "https://github.com/tlikonen/wcheck-mode") ("wconf" :url
> "https://github.com/ilohmar/wconf") ("web-server" :url
> "https://github.com/eschulte/emacs-web-server.git") ("webfeeder" :url
> "https://gitlab.com/ambrevar/emacs-webfeeder.git") ("websocket" :url
> "https://github.com/ahyatt/emacs-websocket.git") ("which-key" :url
> "https://github.com/justbur/emacs-which-key" :auto-sync t) ("windower"
> :url "https://gitlab.com/ambrevar/emacs-windower") (windresize :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/windresize") (wisi :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch "externals/wisi"
> :doc ("wisi.texi" "wisitoken-user_guide.texinfo") :release-branch t)
> (wisitoken-grammar-mode :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/wisitoken-grammar-mode") (wpuzzle :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/wpuzzle") (xclip :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch "externals/xclip")
> ("xelb" :url "https://github.com/ch11ng/xelb.git") (xpm :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch "externals/xpm")
> ("xr" :url "https://github.com/mattiase/xr" :ignored-files ("Makefile"
> ".github" "*-test.el*") :auto-sync t) ("yasnippet" :url
> "https://github.com/capitaomorte/yasnippet.git")
> (yasnippet-classic-snippets :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/yasnippet-classic-snippets") (zones :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch "externals/zones")
> ("ztree" :url "https://github.com/fourier/ztree") ("zuul" :url
> "https://git.sr.ht/~niklaseklund/zuul.el" :news "CHANGELOG.org"
> :readme "README.md" :auto-sync t) ("ace-window" :url
> "https://github.com/abo-abo/ace-window" :auto-sync t) ("ack" :url
> "https://github.com/leoliu/ack-el" :auto-sync t) (ada-mode :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/ada-mode" :doc ("ada-mode.texi") :release-branch t)
> (ada-ref-man :url "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/ada-ref-man") (adaptive-wrap :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/adaptive-wrap") (adjust-parens :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/adjust-parens") (advice-patch :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/advice-patch") (aggressive-completion :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/aggressive-completion" :auto-sync t) ("aggressive-indent"
> :url "https://github.com/Malabarba/aggressive-indent-mod..."
> :auto-sync t) ("agitate" :url "https://git.sr.ht/~protesilaos/agitate"
> :auto-sync t :doc "README.org" :readme "README.md" :ignored-files
> ("COPYING" "doclicense.texi")) ("ahungry-theme" :url
> "https://github.com/ahungry/color-theme-ahungry") ("aircon-theme" :url
> "https://git.sr.ht/~chambln/aircon-theme.el" :ignored-files ("README"
> "COPYING") :readme ignore :auto-sync t) (all :url
> "https://git.sv.gnu.org/git/emacs/elpa.git" :branch "externals/all")
> (ampc :url "https://git.sv.gnu.org/git/emacs/elpa.git" :branch
> "externals/ampc") ...))
>   mapcan(append (((afternoon-theme :url
> "https://github.com/osener/..." :ignored-files ...) (alect-themes :url
> "https://github.com/alezost..." :ignored-files ...) (ample-theme :url
> "https://github.com/jordonb...") (annotate :url
> "https://github.com/bastibe..." :news "NEWS.org" :readme "README.org")
> (anti-zenburn-theme :url "https://github.com/m00nati..."
> :ignored-files ...) (anzu :url "https://github.com/emacsor..." :readme
> "README.md" :news "Changes" :ignored-files ...) (apache-mode :url
> "https://github.com/emacs-p..." :ignored-files ...)
> (apropospriate-theme :url "https://github.com/waymond..."
> :ignored-files ...) (arduino-mode :url "git://git.sv.gnu.org/emacs..."
> :branch "elpa/arduino-mode" :ignored-files ...) (autothemer :url
> "https://github.com/jasonm2..." :readme "README.md") (better-jumper
> :url "https://github.com/gilbert..." :readme "Readme.md"
> :ignored-files ...) (bind-map :url "https://github.com/justbur..."
> :ignored-files ...) (bison-mode :url "https://github.com/Wilfred...")
> (boxquote :url "https://github.com/davep/b..." :readme "README.md"
> :ignored-files ...) (buttercup :url "https://github.com/jorgens..."
> :ignored-files ...) (caml :url "https://github.com/ocaml/c..."
> :ignored-files ...) (cdlatex :url "https://github.com/cdomini...")
> (cider :url "https://github.com/clojure..." :ignored-files ... :news
> "CHANGELOG.md") (clojure-mode :url "https://github.com/clojure..."
> :ignored-files ... :news "CHANGELOG.md") (coffee-mode :url
> "https://github.com/defunkt...") (corfu-terminal :url
> "https://codeberg.org/akib/...") (crux :url
> "https://github.com/bbatsov..." :readme "README.md" :news
> "CHANGELOG.md") (cyberpunk-theme :url "https://github.com/n3mo/cy..."
> :ignored-files ...) (cycle-at-point :url
> "https://codeberg.org/ideas..." :ignored-files ...) (d-mode :url
> "https://github.com/Emacs-D..." :ignored-files ...) (dart-mode :url
> "https://github.com/bradyt/..." :ignored-files ... :news
> "CHANGELOG.md") ...) (("ace-window" :url
> "https://github.com/abo-abo..." :auto-sync t) ("ack" :url
> "https://github.com/leoliu/..." :auto-sync t) (ada-mode :url
> "https://git.sv.gnu.org/git..." :branch "externals/ada-mode" :doc
> ... :release-branch t) (ada-ref-man :url
> "https://git.sv.gnu.org/git..." :branch "externals/ada-ref-man")
> (adaptive-wrap :url "https://git.sv.gnu.org/git..." :branch
> "externals/adaptive-wrap") (adjust-parens :url
> "https://git.sv.gnu.org/git..." :branch "externals/adjust-parens")
> (advice-patch :url "https://git.sv.gnu.org/git..." :branch
> "externals/advice-patch") (aggressive-completion :url
> "https://git.sv.gnu.org/git..." :branch
> "externals/aggressive-compl..." :auto-sync t) ("aggressive-indent"
> :url "https://github.com/Malabar..." :auto-sync t) ("agitate" :url
> "https://git.sr.ht/~protesi..." :auto-sync t :doc "README.org" :readme
> "README.md" :ignored-files ...) ("ahungry-theme" :url
> "https://github.com/ahungry...") ("aircon-theme" :url
> "https://git.sr.ht/~chambln..." :ignored-files ... :readme ignore
> :auto-sync t) (all :url "https://git.sv.gnu.org/git..." :branch
> "externals/all") (ampc :url "https://git.sv.gnu.org/git..." :branch
> "externals/ampc") (arbitools :url "https://git.sv.gnu.org/git..."
> :branch "externals/arbitools") (ascii-art-to-unicode :url
> "https://git.sv.gnu.org/git..." :branch
> "externals/ascii-art-to-uni...") ("async" :url
> "https://github.com/jwiegle..." :ignored-files ... :auto-sync t)
> ("auctex" :url "git://git.sv.gnu.org/aucte..." :auto-sync nil)
> (aumix-mode :url "https://git.sv.gnu.org/git..." :branch
> "externals/aumix-mode") (auto-correct :url
> "https://git.sv.gnu.org/git..." :branch "externals/auto-correct")
> ("auto-overlays" :url "http://www.dr-qubit.org/gi..." :doc
> "docs/auto-overlay-manual.t...") ("avy" :url
> "https://github.com/abo-abo...") ("bbdb" :url
> "git://git.savannah.nongnu...." :lisp-dir "lisp" :doc "doc/bbdb.texi"
> :auto-sync nil) ("beacon" :url "https://github.com/Malabar..."
> :auto-sync t) ("bind-key" :url "https://github.com/jwiegle..."
> :ignored-files ... :news "/dev/null" :auto-sync t :internal--html-docs
> nil) ("blist" :url "https://gitlab.com/mmemmew..." :doc
> "blist.texinfo" :readme "README.org" :auto-sync t) ...)))
>   package-vc--desc->spec(#s(package-desc :name pyim :version (5 2 8)
> :summary "A Chinese input method support quanpin, shuangpin,..." :reqs
> ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind vc :archive nil :dir
> "/home/feng/.emacs.d/elpa-29/pyim" :extras ((:commit
> . "93fab3c9e8c2490687781d45c1cecead0bd3ecf2") (:authors ("Ye Wenbin"
> . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:maintainer
> "Feng Shu" . "[email-masked]") (:keywords "convenience" "chinese"
> "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))
> :signed nil))
>   package-vc--main-file(#s(package-desc :name pyim :version (5 2 8)
> :summary "A Chinese input method support quanpin, shuangpin,..." :reqs
> ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind vc :archive nil :dir
> "/home/feng/.emacs.d/elpa-29/pyim" :extras ((:commit
> . "93fab3c9e8c2490687781d45c1cecead0bd3ecf2") (:authors ("Ye Wenbin"
> . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:maintainer
> "Feng Shu" . "[email-masked]") (:keywords "convenience" "chinese"
> "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))
> :signed nil))
>   package-vc--unpack-1(#s(package-desc :name pyim :version (5 2 8)
> :summary "A Chinese input method support quanpin, shuangpin,..." :reqs
> ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind vc :archive nil :dir
> "/home/feng/.emacs.d/elpa-29/pyim" :extras ((:commit
> . "93fab3c9e8c2490687781d45c1cecead0bd3ecf2") (:authors ("Ye Wenbin"
> . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:maintainer
> "Feng Shu" . "[email-masked]") (:keywords "convenience" "chinese"
> "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))
> :signed nil) "/home/feng/.emacs.d/elpa-29/pyim")
>   package-vc-rebuild(#s(package-desc :name pyim :version (5 2 8)
> :summary "A Chinese input method support quanpin, shuangpin,..." :reqs
> ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind vc :archive nil :dir
> "/home/feng/.emacs.d/elpa-29/pyim" :extras ((:commit
> . "93fab3c9e8c2490687781d45c1cecead0bd3ecf2") (:authors ("Ye Wenbin"
> . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:maintainer
> "Feng Shu" . "[email-masked]") (:keywords "convenience" "chinese"
> "pinyin" "input-method") (:url . "https://github.com/tumashu/pyim"))
> :signed nil))
>   funcall-interactively(package-vc-rebuild #s(package-desc :name pyim
> :version (5 2 8) :summary "A Chinese input method support quanpin,
> shuangpin,..." :reqs ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind
> vc :archive nil :dir "/home/feng/.emacs.d/elpa-29/pyim" :extras
> ((:commit . "93fab3c9e8c2490687781d45c1cecead0bd3ecf2") (:authors ("Ye
> Wenbin" . "[email-masked]") ("Feng Shu" . "[email-masked]"))
> (:maintainer "Feng Shu" . "[email-masked]") (:keywords "convenience"
> "chinese" "pinyin" "input-method") (:url
> . "https://github.com/tumashu/pyim")) :signed nil))
>   call-interactively(package-vc-rebuild record nil)
>   command-execute(package-vc-rebuild record)
>   execute-extended-command(nil "package-vc-rebuild" "package-vc-reb")
>   funcall-interactively(execute-extended-command nil "package-vc-rebuild" "package-vc-reb")
>   call-interactively(execute-extended-command nil nil)
>   command-execute(execute-extended-command)