Summary
chicken-install fails installing eggs when encountering truncated/empty .egg-info files
Metadata
- Id: 4f0d9312e8f41fe023ed1aa621eac1e94a78effd
- Trac id: 1800
- Type: defect
- Reporter: wasamasa
- Owner:
- Cc:
- Status: closed
- Component: core tools
- Estimated difficulty: medium
- Resolution: fixed
- Priority: major
- Milestone: someday
- Version: 5.3.0
- Changetime: 2022-11-11 11:06:04 UTC
- Created: 2022-04-04 14:57:15 UTC
- Keywords: chicken-install
Attachments
- 4f0d9312e8f41fe023ed1aa621eac1e94a78effd/attachments/0001-Split-up-potentially-long-echo-invocation-on-win32.patch
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