Opened 3 years ago
Closed 2 years ago
#1800 closed defect (fixed)
chicken-install fails installing eggs when encountering truncated/empty .egg-info files
Reported by: | Vasilij Schneidermann | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | someday |
Component: | core tools | Version: | 5.3.0 |
Keywords: | chicken-install | Cc: | |
Estimated difficulty: | medium |
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.
Attachments (1)
Change History (4)
comment:1 Changed 2 years ago by
comment:2 Changed 2 years ago by
Estimated difficulty: | easy → medium |
---|
Changed 2 years ago by
Attachment: | 0001-Split-up-potentially-long-echo-invocation-on-win32.patch added |
---|
comment:3 Changed 2 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in commit a08f8f548d772ef410c672ba33a27108d8d434f3
I've finally stumbled upon a documented limitation of 8191 characters in cmd.exe:
https://ss64.com/nt/syntax-args.html
https://learn.microsoft.com/en-GB/troubleshoot/windows-client/shell-experience/command-line-string-limitation