pygmystack / pygmy

the pygmy stack is a container stack for local development
MIT License
25 stars 13 forks source link

Graceful failure when docker registry is not available #154

Closed fubarhouse closed 4 years ago

fubarhouse commented 4 years ago
 go run main.go up
Using config file: /Users/karl/.pygmy.yml
Error response from daemon: Get https://registry-1.docker.io/v2/: Service Unavailable
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x110f216]

goroutine 1 [running]:
encoding/json.(*Decoder).refill(0xc00052d4a0, 0xc000010498, 0x1579ae0)
        /Users/karl/goroot/src/encoding/json/stream.go:161 +0xb6
encoding/json.(*Decoder).readValue(0xc00052d4a0, 0x0, 0x0, 0x14b90c0)
        /Users/karl/goroot/src/encoding/json/stream.go:136 +0x1dc
encoding/json.(*Decoder).Decode(0xc00052d4a0, 0x14af9c0, 0xc000010498, 0x0, 0x0)
        /Users/karl/goroot/src/encoding/json/stream.go:63 +0x79
github.com/fubarhouse/pygmy-go/service/interface.DockerPull(0xc000326360, 0x16, 0xc000326360, 0x16)
        /Users/karl/Projects/pygmy-go/service/interface/interface.go:410 +0x294
github.com/fubarhouse/pygmy-go/service/interface.(*Service).Setup(0xc0000f4500, 0x16, 0xc0005323e0)
        /Users/karl/Projects/pygmy-go/service/interface/interface.go:71 +0x1a6
github.com/fubarhouse/pygmy-go/service/interface.DockerRun(0xc0000f4500, 0x1590200, 0x0, 0x0, 0x0, 0x1669060)
        /Users/karl/Projects/pygmy-go/service/interface/interface.go:461 +0xa2a
github.com/fubarhouse/pygmy-go/service/interface.(*Service).Start(0xc0000f4500, 0x158fbd8, 0x6, 0x0, 0x1669060, 0xc0002a0f20)
        /Users/karl/Projects/pygmy-go/service/interface/interface.go:113 +0x198
github.com/fubarhouse/pygmy-go/service/library.Up(0xc000344220, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /Users/karl/Projects/pygmy-go/service/library/up.go:56 +0x14b4
github.com/fubarhouse/pygmy-go/cmd.glob..func7(0x19b3360, 0x19d8ac8, 0x0, 0x0)
        /Users/karl/Projects/pygmy-go/cmd/up.go:62 +0x137
github.com/spf13/cobra.(*Command).execute(0x19b3360, 0x19d8ac8, 0x0, 0x0, 0x19b3360, 0x19d8ac8)
        /Users/karl/gopath/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:830 +0x2aa
github.com/spf13/cobra.(*Command).ExecuteC(0x19b2e60, 0x103ce9a, 0x1978c20, 0xc000000180)
        /Users/karl/gopath/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:914 +0x2fb
github.com/spf13/cobra.(*Command).Execute(...)
        /Users/karl/gopath/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:864
github.com/fubarhouse/pygmy-go/cmd.Execute()
        /Users/karl/Projects/pygmy-go/cmd/root.go:53 +0x31
main.main()
        /Users/karl/Projects/pygmy-go/main.go:26 +0x20
exit status 2 
fubarhouse commented 4 years ago

Should also add that ideally... if the image exists locally we shouldn't need to go to the interwebz. This aspect should be solvable via #51