Skip to content

cmd/go: a go get invocation produces an "invalid version: unknown revision" loop #55898

@anacrolix

Description

@anacrolix

This issue occurs in Go 1.18, and 1.19, and several other versions I've tried. To reproduce:

cd `mktemp -d`
go mod init hello
go get github.com/anacrolix/torrent

This gives:

go: github.com/anacrolix/dht/v2@v2.15.2-0.20220123034220-0538803801cb: invalid version: unknown revision 0538803801cb

I know this revision is missing, it likely disappeared in a rebase or something, and may finally have been flushed from the Google proxy. Both the github.com/anacrolix/torrent and github.com/anacrolix/dht/v2 modules depend on each other (but there are no circular package dependencies or it wouldn't compile). I believe they depend on versions that trickle down to the revision that is missing above, but it's not possible to break this cycle. In recent versions I've made both modules depend on versions of each other that shouldn't depend on older versions that trickle down but it doesn't work. You can try my latest attempt to break this cycle via go get github.com/anacrolix/torrent@unknown-dht-version using the reproduce steps above.

The downstream issue is anacrolix/torrent#776.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeGoCommandcmd/goNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions