GNU bug report logs - #78877
31.0.50; Command `package-vc-rebuild' fails with error '(wrong-type-argument stringp nil)'

Previous Next

Package: emacs;

Reported by: Roi Martin <jroi.martin <at> gmail.com>

Date: Mon, 23 Jun 2025 16:51:02 UTC

Severity: normal

Found in version 31.0.50

To reply to this bug, email your comments to 78877 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


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):

From: Roi Martin <jroi.martin <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 31.0.50; Command `package-vc-rebuild' fails with error
 '(wrong-type-argument stringp nil)'
Date: Mon, 23 Jun 2025 18:50:26 +0200
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):

From: Philip Kaludercic <philipk <at> posteo.net>
To: Roi Martin <jroi.martin <at> gmail.com>
Cc: 78877 <at> debbugs.gnu.org
Subject: Re: bug#78877: 31.0.50; Command `package-vc-rebuild' fails with
 error '(wrong-type-argument stringp nil)'
Date: Thu, 26 Jun 2025 20:44:51 +0000
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):

From: Roi Martin <jroi.martin <at> gmail.com>
To: Philip Kaludercic <philipk <at> posteo.net>
Cc: 78877 <at> debbugs.gnu.org
Subject: Re: bug#78877: 31.0.50; Command `package-vc-rebuild' fails with
 error '(wrong-type-argument stringp nil)'
Date: Thu, 26 Jun 2025 23:32:22 +0200
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):

From: Philip Kaludercic <philipk <at> posteo.net>
To: Roi Martin <jroi.martin <at> gmail.com>
Cc: 78877 <at> debbugs.gnu.org
Subject: Re: bug#78877: 31.0.50; Command `package-vc-rebuild' fails with
 error '(wrong-type-argument stringp nil)'
Date: Thu, 26 Jun 2025 21:39:06 +0000
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.