GoogleContainerTools / skaffold

Easy and Repeatable Kubernetes Development
https://skaffold.dev/
Apache License 2.0
14.93k stars 1.62k forks source link

SIGSEGV when using relative helm chart path #1071

Closed wstrange closed 5 years ago

wstrange commented 5 years ago

Our helm charts are in another project. We reference the helm chart using a relative path:

      chartPath: ./../../../forgeops/helm/postgres-openidm

When running skaffold dev, we get the following panic:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x1d6a1d1]

goroutine 1 [running]:
github.com/GoogleContainerTools/skaffold/pkg/skaffold/deploy.(*HelmDeployer).Dependencies.func1(0xc00047a420, 0x29, 0x0, 0x0, 0x2233dc0, 0xc00072dc80, 0x20, 0x1f74a60)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/pkg/skaffold/deploy/helm.go:86 +0x41
path/filepath.Walk(0xc00047a420, 0x29, 0xc000311660, 0xc00019e7b0, 0x2e)
    /usr/local/Cellar/go/1.11/libexec/src/path/filepath/path.go:402 +0x6a
github.com/GoogleContainerTools/skaffold/pkg/skaffold/deploy.(*HelmDeployer).Dependencies(0xc0002fffb0, 0x100b59f, 0xc0004f8098, 0x8, 0x8, 0x1e23d00)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/pkg/skaffold/deploy/helm.go:85 +0x2bd
github.com/GoogleContainerTools/skaffold/pkg/skaffold/runner.(*SkaffoldRunner).Dev.func4(0xc000305910, 0x10, 0x10, 0x1f44dc0, 0x1)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/pkg/skaffold/runner/runner.go:280 +0x33
github.com/GoogleContainerTools/skaffold/pkg/skaffold/watch.stat(0xc000305900, 0x334f6c0, 0x0, 0x0, 0x1, 0xc0004f8098, 0x0)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/pkg/skaffold/watch/changes.go:32 +0x2b
github.com/GoogleContainerTools/skaffold/pkg/skaffold/watch.(*watchList).Register(0xc00054d8e0, 0xc000305900, 0xc000305910, 0x0, 0x0)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/pkg/skaffold/watch/watch.go:50 +0x32
github.com/GoogleContainerTools/skaffold/pkg/skaffold/runner.(*SkaffoldRunner).Dev(0xc0003f2840, 0x224eae0, 0xc000047e00, 0x2233d80, 0xc00000c018, 0xc0004f8518, 0x1, 0x1, 0xc00026ed00, 0xc0004cbc90, ...)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/pkg/skaffold/runner/runner.go:279 +0x651
github.com/GoogleContainerTools/skaffold/cmd/skaffold/app/cmd.dev(0x2233d80, 0xc00000c018, 0x0, 0x0)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/cmd/skaffold/app/cmd/dev.go:67 +0x16e
github.com/GoogleContainerTools/skaffold/cmd/skaffold/app/cmd.NewCmdDev.func1(0xc000298f00, 0x2e96b50, 0x0, 0x0, 0x0, 0x0)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/cmd/skaffold/app/cmd/dev.go:36 +0x33
github.com/GoogleContainerTools/skaffold/vendor/github.com/spf13/cobra.(*Command).execute(0xc000298f00, 0x2e96b50, 0x0, 0x0, 0xc000298f00, 0x2e96b50)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/vendor/github.com/spf13/cobra/command.go:762 +0x473
github.com/GoogleContainerTools/skaffold/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x2e62f60, 0xc000298f00, 0xc000298c80, 0xc000298a00)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/vendor/github.com/spf13/cobra/command.go:852 +0x2fd
github.com/GoogleContainerTools/skaffold/vendor/github.com/spf13/cobra.(*Command).Execute(0x2e62f60, 0xc00000c018, 0x2233d80)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/vendor/github.com/spf13/cobra/command.go:800 +0x2b
github.com/GoogleContainerTools/skaffold/cmd/skaffold/app.Run(0x0, 0x0)
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/cmd/skaffold/app/skaffold.go:27 +0x58
main.main()
    /private/tmp/skaffold-20180928-621-1wqndz/src/github.com/GoogleContainerTools/skaffold/cmd/skaffold/skaffold.go:26 +0x22

Information

Steps to reproduce the behavior

  1. Reference a helm chartPath using ../../ prefix, or a sym-link
  2. Run skaffold dev

This used to work in skaffold (0.12.0?)

tcrossrfid commented 5 years ago

Appears broken in skaffold 0.16.0, fixed in 0.17.0

jbauerrfid commented 5 years ago

Issue appears also on Ubuntu with 0.16.0. The following command fixed it:

curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64 && chmod +x skaffold && sudo mv skaffold /usr/local/bin
nkubala commented 5 years ago

closing as this should be fixed in v0.17.0