Skip to content

The value NIL is not of type NUMBER #31

Description

@jg791

I'm running into a weird bug. I haven't had time to put a PR yet because I don't have a definitive "why".

When installing anything (package does not matter), I am getting the following error: The value NIL is not of type NUMBER

The error is coming from extract-openssl-digest. Specifically, it is happening because extract-openssl-digest is called with an already-trimmed value, e.g., (ql-https:extract-openssl-digest "a708a8b6996a18c3aed1d9d909f9c52477c72fba"). This causes (position #\Space "a708a8b6996a18c3aed1d9d909f9c52477c72fba") to return nil, which causes the call to subseq to blow up.

Tracing it back, the troubled call is line 166 of content-hash.lisp:

(extract-openssl-digest (read-binary-line (uiop:process-info-output openssl))))))

Through debugging I've verified that OpenSSL on my system still does what you'd expect:

$ openssl dgst -sha1 install.sh
SHA1(install.sh)= 14ac9cec24cdafe66b11708a42463b1424a97581

I've also verified that (read-binary-line) is not clobbering it (everything after the space is missing in the stream passed to this function).

This means, for some reason, (uiop:process-info-output openssl) is returning a stream containing e.g. a708a8b6996a18c3aed1d9d909f9c52477c72fba instead of SHA1(install.sh)= a708a8b6996a18c3aed1d9d909f9c52477c72fba

Info:
OS: macOS Tahoe 26.6.2
Lisp: SBCL 2.6.7
OpenSSL: 3.6.3
QuickLisp/ql-https: Tested from a fresh install.

I've tried nuking and reinstalling everything, to no avail.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions