gomods / gomods/athens

Issues with getting +incompatible

Open
#2,160 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
4.8k
Forks
542
Avg merge
7d 21h
Merged PRs (30d)
2

Description

**Describe the bug**
A project has `github.com/seaweedfs/goexif v2.0.0+incompatible` set in its modules file. Getting this isn't a problem when you use a standard go modules proxy, however with Athens I get an error. Is this kind of notation not supported?

**Error Message**
```console
DEBUG[8:21PM]: saving github.com@v2.0.0+incompatible to storage... http-method=GET http-path=/github.com/@v/v2.0.0+incompatible.info request-id=3561fb9f-d8f1-4126-934b-0d72adc53597
DEBUG[8:21PM]: saving github.com/seaweedfs@v2.0.0+incompatible to storage... http-method=GET http-path=/github.com/seaweedfs/@v/v2.0.0+incompatible.info request-id=1519658a-68a0-4086-ab7f-e2378bcef537
DEBUG[8:21PM]: saving github.com/seaweedfs/goexif@v2.0.0+incompatible to storage... http-method=GET http-path=/github.com/seaweedfs/goexif/@v/v2.0.0+incompatible.info request-id=d6e0f45a-0ec1-4b01-89ba-8e48653018e5
INFO[8:21PM]: github.com/seaweedfs@v2.0.0+incompatible: invalid github.com import path "github.com/seaweedfs" http-method=GET http-path=/github.com/seaweedfs/@v/v2.0.0+incompatible.info kind=Not Found module=github.com/seaweedfs operation=download.InfoHandler ops=[download.InfoHandler pool.Info protocol.Info protocol.processDownload stash.Pool stasher.Stash stasher.fetchModule goGetFetcher.Fetch module.downloadModule] request-id=1519658a-68a0-4086-ab7f-e2378bcef537 version=v2.0.0+incompatible
INFO[8:21PM]: incoming request http-method=GET http-path=/github.com/seaweedfs/@v/v2.0.0+incompatible.info http-status=404 request-id=1519658a-68a0-4086-ab7f-e2378bcef537
INFO[8:21PM]: github.com@v2.0.0+incompatible: invalid github.com import path "github.com" http-method=GET http-path=/github.com/@v/v2.0.0+incompatible.info kind=Not Found module=github.com operation=download.InfoHandler ops=[download.InfoHandler pool.Info protocol.Info protocol.processDownload stash.Pool stasher.Stash stasher.fetchModule goGetFetcher.Fetch module.downloadModule] request-id=3561fb9f-d8f1-4126-934b-0d72adc53597 version=v2.0.0+incompatible
INFO[8:21PM]: incoming request http-method=GET http-path=/github.com/@v/v2.0.0+incompatible.info http-status=404 request-id=3561fb9f-d8f1-4126-934b-0d72adc53597
INFO[8:21PM]: github.com/seaweedfs/goexif@v2.0.0+incompatible: invalid version: unknown revision v2.0.0 http-method=GET http-path=/github.com/seaweedfs/goexif/@v/v2.0.0+incompatible.info kind=Not Found module=github.com/seaweedfs/goexif operation=download.InfoHandler ops=[download.InfoHandler pool.Info protocol.Info protocol.processDownload stash.Pool stasher.Stash stasher.fetchModule goGetFetcher.Fetch module.downloadModule] request-id=d6e0f45a-0ec1-4b01-89ba-8e48653018e5 version=v2.0.0+incompatible
INFO[8:21PM]: incoming request http-method=GET http-path=/github.com/seaweedfs/goexif/@v/v2.0.0+incompatible.info http-status=404 request-id=d6e0f45a-0ec1-4b01-89ba-8e48653018e5
```

**To Reproduce**
Steps to reproduce the behavior:
Execute `go get github.com/seaweedfs/goexif@v2.0.0+incompatible` while you have your `GOPROXY` environment set to your Athens instance.

**Expected behavior**
For the Athens proxy to successfully fetch, store, and deliver the aforementioned module.

**Environment:**
- OS: Linux 64bit
- Go version: 1.26.7
- Proxy version: v0.18.1
- Storage (fs/mongodb/s3 etc.): disk

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with `go get github.com/seaweedfs/goexif@v2.0.0+incompatible` and `GOPROXY` pointed at Athens. Trace how the proxy handles `.info` requests for versions containing `+incompatible`, then verify that the module can be fetched, stored, and delivered successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.