GNU bug report logs -
#78877
31.0.50; Command `package-vc-rebuild' fails with error '(wrong-type-argument stringp nil)'
Previous Next
To reply to this bug, email your comments to 78877 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
philipk <at> posteo.net, bug-gnu-emacs <at> gnu.org
:
bug#78877
; Package
emacs
.
(Mon, 23 Jun 2025 16:51:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Roi Martin <jroi.martin <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
philipk <at> posteo.net, bug-gnu-emacs <at> gnu.org
.
(Mon, 23 Jun 2025 16:51:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
After installing a package using `package-vc-install-from-checkout',
`package-vc-rebuild' fails with error '(wrong-type-argument stringp nil)'.
The error can be reproduced following these steps:
emacs -Q --init-directory=/tmp/package-vc-bug
M-x package-vc-install-from-checkout /path/to/pkg-foo RET
M-x package-vc-rebuild pkg-foo RET
Which produces the following backtrace:
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
vc-file-getprop(nil vc-working-revision)
vc-working-revision(nil)
package-vc--unpack-1(#s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil) "/tmp/package-vc-bug/elpa/pkg-foo/")
package-vc-rebuild(#s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil))
funcall-interactively(package-vc-rebuild #s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil))
command-execute(package-vc-rebuild record)
execute-extended-command(nil "package-vc-rebuild" nil)
funcall-interactively(execute-extended-command nil "package-vc-rebuild" nil)
command-execute(execute-extended-command)
Where pkg-foo is a dummy package exposing a couple of functions.
I think this bug could be related to the changes installed as part of
Bug#78017.
Tested in:
GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.49, cairo version 1.18.2) of 2025-06-23 built on wopr
Repository revision: 1a8e8203a158f6bdc74e38f2cdb3214b6c06b9d8
Repository branch: master
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#78877
; Package
emacs
.
(Thu, 26 Jun 2025 20:46:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 78877 <at> debbugs.gnu.org (full text, mbox):
Roi Martin <jroi.martin <at> gmail.com> writes:
> After installing a package using `package-vc-install-from-checkout',
> `package-vc-rebuild' fails with error '(wrong-type-argument stringp nil)'.
>
> The error can be reproduced following these steps:
>
> emacs -Q --init-directory=/tmp/package-vc-bug
> M-x package-vc-install-from-checkout /path/to/pkg-foo RET
> M-x package-vc-rebuild pkg-foo RET
>
> Which produces the following backtrace:
>
> Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> vc-file-getprop(nil vc-working-revision)
> vc-working-revision(nil)
The critical issue seems to be this line, right? We didn't find a main
file, but wanted determine the revision of that file.
> package-vc--unpack-1(#s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil) "/tmp/package-vc-bug/elpa/pkg-foo/")
> package-vc-rebuild(#s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil))
> funcall-interactively(package-vc-rebuild #s(package-desc :name pkg-foo :version (0) :summary "No description available." :reqs nil :kind vc :archive nil :dir "/tmp/package-vc-bug/elpa/pkg-foo/" :extras ((:commit . "unknown")) :signed nil))
> command-execute(package-vc-rebuild record)
> execute-extended-command(nil "package-vc-rebuild" nil)
> funcall-interactively(execute-extended-command nil "package-vc-rebuild" nil)
> command-execute(execute-extended-command)
>
> Where pkg-foo is a dummy package exposing a couple of functions.
What was the file structure of the package.
> I think this bug could be related to the changes installed as part of
> Bug#78017.
Could you elaborate your suspicion?
> Tested in:
>
> GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
> 3.24.49, cairo version 1.18.2) of 2025-06-23 built on wopr
> Repository revision: 1a8e8203a158f6bdc74e38f2cdb3214b6c06b9d8
> Repository branch: master
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#78877
; Package
emacs
.
(Thu, 26 Jun 2025 21:33:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 78877 <at> debbugs.gnu.org (full text, mbox):
Philip Kaludercic <philipk <at> posteo.net> writes:
>> I think this bug could be related to the changes installed as part of
>> Bug#78017.
>
> Could you elaborate your suspicion?
The commit 4226eb2b2040 "Avoid using symbolic links when installing
local VC packages" replaced symlinks with autoload indirections. So,
now the directory created by `package-vc-install-from-checkout' contains
the following files in my test:
<user-emacs-directory>/elpa/pkg-foo/pkg-foo-pkg.el
;;; Generated package description from pkg-foo.el -*- no-byte-compile: t -*-
(define-package "pkg-foo" "0" "No description available." 'nil :kind vc :commit "85d90568599b3716295fe44b4611b5b31cd3b611")
<user-emacs-directory>/elpa/pkg-foo/pkg-foo-autoloads.el
;; Autoload indirection for package-vc
(load (expand-file-name "/home/n/tmp/pkg-foo/pkg-foo-autoloads.el" (or (and load-file-name (file-name-directory load-file-name)) (car load-path))))
My suspicion is that after this change, `package-vc--main-file' cannot
find a main file in that directory anymore. Does it make sense?
Roi
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#78877
; Package
emacs
.
(Thu, 26 Jun 2025 21:40:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 78877 <at> debbugs.gnu.org (full text, mbox):
Roi Martin <jroi.martin <at> gmail.com> writes:
> Philip Kaludercic <philipk <at> posteo.net> writes:
>
>>> I think this bug could be related to the changes installed as part of
>>> Bug#78017.
>>
>> Could you elaborate your suspicion?
>
> The commit 4226eb2b2040 "Avoid using symbolic links when installing
> local VC packages" replaced symlinks with autoload indirections. So,
> now the directory created by `package-vc-install-from-checkout' contains
> the following files in my test:
>
> <user-emacs-directory>/elpa/pkg-foo/pkg-foo-pkg.el
>
> ;;; Generated package description from pkg-foo.el -*- no-byte-compile: t -*-
> (define-package "pkg-foo" "0" "No description available." 'nil :kind vc :commit "85d90568599b3716295fe44b4611b5b31cd3b611")
>
> <user-emacs-directory>/elpa/pkg-foo/pkg-foo-autoloads.el
>
> ;; Autoload indirection for package-vc
>
> (load (expand-file-name "/home/n/tmp/pkg-foo/pkg-foo-autoloads.el" (or (and load-file-name (file-name-directory load-file-name)) (car load-path))))
>
> My suspicion is that after this change, `package-vc--main-file' cannot
> find a main file in that directory anymore. Does it make sense?
Of course, that does make sense and is an issue that the change seems to
have introduced. I will take a look at how we can improve this,
probably by trying to follow the indirection when looking for a main
file...
> Roi
This bug report was last modified 19 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.