GithubHelp home page GithubHelp logo

shpota / goxygen Goto Github PK

View Code? Open in Web Editor NEW
3.4K 3.4K 208.0 8.25 MB

Generate a modern Web project with Go and Angular, React, or Vue in seconds 🎲

License: Apache License 2.0

Go 41.25% Dockerfile 2.10% JavaScript 38.99% HTML 6.02% CSS 3.31% TypeScript 4.26% Vue 4.07%
angular go golang javascipt mongodb mysql nodejs postgresql react typescript vue

goxygen's Introduction

goxygen logo

Generate a Web project with Go and Angular, React or Vue.

Goxygen aims at saving your time while setting up a new project. It creates a skeleton of an application with all configuration done for you. You can start implementing your business logic straight away. Goxygen generates back end Go code, connects it with front end components, provides a Dockerfile for the application and creates docker-compose files for convenient run in development and production environments.

Supported Technologies
Front End Angular React Vue
Back End Go
Database MongoDB MySQL PostgreSQL

Requirements

You need to have Go 1.11 or newer on your machine.

How to use

Go 1.17 and later:

go run github.com/shpota/goxygen@latest init my-app
Older versions of Go

Go 1.16

Set the GO111MODULE environment variable to auto.

export GO111MODULE=auto

Run

go get -u github.com/shpota/goxygen
go run github.com/shpota/goxygen init my-app

Go 1.11 - 1.15

Run

go get -u github.com/shpota/goxygen
go run github.com/shpota/goxygen init my-app

This generates a project in my-app folder.

By default, it will use React and MongoDB. You can select a different front end framework and a database using --frontend and --db flags. For instance, this command will create a project with Vue and PostgreSQL:

go run github.com/shpota/goxygen@latest init --frontend vue --db postgres my-app

The --frontend flag accepts angular, react and vue. The --db flag accepts mongo, mysql and postgres.

The generated project is ready to run with docker-compose:

cd my-app
docker-compose up

After the build is completed, the application is accessible on http://localhost:8080.

You can find more details on how to work with the generated project in its README file.

Showcase

Structure of a generated project (React/MongoDB example)

my-app
β”œβ”€β”€ server                   # Go project files
β”‚   β”œβ”€β”€ db                   # MongoDB communications
β”‚   β”œβ”€β”€ model                # domain objects
β”‚   β”œβ”€β”€ web                  # REST APIs, web server
β”‚   β”œβ”€β”€ server.go            # the starting point of the server
β”‚   └── go.mod               # server dependencies
β”œβ”€β”€ webapp
β”‚   β”œβ”€β”€ public               # icons, static files, and index.html
β”‚   β”œβ”€β”€ src
β”‚   β”‚   β”œβ”€β”€ App.js           # the main React component
β”‚   β”‚   β”œβ”€β”€ App.css          # App component-specific styles
β”‚   β”‚   β”œβ”€β”€ index.js         # the entry point of the application
β”‚   β”‚   └── index.css        # global styles
β”‚   β”œβ”€β”€ package.json         # front end dependencies
β”‚   β”œβ”€β”€ .env.development     # holds API endpoint for dev environment
β”‚   └── .env.production      # API endpoint for prod environment
β”œβ”€β”€ Dockerfile               # builds back end and front end together
β”œβ”€β”€ docker-compose.yml       # prod environment deployment descriptor
β”œβ”€β”€ docker-compose-dev.yml   # runs local MongoDB for development needs
β”œβ”€β”€ init-db.js               # creates a MongoDB collection with test data
β”œβ”€β”€ .dockerignore            # specifies files ignored in Docker builds
β”œβ”€β”€ .gitignore
└── README.md                # guide on how to use the generated repo

Files such as unit tests or sample components are not included here for simplicity.

Dependencies

Goxygen generates a basic structure of a project and doesn't force you to use a specific set of tools. That's why it doesn't bring unneeded dependencies to your project. It uses only a database driver on the back end side and axios in React and Vue projects. Angular projects use only Angular specific libraries.

How to contribute

If you found a bug or have an idea on how to improve the project open an issue and we will fix it as soon as possible. You can also propose your changes via a Pull Request. Fork the repository, make changes, send us a pull request and we'll review it shortly. We also have a Gitter chat where we discuss all the changes.

Credits

Goxygen's logo was created by Egon Elbre.

goxygen's People

Contributors

arturddmoura avatar beckxie avatar buraksakalli avatar dolmen avatar douglas-ds avatar edsan89 avatar innashpota avatar jakob-em avatar kiwan97 avatar kkodiac avatar lzane avatar maksimov avatar nacimgoura avatar ofirrock avatar shpota avatar srgeneroso avatar tomato3713 avatar xtunqki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

goxygen's Issues

Integration tests that start a generated application in a container and ensure it accepts requests

At the moment, the project has integration tests that generate applications with different front end frameworks and ensure that they are "buildable" using the docker build command.

This however doesn't grantee that the generated application will run. For instance, if a database connection string is wrong or in case of any other issue.

It would be better if the integration tests would not only build the container but also start the application and query it via an HTTP call to ensure it started and serves requests.

One the high level it could be done in in three steps:

  1. Start the application using docker-compose up
  2. Wait until the application starts. Could be achieved using a container running wait-for-it.sh.
  3. Query the application using curl or in any other way. It could include an http call to the applications REST API as well as querying the front end.
  4. Shut down the application.

can only use path@version syntax with 'go get'

I am on go version 1.15.15. On running
go run github.com/shpota/goxygen@latest init --frontend vue --db mongo my-app

I am getting this error:
can only use path@version syntax with 'go get'

Support for Svelte

Having support for the 4th most used front-end library Svelte would be great, keep up the good work!

Build fails on Go 1.11

If a user runs Goxygen on Go 1.11 they have the following error:

# github.com/shpota/goxygen/codegen 
../go/src/github.com/shpota/goxygen/codegen/codegen.go:26:13: undefined: strings.ReplaceAll

Which is caused by the usage of the function strings.ReplaceAll which was introduced in Go 1.12. This call should be replaced with strings.Replace.

Support for ArangoDB

This project is a dream come true, but I would love to see it support other datastores like ArangoDB https://www.arangodb.com that provide a multimodel DB (documents, graph, key-value and search).

Here's the Go driver http://github.com/arangodb/go-driver, if there is a brave soul capable of implementing support for this, it would be awesome as it is definitely out of my league! πŸ™πŸ»

Could not import model

I apologize in advance for my ignorance as this might be something trivial, but I am completely new to golang.

I generated a project with angular and mysql, but get errors in db.go and app_test.go. The project name is "buk":

image

image

image

Idea for collaboration with Create Go App

Hi, @Shpota πŸ‘‹

I started similar project (on Dec 2019) called Create Go App (link). I already wrote some templates, configure Docker images and stable CLI for cgapp (for a short). But, unfortunately, I don't have time to bring it all to mind, because I'm hard working for improve and promo Go web framework β€” Fiber β€” at this moment.

