cmd/go: modules seem to leave the package directory in an inconsistent state sometimes #27952
Labels
FrozenDueToAge
modules
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
What did you do?
I am not able to reproduce it consistently, but the company I work at has been using modules for about a week and we run into a variant of this problem fairly frequently.
Here is an aggregate of the various terminals I used when running into the problem most recently. The (pseudo-anonymized) directories are included for each command since I work in a split-screen tmux so not all of the commands were in the same terminal pane.
I attempted to compile a program that had previously used go modules and previously worked. When I built it, it went and found a new version. I thought maybe it couldn't find the older revision because I had cleared out my package cache, but it seems as if the directory it was looking for was mostly empty except for one entry and go modules is unable to recover from this state.
This isn't the first time we have experienced something like this too. I have regularly had to teach people how to clear out their package caches because you have to force all of the directories to be writeable to actually remove the entries inside and we have had compilations fail because a go file was empty or a file that should be there is missing.
I do not have an effective way of reproducing, but I suspect it may be getting caused by Ctrl+C. I have no evidence for this and have no idea if that is true. I don't remember every time I interrupt a command from my terminal, but it seems like it could be plausible.
I have also had it successfully compile once and record the wrong hash inside of the
go.sum
file.What did you expect to see?
I expected it to compile without issues and to not look for a new version. If there was a problem with the version that was specified, I expected it to loudly fail and tell me that the hash was wrong rather than to silently upgrade the version I was using.
What did you see instead?
It upgraded the version I was using to an incompatible copy and it did not tell me my local cache state was bad nor did it attempt to fix the cache state by redownloading or reextracting the zip file.
System details
The text was updated successfully, but these errors were encountered: