Summary

chicken-install fails installing eggs when encountering truncated/empty .egg-info files

Metadata

Attachments

Description

When installing eggs with chicken-install, it checks for already installed files by walking over all installed .egg-info files with matching-installed-files and load-egg-info. If one of these .egg-info files cannot be read, the whole installation process aborts. A similar phenomenon applies to chicken-uninstall with remove-extension and load-egg-info. The user must therefore manually delete all affected egg files to have a working set of eggs again.

Two proposals:

- Considering that the egg-info files are some sort of database, there should be a consistency check to ensure their integrity when installing/removing eggs. - If installing/removing eggs comes across a malformed egg-info file, it should display a warning and skip processing it. Maybe even suggest a manual uninstallation.

As for why these truncations happen, no idea. I've observed one such case with egg installation of srfi-27 and math on Windows, presumably due to maximum command length limits.

Changes and comments

[2022-10-03 13:53:49 UTC] wasamasa wrote:

I've finally stumbled upon a documented limitation of 8191 characters in cmd.exe:

https://ss64.com/nt/syntax-args.html

> The maximum length of any command line (or variable) within CMD is 8191 characters.

https://learn.microsoft.com/en-GB/troubleshoot/windows-client/shell-experience/command-line-string-limitation

> The maximum length of the string that you can use at the command prompt is 8191 characters.

[2022-10-03 13:54:49 UTC] wasamasa changed difficulty from easy to medium

[2022-11-01 20:32:11 UTC] wasamasa attached 0001-Split-up-potentially-long-echo-invocation-on-win32.patch (description=#f)

[2022-11-11 11:06:04 UTC] felix changed status from new to closed

[2022-11-11 11:06:04 UTC] felix set resolution to fixed

[2022-11-11 11:06:04 UTC] felix wrote:

Fixed in commit a08f8f548d772ef410c672ba33a27108d8d434f3