I just dream about a tool, like you and I did! And I wanted to work with you together for it. For example, we can re-base your project to my organization and I give you all member (admin) rights.

Agree, this CLI is more like Create Go App, than goxygen, because does similar function like create-react-app πŸ˜‰

Please, think about it.

β€” Vic ShΓ³stak

Add more translations for README

If you speak any other language from the listed in the README and have the willingness to translate it to your language please do that.

The most recent version of the English version of README can be found here.

Run backend and frontend as separate services

At the moment both backend and frontend are running in the same container.

It would be great to have them separated. For example, docker-compose.yml would look like:

version: "3.8"
services:
  backend: 
    build: ./server
    depends_on:
    - db
    ports:
    - 8082:80
    environment:
      profile: prod
  
  frontend:
    build: 
      context: ./webapp
      args:
        profile: prod
        REACT_APP_API_URL: http://localhost:8082
    depends_on:
    - backend
    ports:
    - 8080:80
      
  db:
    image: mongo:6.0.3
    container_name: db
    environment:
      MONGO_INITDB_DATABASE: tech
    volumes:
      - ./init-db.js:/docker-entrypoint-initdb.d/init.js

Backend and frontend have their own Dockerfile and can be built and restarted independently.

error fetching technologies with docker compose up

I set up an app using vue and postgres, when loading 8080 with docker compose up, I get the following as it fails to fetch/show the technologies list

app | 2020/05/07 14:29:17 Error while fetching technologies: server selection error: server selection timeout, current topology: { Type: Unknown, Servers: [{ Addr: db:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: connection() : dial tcp 172.18.0.2:27017: connect: connection refused }, ] }

Vue template fails to build with "docker-compose up"

How to reproduce.

Navigate to cli/cli.go and change the 20th line from codegen.Generate(projectName, "react") to codegen.Generate(projectName, "vue").

From command line perform.

cd transform
go run transformer.go
cd ..
go run main.go init my-app
cd my-app
docker-compose up

AR: Execution fails with npm ERR! missing script: build:prod.

How to fix: Introduce an alias in the corresponding package.json.

Inconstant main page in different html templates

Vue and Angular templates offer the user to edit webapp/src/tech/Tech.js file on their main pages. This file is only present in React template.

Instead, they should point to an angular and vue-specific files correspondingly.

Postgres support?

Do you plan postgres support ? If you need help, can you document what shoud be done ?

Add support for different database systems

It would be cool if goxygen would support other databases than MongoDB. A good start would be to support SQL databases like MySql.
The user should then be able to choose during the generation which database he wants to use.

Error while docker-compose up

ran commands according to README.MD

here is error logs
Step 5/13 : FROM golang:1.14.0-alpine AS GO_BUILD
---> 51e47ee4db58
Step 6/13 : RUN apk update && apk add build-base
---> Using cache
---> f82200a727d1
Step 7/13 : COPY server /server
---> Using cache
---> dfc96e56b746
Step 8/13 : WORKDIR /server
---> Using cache
---> 1d7c15bd0807
Step 9/13 : RUN go build -o /go/bin/server
---> Running in b7e26291e622
runtime: mlock of signal stack failed: 12
runtime: increase the mlock limit (ulimit -l) or
runtime: update your kernel to 5.3.15+, 5.4.2+, or 5.5+
fatal error: mlock failed

runtime stack:
runtime.throw(0xa3b45e, 0xc)
/usr/local/go/src/runtime/panic.go:1112 +0x72
runtime.mlockGsignal(0xc000683c80)
/usr/local/go/src/runtime/os_linux_x86.go:72 +0x107
runtime.mpreinit(0xc000053880)
/usr/local/go/src/runtime/os_linux.go:341 +0x78
runtime.mcommoninit(0xc000053880)
/usr/local/go/src/runtime/proc.go:630 +0x108
runtime.allocm(0xc000042800, 0xa82468, 0x0)
/usr/local/go/src/runtime/proc.go:1390 +0x14e
runtime.newm(0xa82468, 0xc000042800)
/usr/local/go/src/runtime/proc.go:1704 +0x39
runtime.startm(0x0, 0xc000222001)
/usr/local/go/src/runtime/proc.go:1869 +0x12a
runtime.wakep(...)
/usr/local/go/src/runtime/proc.go:1953
runtime.resetspinning()
/usr/local/go/src/runtime/proc.go:2415 +0x93
runtime.schedule()
/usr/local/go/src/runtime/proc.go:2527 +0x2de
runtime.goexit0(0xc000682600)
/usr/local/go/src/runtime/proc.go:2849 +0x1d6
runtime.mcall(0x20000)
/usr/local/go/src/runtime/asm_amd64.s:318 +0x5b

goroutine 1 [syscall]:
syscall.Syscall6(0x101, 0xffffffffffffff9c, 0xc0003f8500, 0x80000, 0x0, 0x0, 0x0, 0x0, 0x43, 0x43)
/usr/local/go/src/syscall/asm_linux_amd64.s:41 +0x5
syscall.openat(0xffffffffffffff9c, 0xc0003f84b0, 0x43, 0x80000, 0x0, 0x0, 0xc0001e8478, 0x4fcb5f)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:68 +0xbb
syscall.Open(...)
/usr/local/go/src/syscall/syscall_linux.go:138
os.openFileNolog(0xc0003f84b0, 0x43, 0x0, 0xc000000000, 0x8a15a0, 0xc0001e8530, 0x2)
/usr/local/go/src/os/file_unix.go:200 +0x8f
os.OpenFile(0xc0003f84b0, 0x43, 0x0, 0xc000000000, 0xa, 0x0, 0x0)
/usr/local/go/src/os/file.go:307 +0x63
os.Open(...)
/usr/local/go/src/os/file.go:287
io/ioutil.ReadFile(0xc0003f84b0, 0x43, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/io/ioutil/ioutil.go:53 +0x77
cmd/go/internal/robustio.readFile(...)
/usr/local/go/src/cmd/go/internal/robustio/robustio_other.go:19
cmd/go/internal/robustio.ReadFile(0xc0003f84b0, 0x43, 0xc0002a81c6, 0x6, 0xa36306, 0x3, 0xc0003f84b0)
/usr/local/go/src/cmd/go/internal/robustio/robustio.go:30 +0x35
cmd/go/internal/renameio.ReadFile(...)
/usr/local/go/src/cmd/go/internal/renameio/renameio.go:79
cmd/go/internal/modfetch.readDiskCache(0xc0004868a0, 0x1a, 0xc0002a81c6, 0x6, 0xa36306, 0x3, 0x0, 0x0, 0xc000680000, 0x7fb82f9469b8, ...)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:505 +0x9c
cmd/go/internal/modfetch.readDiskGoMod(0xc0004868a0, 0x1a, 0xc0002a81c6, 0x6, 0xc0002a81c9, 0x1, 0xc0002a81cb, 0x1, 0x0, 0x0, ...)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:478 +0x7c
cmd/go/internal/modfetch.GoMod(0xc0004868a0, 0x1a, 0xc0002a81c6, 0x6, 0xc0002a81c9, 0x1, 0xc0002a81cb, 0x1, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:317 +0x93
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc0004868a0, 0x1a, 0xc0002a81c6, 0x6, 0x994fe0, 0xc000152b98, 0xc0001e8a90, 0xc000000180, 0xfd00000000203000)
/usr/local/go/src/cmd/go/internal/modload/load.go:1228 +0x396
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc0006b6360, 0xc0001e8bc0, 0x0, 0xc0004d63f7)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc0004868a0, 0x1a, 0xc0002a81c6, 0x6, 0xc0004d63f6, 0x6, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc0006b6580)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
cmd/go/internal/par.(*Work).Do(0xc0000d6280, 0xa, 0xc0000ba190)
/usr/local/go/src/cmd/go/internal/par/work.go:69 +0xbf
cmd/go/internal/mvs.buildList(0xc0000b1850, 0x6, 0x0, 0x0, 0xb39e40, 0xc0000aa930, 0x0, 0x6, 0xc0000b1869, 0x1, ...)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:145 +0x21d
cmd/go/internal/mvs.BuildList(...)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:120
cmd/go/internal/modload.(*loader).load(0xc0000b6420, 0xc0001e9728)
/usr/local/go/src/cmd/go/internal/modload/load.go:629 +0xca
cmd/go/internal/modload.ImportPathsQuiet(0xc0000b8030, 0x0, 0x0, 0xc0001d40f0, 0xc0001d1790, 0xc00005c7d0, 0x41648f)
/usr/local/go/src/cmd/go/internal/modload/load.go:204 +0x2df
cmd/go/internal/modload.ImportPaths(0xc0000b8030, 0x0, 0x0, 0x4170f6, 0x7fb808e21a00, 0x100)
/usr/local/go/src/cmd/go/internal/modload/load.go:58 +0x5d
cmd/go/internal/load.ImportPaths(0xc0000b8030, 0x0, 0x0, 0x17f, 0xc00005c858, 0x40d75c)
/usr/local/go/src/cmd/go/internal/load/pkg.go:2114 +0x5f
cmd/go/internal/load.PackagesAndErrors(0xc0000b8030, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/load/pkg.go:2061 +0xf1
cmd/go/internal/load.PackagesForBuild(0xc0000b8030, 0x0, 0x0, 0xa35d80, 0x2, 0x1)
/usr/local/go/src/cmd/go/internal/load/pkg.go:2123 +0x5d
cmd/go/internal/work.runBuild(0xebde00, 0xc0000b8030, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/work/build.go:348 +0x88
main.main()
/usr/local/go/src/cmd/go/main.go:189 +0x569

goroutine 19 [semacquire]:
sync.runtime_Semacquire(0xc0004401f8)
/usr/local/go/src/runtime/sema.go:56 +0x42
sync.(*WaitGroup).Wait(0xc0004401f0)
/usr/local/go/src/sync/waitgroup.go:130 +0x64
cmd/vendor/golang.org/x/mod/sumdb.(*tileReader).ReadTiles(0xc000204050, 0xc00070c200, 0x5, 0x8, 0x5, 0xc00070c200, 0x4, 0x8, 0x33627e73205d3e55)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/client.go:559 +0x1fc
cmd/vendor/golang.org/x/mod/sumdb/tlog.(*tileHashReader).ReadHashes(0xc00063e280, 0xc0004401c0, 0x1, 0x1, 0xc00012b016, 0x2, 0x472e01, 0x5a, 0x5)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/tlog/tile.go:369 +0xbae
cmd/vendor/golang.org/x/mod/sumdb.(*Client).checkRecord(0xc000204000, 0x2c81, 0xc00062ec06, 0xaf, 0x5fa, 0x0, 0x5fa)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/client.go:524 +0x1ba
cmd/vendor/golang.org/x/mod/sumdb.(*Client).Lookup.func2(0xc000204070, 0x97a4a0)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/client.go:304 +0x191
cmd/vendor/golang.org/x/mod/sumdb.(*parCache).Do(0xc000204070, 0x97a4a0, 0xc0004302f0, 0xc00012b2f8, 0x2b, 0xc000306340)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/cache.go:38 +0xf3
cmd/vendor/golang.org/x/mod/sumdb.(*Client).Lookup(0xc000204000, 0xc000544b60, 0x1c, 0xc00042e0c0, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/client.go:284 +0x3a1
cmd/go/internal/modfetch.lookupSumDB(0xc000544b60, 0x1c, 0xc00042e0c0, 0xd, 0xc00012b490, 0x1c46796, 0x1fa99735a32c37f5, 0x1f0000c00020018a, 0x0, 0xc00000c1e0, ...)
/usr/local/go/src/cmd/go/internal/modfetch/sumdb.go:48 +0xb3
cmd/go/internal/modfetch.checkSumDB(0xc000544b60, 0x1c, 0xc00042e0c0, 0xd, 0xc000308270, 0x2f, 0x0, 0xc00042e0c0)
/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:516 +0x6a
cmd/go/internal/modfetch.checkModSum(0xc000544b60, 0x1c, 0xc00042e0c0, 0xd, 0xc000308270, 0x2f, 0xd, 0xd)
/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:470 +0x1ae
cmd/go/internal/modfetch.checkGoMod(0xc000544b60, 0x1c, 0xc0004d63e6, 0x6, 0xc000390600, 0x99, 0x600, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/fetch.go:443 +0x245
cmd/go/internal/modfetch.(*cachingRepo).GoMod.func1(0xc000202060, 0x97a4a0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:225 +0x1e4
cmd/go/internal/par.(*Cache).Do(0xc000202060, 0x97a4a0, 0xc0004be1f0, 0xc0002597b8, 0x6, 0xc0004ae1a0)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.(*cachingRepo).GoMod(0xc000202050, 0xc0004d63e6, 0x6, 0x1c, 0xb3c860, 0xc000202050, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:216 +0xf2
cmd/go/internal/modfetch.GoMod.func2(0xa477d4, 0x18, 0x2, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:325 +0xaa
cmd/go/internal/modfetch.TryProxies(0xc00012b9c8, 0x1c, 0xc0004d63e6)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:171 +0x9e
cmd/go/internal/modfetch.GoMod(0xc000544b60, 0x1c, 0xc0004d63e6, 0x6, 0xc0004d63e9, 0x1, 0xc0004d63eb, 0x1, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:322 +0x145
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc000544b60, 0x1c, 0xc0004d63e6, 0x6, 0x994fe0, 0xc0001f02b8, 0xc00005dd00, 0x0, 0xb700000000203000)
/usr/local/go/src/cmd/go/internal/modload/load.go:1228 +0x396
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc0004aa040, 0xc00005de30, 0x415533, 0xc0000c6768)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc000544b60, 0x1c, 0xc0004d63e6, 0x6, 0xc00004a700, 0x4377c1, 0xa1a9e0, 0xc00002a120, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc0004c87e0)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b

goroutine 20 [runnable]:
cmd/vendor/golang.org/x/mod/modfile.(*input).parseStmt(0xc0001437e8, 0xc000143780)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/modfile/read.go:779 +0x511
cmd/vendor/golang.org/x/mod/modfile.(*input).parseFile(0xc0001437e8)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/modfile/read.go:770 +0x36e
cmd/vendor/golang.org/x/mod/modfile.parse(0xa375ff, 0x6, 0xc0004b1180, 0x378, 0x380, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/modfile/read.go:371 +0x15a
cmd/vendor/golang.org/x/mod/modfile.parseToFile(0xa375ff, 0x6, 0xc0004b1180, 0x378, 0x380, 0x0, 0x300, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/modfile/rule.go:115 +0x74
cmd/vendor/golang.org/x/mod/modfile.ParseLax(...)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/modfile/rule.go:111
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc000544a20, 0x1a, 0xc0004d6360, 0x6, 0x994fe0, 0xc000080e38, 0xc00012fd00, 0x0, 0x8900000000203000)
/usr/local/go/src/cmd/go/internal/modload/load.go:1232 +0x3ef
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc0004c8140, 0xc00012fe30, 0x415533, 0xc00033c598)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc000544a20, 0x1a, 0xc0004d6360, 0x6, 0xef3600, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc0004c8660)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b

goroutine 21 [runnable]:
syscall.Syscall(0x4a, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.Fsync(0xd, 0xc0001e5301, 0x4a5b5e)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:413 +0x40
internal/poll.(*FD).Fsync(0xc00002aa20, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_fsync_posix.go:17 +0x92
os.(*File).Sync(0xc000610110, 0xc000610110, 0xb2ca00)
/usr/local/go/src/os/file_posix.go:113 +0x4c
cmd/go/internal/renameio.WriteToFile(0xc000420980, 0x3c, 0xb2ca00, 0xc0001c8de0, 0x1b6, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/renameio/renameio.go:59 +0x173
cmd/go/internal/renameio.WriteFile(...)
/usr/local/go/src/cmd/go/internal/renameio/renameio.go:33
cmd/go/internal/modfetch.rewriteVersionList(0xc0007246c0, 0x37)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:604 +0x612
cmd/go/internal/modfetch.writeDiskCache(0xc0007246c0, 0x5e, 0xc0001de600, 0x21, 0x600, 0x21, 0x600)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:547 +0x177
cmd/go/internal/modfetch.writeDiskGoMod(...)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:528
cmd/go/internal/modfetch.(*cachingRepo).GoMod.func1(0xc0004f8240, 0x97a4a0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:228 +0x233
cmd/go/internal/par.(*Cache).Do(0xc0004f8240, 0x97a4a0, 0xc0004be4e0, 0xc0001e57b8, 0x22, 0xc000720270)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.(*cachingRepo).GoMod(0xc0004f8230, 0xc0006fe330, 0x22, 0x19, 0xb3c860, 0xc0004f8230, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:216 +0xf2
cmd/go/internal/modfetch.GoMod.func2(0xa477d4, 0x18, 0x2, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:325 +0xaa
cmd/go/internal/modfetch.TryProxies(0xc0001e59c8, 0x19, 0xc0006fe330)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:171 +0x9e
cmd/go/internal/modfetch.GoMod(0xc000544c20, 0x19, 0xc0006fe330, 0x22, 0xc0006fe333, 0x1, 0xc0006fe335, 0x1, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:322 +0x145
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc000544c20, 0x19, 0xc0006fe330, 0x22, 0x994fe0, 0xc000152b78, 0xc0001e5d00, 0x0, 0xaf0000c0004aa040)
/usr/local/go/src/cmd/go/internal/modload/load.go:1228 +0x396
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc0004aa420, 0xc0001e5e30, 0x415533, 0xc00033c298)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc000544c20, 0x19, 0xc0006fe330, 0x22, 0xef3600, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc0004c88c0)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b

goroutine 22 [runnable]:
path/filepath.Clean(0xc0001a2540, 0x37, 0x2, 0xa35d36)
/usr/local/go/src/path/filepath/path.go:88 +0xc4d
path/filepath.join(0xc00022b560, 0x2, 0x2, 0x2, 0x0)
/usr/local/go/src/path/filepath/path_unix.go:45 +0xbf
path/filepath.Join(...)
/usr/local/go/src/path/filepath/path.go:212
cmd/go/internal/modfetch.rewriteVersionList(0xc00008e8a0, 0x32)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:559 +0x110
cmd/go/internal/modfetch.writeDiskCache(0xc00008e8a0, 0x59, 0xc00072b800, 0x1c, 0x600, 0x1c, 0x600)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:547 +0x177
cmd/go/internal/modfetch.writeDiskGoMod(...)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:528
cmd/go/internal/modfetch.(*cachingRepo).GoMod.func1(0xc000100100, 0x97a4a0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:228 +0x233
cmd/go/internal/par.(*Cache).Do(0xc000100100, 0x97a4a0, 0xc00048a3f0, 0xc00038f7b8, 0x22, 0xc00078c2a0)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.(*cachingRepo).GoMod(0xc0001000f0, 0xc0006fe300, 0x22, 0x14, 0xb3c860, 0xc0001000f0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:216 +0xf2
cmd/go/internal/modfetch.GoMod.func2(0xa477d4, 0x18, 0x2, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:325 +0xaa
cmd/go/internal/modfetch.TryProxies(0xc00022b9c8, 0x14, 0xc0006fe300)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:171 +0x9e
cmd/go/internal/modfetch.GoMod(0xc000544c00, 0x14, 0xc0006fe300, 0x22, 0xc0006fe303, 0x1, 0xc0006fe305, 0x1, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:322 +0x145
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc000544c00, 0x14, 0xc0006fe300, 0x22, 0x994fe0, 0xc000152b68, 0xc00038fd00, 0xc000152b60, 0x4b00000000203000)
/usr/local/go/src/cmd/go/internal/modload/load.go:1228 +0x396
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc0004805e0, 0xc00038fe30, 0xc0000c4fa0, 0x2)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc000544c00, 0x14, 0xc0006fe300, 0x22, 0xc000424300, 0x2, 0x2, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc0004c88a0)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b

goroutine 23 [select]:
net/http.(*http2ClientConn).roundTrip(0xc000001e00, 0xc000540600, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:7596 +0x977
net/http.(*http2Transport).RoundTripOpt(0xc0000b6480, 0xc000540600, 0x9a1500, 0xc0001d4660, 0xc0002fe960, 0x5)
/usr/local/go/src/net/http/h2_bundle.go:6948 +0x16f
net/http.(*http2Transport).RoundTrip(...)
/usr/local/go/src/net/http/h2_bundle.go:6909
net/http.http2noDialH2RoundTripper.RoundTrip(0xc0000b6480, 0xc000540600, 0xb2e0c0, 0xc0000b6480, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:9103 +0x3e
net/http.(*Transport).roundTrip(0xebede0, 0xc000540600, 0x0, 0xc000126eb8, 0x40e4c8)
/usr/local/go/src/net/http/transport.go:515 +0xd94
net/http.(*Transport).RoundTrip(0xebede0, 0xc000540600, 0xebede0, 0x0, 0x0)
/usr/local/go/src/net/http/roundtrip.go:17 +0x35
net/http.send(0xc000540600, 0xb2d3e0, 0xebede0, 0x0, 0x0, 0x0, 0xc0000b41b0, 0x203000, 0x1, 0x0)
/usr/local/go/src/net/http/client.go:252 +0x43e
net/http.(*Client).send(0xeb6500, 0xc000540600, 0x0, 0x0, 0x0, 0xc0000b41b0, 0x0, 0x1, 0xc000540600)
/usr/local/go/src/net/http/client.go:176 +0xfa
net/http.(*Client).do(0xeb6500, 0xc000540600, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/client.go:699 +0x44a
net/http.(*Client).Do(...)
/usr/local/go/src/net/http/client.go:567
cmd/go/internal/web.get.func1(0xc000296900, 0xc000296900, 0x0, 0x0, 0x97a6e0)
/usr/local/go/src/cmd/go/internal/web/http.go:96 +0x115
cmd/go/internal/web.get(0x1, 0xc0001274b8, 0x2, 0xc000484c40, 0x3b)
/usr/local/go/src/cmd/go/internal/web/http.go:111 +0x19a
cmd/go/internal/web.Get(...)
/usr/local/go/src/cmd/go/internal/web/api.go:183
cmd/go/internal/modfetch.(*proxyRepo).getBody(0xc0004c8a00, 0xc0002b3e30, 0x29, 0xc0001275a0, 0x44f7e7, 0x0, 0xc0001275b8)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:266 +0x17d
cmd/go/internal/modfetch.(*proxyRepo).getBytes(0xc0004c8a00, 0xc0002b3e30, 0x29, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:251 +0x6f
cmd/go/internal/modfetch.(*proxyRepo).GoMod(0xc0004c8a00, 0xc00078c4b0, 0x22, 0x22, 0xc0002fe8a0, 0x55, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:400 +0x19e
cmd/go/internal/modfetch.(*cachingRepo).GoMod.func1(0xc00034c0b0, 0x97a4a0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:223 +0xd2
cmd/go/internal/par.(*Cache).Do(0xc00034c0b0, 0x97a4a0, 0xc00045e5c0, 0xc0001277b8, 0x22, 0xc0002b3b90)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.(*cachingRepo).GoMod(0xc00034c0a0, 0xc00078c4b0, 0x22, 0x10, 0xb3c860, 0xc00034c0a0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:216 +0xf2
cmd/go/internal/modfetch.GoMod.func2(0xa477d4, 0x18, 0x2, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:325 +0xaa
cmd/go/internal/modfetch.TryProxies(0xc0001279c8, 0x10, 0xc00078c4b0)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:171 +0x9e
cmd/go/internal/modfetch.GoMod(0xc000402300, 0x10, 0xc00078c4b0, 0x22, 0xc00078c4b3, 0x1, 0xc00078c4b5, 0x1, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:322 +0x145
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc000402300, 0x10, 0xc00078c4b0, 0x22, 0x994fe0, 0xc000080f18, 0xc000127d00, 0x0, 0xab00000000203000)
/usr/local/go/src/cmd/go/internal/modload/load.go:1228 +0x396
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc0004c8be0, 0xc000127e30, 0x0, 0xc0006fe3c1)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc000402300, 0x10, 0xc00078c4b0, 0x22, 0xc0006fe3c0, 0x22, 0x7, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc000480900)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b

goroutine 24 [runnable]:
syscall.Syscall(0x4a, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.Fsync(0xc, 0xc000133301, 0x4a5b5e)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:413 +0x40
internal/poll.(*FD).Fsync(0xc0007a65a0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_fsync_posix.go:17 +0x92
os.(*File).Sync(0xc0005780e0, 0xc0005780e0, 0xb2ca00)
/usr/local/go/src/os/file_posix.go:113 +0x4c
cmd/go/internal/renameio.WriteToFile(0xc00028e780, 0x3e, 0xb2ca00, 0xc0001369c0, 0x1b6, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/renameio/renameio.go:59 +0x173
cmd/go/internal/renameio.WriteFile(...)
/usr/local/go/src/cmd/go/internal/renameio/renameio.go:33
cmd/go/internal/modfetch.rewriteVersionList(0xc0003f85f0, 0x39)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:604 +0x612
cmd/go/internal/modfetch.writeDiskCache(0xc0003f85f0, 0x44, 0xc000151200, 0x9a, 0x600, 0x9a, 0x600)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:547 +0x177
cmd/go/internal/modfetch.writeDiskGoMod(...)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:528
cmd/go/internal/modfetch.(*cachingRepo).GoMod.func1(0xc000336100, 0x97a4a0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:228 +0x233
cmd/go/internal/par.(*Cache).Do(0xc000336100, 0x97a4a0, 0xc000446280, 0xc0001337b8, 0x6, 0xc0004ae130)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.(*cachingRepo).GoMod(0xc0003360f0, 0xc0004d6410, 0x6, 0x1b, 0xb3c860, 0xc0003360f0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:216 +0xf2
cmd/go/internal/modfetch.GoMod.func2(0xa477d4, 0x18, 0x2, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:325 +0xaa
cmd/go/internal/modfetch.TryProxies(0xc0001339c8, 0x1b, 0xc0004d6410)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:171 +0x9e
cmd/go/internal/modfetch.GoMod(0xc000544bc0, 0x1b, 0xc0004d6410, 0x6, 0xc0004d6413, 0x1, 0xc0004d6415, 0x1, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:322 +0x145
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc000544bc0, 0x1b, 0xc0004d6410, 0x6, 0x994fe0, 0xc000080fa8, 0xc000133d00, 0x0, 0x9e00000000203000)
/usr/local/go/src/cmd/go/internal/modload/load.go:1228 +0x396
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc00048c2c0, 0xc000133e30, 0x415533, 0xc00033c188)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc000544bc0, 0x1b, 0xc0004d6410, 0x6, 0xef3600, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc0004c8860)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b

goroutine 25 [runnable]:
syscall.Syscall(0x4a, 0x13, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.Fsync(0x13, 0xc0007a5501, 0x4a5b5e)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:413 +0x40
internal/poll.(*FD).Fsync(0xc000240300, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_fsync_posix.go:17 +0x92
os.(*File).Sync(0xc00071c090, 0xc00071c090, 0xb2ca00)
/usr/local/go/src/os/file_posix.go:113 +0x4c
cmd/go/internal/renameio.WriteToFile(0xc0001a2740, 0x3e, 0xb2ca00, 0xc0003267e0, 0x1b6, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/renameio/renameio.go:59 +0x173
cmd/go/internal/renameio.WriteFile(...)
/usr/local/go/src/cmd/go/internal/renameio/renameio.go:33
cmd/go/internal/modfetch.writeDiskCache(0xc0001a2740, 0x3e, 0xc0002e2600, 0x1d, 0x600, 0x1d, 0x600)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:542 +0xf2
cmd/go/internal/modfetch.writeDiskGoMod(...)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:528
cmd/go/internal/modfetch.(*cachingRepo).GoMod.func1(0xc0000ba100, 0x97a4a0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:228 +0x233
cmd/go/internal/par.(*Cache).Do(0xc0000ba100, 0x97a4a0, 0xc000476390, 0xc0007a57b8, 0x6, 0xc0002a81f0)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.(*cachingRepo).GoMod(0xc0000ba0f0, 0xc0004d63f0, 0x6, 0x15, 0xb3c860, 0xc0000ba0f0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:216 +0xf2
cmd/go/internal/modfetch.GoMod.func2(0xa477d4, 0x18, 0x2, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:325 +0xaa
cmd/go/internal/modfetch.TryProxies(0xc0007a59c8, 0x15, 0xc0004d63f0)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:171 +0x9e
cmd/go/internal/modfetch.GoMod(0xc000544b80, 0x15, 0xc0004d63f0, 0x6, 0xc0004d63f3, 0x1, 0xc0004d63f5, 0x1, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:322 +0x145
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc000544b80, 0x15, 0xc0004d63f0, 0x6, 0x994fe0, 0xc000080fb8, 0xc0007a5d00, 0x0, 0xff00000000203000)
/usr/local/go/src/cmd/go/internal/modload/load.go:1228 +0x396
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc0006b6620, 0xc0007a5e30, 0x415533, 0xc00033c578)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc000544b80, 0x15, 0xc0004d63f0, 0x6, 0xc00000c300, 0xf, 0xf, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc0004c8820)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b

goroutine 26 [runnable]:
os.newFile(0xa, 0xc0002e74f0, 0x41, 0x1, 0xc0000001b6)
/usr/local/go/src/os/file_unix.go:113 +0x6c
os.openFileNolog(0xc0002e74f0, 0x41, 0x42, 0x1b6, 0x10, 0xc0004ea8d0, 0xc00038b390)
/usr/local/go/src/os/file_unix.go:226 +0x18d
os.OpenFile(0xc0002e74f0, 0x41, 0x42, 0x1b6, 0x41, 0xc00038b428, 0xc00038b3c8)
/usr/local/go/src/os/file.go:307 +0x63
cmd/go/internal/lockedfile.openFile(0xc0002e74f0, 0x41, 0x42, 0x1b6, 0x5, 0xc000198e00, 0x7fb82f9447d0)
/usr/local/go/src/cmd/go/internal/lockedfile/lockedfile_filelock.go:21 +0x56
cmd/go/internal/lockedfile.OpenFile(0xc0002e74f0, 0x41, 0x42, 0x1b6, 0x20, 0x9c62c0, 0xc0002e7401)
/usr/local/go/src/cmd/go/internal/lockedfile/lockedfile.go:43 +0x65
cmd/go/internal/lockedfile.(*Mutex).Lock(0xc00045c5e0, 0xc00045c5e0, 0x3c, 0xa36b26)
/usr/local/go/src/cmd/go/internal/lockedfile/mutex.go:57 +0x55
cmd/go/internal/modfetch.rewriteVersionList(0xc0006905a0, 0x37)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:566 +0x1b2
cmd/go/internal/modfetch.writeDiskCache(0xc0006905a0, 0x42, 0xc000532600, 0xca, 0x600, 0xca, 0x600)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:547 +0x177
cmd/go/internal/modfetch.writeDiskGoMod(...)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:528
cmd/go/internal/modfetch.(*cachingRepo).GoMod.func1(0xc000100150, 0x97a4a0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:228 +0x233
cmd/go/internal/par.(*Cache).Do(0xc000100150, 0x97a4a0, 0xc00048a5e0, 0xc00038b7b8, 0x6, 0xc000402320)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.(*cachingRepo).GoMod(0xc000100140, 0xc0002a8180, 0x6, 0x19, 0xb3c860, 0xc000100140, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:216 +0xf2
cmd/go/internal/modfetch.GoMod.func2(0xa477d4, 0x18, 0x2, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:325 +0xaa
cmd/go/internal/modfetch.TryProxies(0xc00038b9c8, 0x19, 0xc0002a8180)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:171 +0x9e
cmd/go/internal/modfetch.GoMod(0xc000486560, 0x19, 0xc0002a8180, 0x6, 0xc0002a8183, 0x1, 0xc0002a8185, 0x1, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:322 +0x145
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc000486560, 0x19, 0xc0002a8180, 0x6, 0x994fe0, 0xc000152b88, 0xc00038bd00, 0x0, 0x6400000000203000)
/usr/local/go/src/cmd/go/internal/modload/load.go:1228 +0x396
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc000480920, 0xc00038be30, 0x415533, 0xc00033c2b8)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc000486560, 0x19, 0xc0002a8180, 0x6, 0xc000424400, 0x2, 0x2, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc0006b6440)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b

goroutine 27 [runnable]:
os.newFile(0x9, 0xc0001eeaf0, 0x43, 0x1, 0xc0000001b6)
/usr/local/go/src/os/file_unix.go:113 +0x52
os.openFileNolog(0xc0001eeaf0, 0x43, 0x42, 0x1b6, 0x10, 0xc0004309c0, 0xc0007a1390)
/usr/local/go/src/os/file_unix.go:226 +0x18d
os.OpenFile(0xc0001eeaf0, 0x43, 0x42, 0x1b6, 0x43, 0xc0007a1428, 0xc0007a13c8)
/usr/local/go/src/os/file.go:307 +0x63
cmd/go/internal/lockedfile.openFile(0xc0001eeaf0, 0x43, 0x42, 0x1b6, 0x5, 0xc000198700, 0x7fb82f944108)
/usr/local/go/src/cmd/go/internal/lockedfile/lockedfile_filelock.go:21 +0x56
cmd/go/internal/lockedfile.OpenFile(0xc0001eeaf0, 0x43, 0x42, 0x1b6, 0x20, 0x9c62c0, 0xc0001eea01)
/usr/local/go/src/cmd/go/internal/lockedfile/lockedfile.go:43 +0x65
cmd/go/internal/lockedfile.(*Mutex).Lock(0xc00048c760, 0xc00048c760, 0x3e, 0xa36b26)
/usr/local/go/src/cmd/go/internal/lockedfile/mutex.go:57 +0x55
cmd/go/internal/modfetch.rewriteVersionList(0xc0006b06e0, 0x39)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:566 +0x1b2
cmd/go/internal/modfetch.writeDiskCache(0xc0006b06e0, 0x44, 0xc00072b200, 0x62, 0x600, 0x62, 0x600)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:547 +0x177
cmd/go/internal/modfetch.writeDiskGoMod(...)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:528
cmd/go/internal/modfetch.(*cachingRepo).GoMod.func1(0xc0003cc060, 0x97a4a0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:228 +0x233
cmd/go/internal/par.(*Cache).Do(0xc0003cc060, 0x97a4a0, 0xc0004d4130, 0xc0007a17b8, 0x6, 0xc00042e260)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modfetch.(*cachingRepo).GoMod(0xc0003cc050, 0xc0004d63c0, 0x6, 0x1b, 0xb3c860, 0xc0003cc050, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:216 +0xf2
cmd/go/internal/modfetch.GoMod.func2(0xa477d4, 0x18, 0x2, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:325 +0xaa
cmd/go/internal/modfetch.TryProxies(0xc0007a19c8, 0x1b, 0xc0004d63c0)
/usr/local/go/src/cmd/go/internal/modfetch/proxy.go:171 +0x9e
cmd/go/internal/modfetch.GoMod(0xc000544ae0, 0x1b, 0xc0004d63c0, 0x6, 0xc0004d63c3, 0x1, 0xc0004d63c5, 0x1, 0x0)
/usr/local/go/src/cmd/go/internal/modfetch/cache.go:322 +0x145
cmd/go/internal/modload.(*mvsReqs).required(0xc0000aa930, 0xc000544ae0, 0x1b, 0xc0004d63c0, 0x6, 0x994fe0, 0xc000080e28, 0xc0007a1d00, 0x0, 0x1300000000203000)
/usr/local/go/src/cmd/go/internal/modload/load.go:1228 +0x396
cmd/go/internal/modload.(*mvsReqs).Required.func1(0xc0000aa948, 0x9d7ae0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1036 +0x73
cmd/go/internal/par.(*Cache).Do(0xc0000aa948, 0x9d7ae0, 0xc0004d0240, 0xc0007a1e30, 0x415533, 0xc00033c1a8)
/usr/local/go/src/cmd/go/internal/par/work.go:128 +0xf3
cmd/go/internal/modload.(*mvsReqs).Required(0xc0000aa930, 0xc000544ae0, 0x1b, 0xc0004d63c0, 0x6, 0xc0004d0200, 0x1, 0x1, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/modload/load.go:1035 +0x10f
cmd/go/internal/mvs.buildList.func2(0x9d7ae0, 0xc0004c8760)
/usr/local/go/src/cmd/go/internal/mvs/mvs.go:156 +0x2c1
cmd/go/internal/par.(*Work).runner(0xc0000d6280)
/usr/local/go/src/cmd/go/internal/par/work.go:101 +0x157
created by cmd/go/internal/par.(*Work).Do
/usr/local/go/src/cmd/go/internal/par/work.go:67 +0x9b

goroutine 8 [IO wait]:
internal/poll.runtime_pollWait(0x7fb808c57098, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc0000d6898, 0x72, 0x2100, 0x2116, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0000d6880, 0xc0002ce000, 0x2116, 0x2116, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc0000d6880, 0xc0002ce000, 0x2116, 0x2116, 0x203000, 0x6a3250, 0xc0002b6138)
/usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00029e010, 0xc0002ce000, 0x2116, 0x2116, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:184 +0x8e
crypto/tls.(*atLeastReader).Read(0xc00048c3e0, 0xc0002ce000, 0x2116, 0x2116, 0x392, 0x1efd, 0xc00005c9c8)
/usr/local/go/src/crypto/tls/conn.go:760 +0x60
bytes.(*Buffer).ReadFrom(0xc0002b6258, 0xb2cec0, 0xc00048c3e0, 0x40bba5, 0x9ac8e0, 0xa1c540)
/usr/local/go/src/bytes/buffer.go:204 +0xb1
crypto/tls.(*Conn).readFromUntil(0xc0002b6000, 0xb2d360, 0xc00029e010, 0x5, 0xc00029e010, 0x8)
/usr/local/go/src/crypto/tls/conn.go:782 +0xec
crypto/tls.(*Conn).readRecordOrCCS(0xc0002b6000, 0x0, 0x0, 0xc00005cd38)
/usr/local/go/src/crypto/tls/conn.go:589 +0x115
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:557
crypto/tls.(*Conn).Read(0xc0002b6000, 0xc0001cb000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/crypto/tls/conn.go:1233 +0x15b
bufio.(*Reader).Read(0xc00002b740, 0xc0000db0d8, 0x9, 0x9, 0xc00005cd38, 0xa82500, 0x7392b5)
/usr/local/go/src/bufio/bufio.go:226 +0x24f
io.ReadAtLeast(0xb2c980, 0xc00002b740, 0xc0000db0d8, 0x9, 0x9, 0x9, 0xc000098050, 0x0, 0xb2d120)
/usr/local/go/src/io/io.go:310 +0x87
io.ReadFull(...)
/usr/local/go/src/io/io.go:329
net/http.http2readFrameHeader(0xc0000db0d8, 0x9, 0x9, 0xb2c980, 0xc00002b740, 0x0, 0x0, 0xc0001362d0, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:1479 +0x87
net/http.(*http2Framer).ReadFrame(0xc0000db0a0, 0xc0001362d0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:1737 +0xa1
net/http.(*http2clientConnReadLoop).run(0xc00005cfa8, 0x0, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:8246 +0x8d
net/http.(*http2ClientConn).readLoop(0xc000001e00)
/usr/local/go/src/net/http/h2_bundle.go:8174 +0x6f
created by net/http.(*http2Transport).newClientConn
/usr/local/go/src/net/http/h2_bundle.go:7174 +0x64a

goroutine 154 [select]:
net/http.(*http2ClientConn).roundTrip(0xc000602a80, 0xc000628400, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:7596 +0x977
net/http.(*http2Transport).RoundTripOpt(0xc0000b6480, 0xc000628400, 0x9a1500, 0xc0001d4660, 0xc0006145c0, 0x5)
/usr/local/go/src/net/http/h2_bundle.go:6948 +0x16f
net/http.(*http2Transport).RoundTrip(...)
/usr/local/go/src/net/http/h2_bundle.go:6909
net/http.http2noDialH2RoundTripper.RoundTrip(0xc0000b6480, 0xc000628400, 0xb2e0c0, 0xc0000b6480, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:9103 +0x3e
net/http.(*Transport).roundTrip(0xebede0, 0xc000628400, 0x0, 0xc000284638, 0x40e4c8)
/usr/local/go/src/net/http/transport.go:515 +0xd94
net/http.(*Transport).RoundTrip(0xebede0, 0xc000628400, 0xebede0, 0x0, 0x0)
/usr/local/go/src/net/http/roundtrip.go:17 +0x35
net/http.send(0xc000628400, 0xb2d3e0, 0xebede0, 0x0, 0x0, 0x0, 0xc0006100a8, 0x203000, 0x1, 0x0)
/usr/local/go/src/net/http/client.go:252 +0x43e
net/http.(*Client).send(0xeb6500, 0xc000628400, 0x0, 0x0, 0x0, 0xc0006100a8, 0x0, 0x1, 0xc000628400)
/usr/local/go/src/net/http/client.go:176 +0xfa
net/http.(*Client).do(0xeb6500, 0xc000628400, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/client.go:699 +0x44a
net/http.(*Client).Do(...)
/usr/local/go/src/net/http/client.go:567
cmd/go/internal/web.get.func1(0xc000622700, 0xc000622700, 0x0, 0x0, 0x40dc56)
/usr/local/go/src/cmd/go/internal/web/http.go:96 +0x115
cmd/go/internal/web.get(0x1, 0xc000622680, 0x76cd34, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/web/http.go:111 +0x19a
cmd/go/internal/web.Get(...)
/usr/local/go/src/cmd/go/internal/web/api.go:183
cmd/go/internal/web.GetBytes(0xc000622680, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/go/internal/web/api.go:82 +0x79
cmd/go/internal/modfetch.(*dbClient).ReadRemote(0xc000202000, 0xc000440250, 0xd, 0xc000440240, 0xc, 0xc000440250, 0xd, 0xc000620660)
/usr/local/go/src/cmd/go/internal/modfetch/sumdb.go:131 +0xba
cmd/vendor/golang.org/x/mod/sumdb.(*Client).readTile.func1(0xc000204098, 0x9f6860)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/client.go:609 +0x1e0
cmd/vendor/golang.org/x/mod/sumdb.(*parCache).Do(0xc000204098, 0x9f6860, 0xc0004869a0, 0xc000268ec0, 0x0, 0x0)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/cache.go:38 +0xf3
cmd/vendor/golang.org/x/mod/sumdb.(*Client).readTile(0xc000204000, 0x8, 0x0, 0x2c, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/client.go:587 +0x111
cmd/vendor/golang.org/x/mod/sumdb.(*tileReader).ReadTiles.func1(0xc0004401f0, 0xc000204050, 0xc000622600, 0x5, 0x5, 0xc0006240f0, 0x5, 0x5, 0x4, 0x8, ...)
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/client.go:556 +0x91
created by cmd/vendor/golang.org/x/mod/sumdb.(*tileReader).ReadTiles
/usr/local/go/src/cmd/vendor/golang.org/x/mod/sumdb/client.go:554 +0x1d2

goroutine 100 [IO wait]:
internal/poll.runtime_pollWait(0x7fb808c56ed8, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:203 +0x55
internal/poll.(*pollDesc).wait(0xc000256198, 0x72, 0x2100, 0x2116, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000256180, 0xc000014500, 0x2116, 0x2116, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:169 +0x19b
net.(*netFD).Read(0xc000256180, 0xc000014500, 0x2116, 0x2116, 0x203000, 0xb17df639be204daf, 0x1000000751cf512)
/usr/local/go/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00029e020, 0xc000014500, 0x2116, 0x2116, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:184 +0x8e
crypto/tls.(*atLeastReader).Read(0xc0004643c0, 0xc000014500, 0x2116, 0x2116, 0xc0000639b0, 0x4c7ea2, 0xc0000639c8)
/usr/local/go/src/crypto/tls/conn.go:760 +0x60
bytes.(*Buffer).ReadFrom(0xc000199758, 0xb2cec0, 0xc0004643c0, 0x40bba5, 0x9ac8e0, 0xa1c540)
/usr/local/go/src/bytes/buffer.go:204 +0xb1
crypto/tls.(*Conn).readFromUntil(0xc000199500, 0xb2d360, 0xc00029e020, 0x5, 0xc00029e020, 0x27)
/usr/local/go/src/crypto/tls/conn.go:782 +0xec
crypto/tls.(*Conn).readRecordOrCCS(0xc000199500, 0x0, 0x0, 0xc000199820)
/usr/local/go/src/crypto/tls/conn.go:589 +0x115
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:557
crypto/tls.(*Conn).Read(0xc000199500, 0xc00010e000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/crypto/tls/conn.go:1233 +0x15b
bufio.(*Reader).Read(0xc0002989c0, 0xc00053e578, 0x9, 0x9, 0x0, 0xc000063d20, 0x7675c4)
/usr/local/go/src/bufio/bufio.go:226 +0x24f
io.ReadAtLeast(0xb2c980, 0xc0002989c0, 0xc00053e578, 0x9, 0x9, 0x9, 0xc0006b7e80, 0xc0006f1000, 0x11)
/usr/local/go/src/io/io.go:310 +0x87
io.ReadFull(...)
/usr/local/go/src/io/io.go:329
net/http.http2readFrameHeader(0xc00053e578, 0x9, 0x9, 0xb2c980, 0xc0002989c0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:1479 +0x87
net/http.(*http2Framer).ReadFrame(0xc00053e540, 0xc000486b60, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:1737 +0xa1
net/http.(*http2clientConnReadLoop).run(0xc000063fa8, 0x1, 0x0)
/usr/local/go/src/net/http/h2_bundle.go:8246 +0x8d
net/http.(*http2ClientConn).readLoop(0xc000602a80)
/usr/local/go/src/net/http/h2_bundle.go:8174 +0x6f
created by net/http.(*http2Transport).newClientConn
/usr/local/go/src/net/http/h2_bundle.go:7174 +0x64a
ERROR: Service 'app' failed to build: The command '/bin/sh -c go build -o /go/bin/server' returned a non-zero code: 2

static/generated.go is outdated

static/generated.go has not been updated after templates updates.

Here is how to reproduce:

$ cd transform
$ go run .
$ git diff ../static

[Feature Request] Persistent DB

Please consider putting the db storage folder into docker volumes so as to persistent data between different runs.

Thanks

Feature request: Api proxy template

It would be nice to have such template that could allow to serve static files and proxy requests to external backend service on some path (e.g /api)

Use project name in templates

The input of the init command (project name) should be used in templates as well ass in package names in the generated project.

go run github.com/shpota/goxygen init my-dream-app

In this example, my-dream-app should be reflected in the code.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.