Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

panic: runtime error: invalid memory address or nil pointer dereference #59

Closed
sdouche opened this issue Jul 22, 2016 · 11 comments
Closed
Labels
kind/bug Categorizes issue or PR as related to a bug.

Comments

@sdouche
Copy link

sdouche commented Jul 22, 2016

Tried with v0.0.1-beta.1:

$ kompose convert -f docker-compose.yml -y
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x20 pc=0x64c354]

goroutine 1 [running]:
panic(0x11e6760, 0xc820012110)
    /usr/local/go/src/runtime/panic.go:464 +0x3e6
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.Interpolate.func1(0xc820273df0, 0xf, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:145 +0x84
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.parseVariableWithBraces(0xc82018e240, 0x24, 0x11, 0xc8204cfbf8, 0x0, 0x0, 0x0, 0xc82044a0e0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:53 +0x14c
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.parseInterpolationExpression(0xc82018e240, 0x24, 0x1, 0xc8204cfbf8, 0x0, 0x0, 0x3113, 0x410d38)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:71 +0x9b
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.parseLine(0xc82018e240, 0x24, 0xc8204cfbf8, 0x0, 0x0, 0x134d001)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:90 +0xbf
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.parseConfig(0xc8202c1b80, 0x5, 0xc8202c1b60, 0xc, 0xc8204cfb78, 0xc8204cfbf8, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:110 +0x532
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.Interpolate(0x0, 0x0, 0xc8204cfd48, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:144 +0x1c4
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.MergeServicesV2(0xc820459840, 0x0, 0x0, 0x0, 0x0, 0xc820459820, 0x12, 0xc8203f7500, 0x3113, 0x3313, ...)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/merge_v2.go:22 +0x12a
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.Merge(0xc820459840, 0x0, 0x0, 0x0, 0x0, 0xc820459820, 0x12, 0xc8203f7500, 0x3113, 0x3313, ...)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/merge.go:40 +0x24c
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/project.(*Project).load(0xc82045ad00, 0xc820459820, 0x12, 0xc8203f7500, 0x3113, 0x3313, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/project/project.go:178 +0xe5
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/project.(*Project).Parse(0xc82045ad00, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/project/project.go:86 +0x335
github.com/skippbox/kompose/cli/app.loadComposeFile(0xc820459820, 0x12, 0xc820349180, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/cli/app/app.go:733 +0x1b6
github.com/skippbox/kompose/cli/app.Convert(0xc820349180)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/cli/app/app.go:1028 +0x4b9
github.com/skippbox/kompose/cli/command.ConvertCommand.func1(0xc820349180)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/cli/command/command.go:30 +0x21
github.com/skippbox/kompose/vendor/github.com/urfave/cli.Command.Run(0x13e2208, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1593620, 0x30, 0x0, ...)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/urfave/cli/command.go:179 +0x1399
github.com/skippbox/kompose/vendor/github.com/urfave/cli.(*App).Run(0xc8204806e0, 0xc82000a0f0, 0x5, 0x5, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/urfave/cli/app.go:196 +0x137c
main.main()
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/cli/main/main.go:46 +0x5fe
@sebgoa
Copy link
Contributor

sebgoa commented Jul 22, 2016

thanks for reporting the issue.
Probably a build issue with the pre-release I just uploaded.

What OS and arch are you on ?

@surajssd
Copy link
Member

@sdouche also share the docker-compose file so that we can recreate it.

@kadel
Copy link
Member

kadel commented Jul 22, 2016

This look related to to env variables.
trace looks same as one in #56

@sdouche
Copy link
Author

sdouche commented Jul 22, 2016

@Runseb sorry I forgot: Ubuntu 16.04 x64_86. @surajssd I can't share the file, it's explain the internal stack we use. I'll investigate to know what is the cause.

@kadel
Copy link
Member

kadel commented Jul 22, 2016

@sdouche That is ok if you can't share it.
Can you confirm my hunch that you have variable substation in your docker-compose file?
Something similar to this?

    environment:
      FOO : $BAR

@sdouche
Copy link
Author

sdouche commented Jul 22, 2016

Good hint @kadel I've a bunch of image: ${DOCKER_REGISTRY}redis. But I've the same error with komposer convert (w/o any argument):

$ kompose convert
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x20 pc=0x64c354]

goroutine 1 [running]:
panic(0x11e6760, 0xc820014120)
    /usr/local/go/src/runtime/panic.go:464 +0x3e6
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.Interpolate.func1(0xc820196c70, 0xf, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:145 +0x84
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.parseVariableWithBraces(0xc8202a96e0, 0x23, 0x11, 0xc82052bbf8, 0x0, 0x0, 0x0, 0xc82036c380)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:53 +0x14c
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.parseInterpolationExpression(0xc8202a96e0, 0x23, 0x1, 0xc82052bbf8, 0x0, 0x0, 0x3113, 0x410d38)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:71 +0x9b
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.parseLine(0xc8202a96e0, 0x23, 0xc82052bbf8, 0x0, 0x0, 0xc82052bbf8)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:90 +0xbf
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.parseConfig(0xc8201ff730, 0x5, 0xc8201ff6c8, 0x7, 0xc82052bb78, 0xc82052bbf8, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:110 +0x532
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.Interpolate(0x0, 0x0, 0xc82052bd48, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/interpolation.go:144 +0x1c4
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.MergeServicesV2(0xc8204cef20, 0x0, 0x0, 0x0, 0x0, 0xc8204cef00, 0x12, 0xc82043d500, 0x3113, 0x3313, ...)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/merge_v2.go:22 +0x12a
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config.Merge(0xc8204cef20, 0x0, 0x0, 0x0, 0x0, 0xc8204cef00, 0x12, 0xc82043d500, 0x3113, 0x3313, ...)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/config/merge.go:40 +0x24c
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/project.(*Project).load(0xc820494a90, 0xc8204cef00, 0x12, 0xc82043d500, 0x3113, 0x3313, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/project/project.go:178 +0xe5
github.com/skippbox/kompose/vendor/github.com/docker/libcompose/project.(*Project).Parse(0xc820494a90, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/docker/libcompose/project/project.go:86 +0x335
github.com/skippbox/kompose/cli/app.loadComposeFile(0xc8204cef00, 0x12, 0xc8203c2f00, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/cli/app/app.go:733 +0x1b6
github.com/skippbox/kompose/cli/app.Convert(0xc8203c2f00)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/cli/app/app.go:1028 +0x4b9
github.com/skippbox/kompose/cli/command.ConvertCommand.func1(0xc8203c2f00)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/cli/command/command.go:30 +0x21
github.com/skippbox/kompose/vendor/github.com/urfave/cli.Command.Run(0x13e2208, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1593620, 0x30, 0x0, ...)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/urfave/cli/command.go:179 +0x1399
github.com/skippbox/kompose/vendor/github.com/urfave/cli.(*App).Run(0xc8204991e0, 0xc82000a4c0, 0x2, 0x2, 0x0, 0x0)
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/vendor/github.com/urfave/cli/app.go:196 +0x137c
main.main()
    /Users/sebastiengoasguen/Documents/go/src/github.com/skippbox/kompose/cli/main/main.go:46 +0x5fe

@surajssd
Copy link
Member

@sdouche so I have reported similar issue before see here #56

@ngtuna ngtuna added the kind/bug Categorizes issue or PR as related to a bug. label Jul 22, 2016
@ngtuna
Copy link
Contributor

ngtuna commented Jul 22, 2016

Opps.. just notice that the issue log showing your info @Runseb

@sebgoa
Copy link
Contributor

sebgoa commented Jul 22, 2016

yeah @ngtuna I noticed that, which is why I am thinking it is a build issue. dynamic linking of sorts ?

@ngtuna
Copy link
Contributor

ngtuna commented Aug 2, 2016

@sdouche I tested your case with HEAD master including @surajssd 's patch a63d641, it worked.

$ export DOCKER_REGISTRY="http://foo.bar/"
$ cat sdouche.yml
nginx:
  image: ${DOCKER_REGISTRY}redis
$ kompose convert --file sdouche.yml
WARN[0000] [nginx] Service cannot be created because of missing port. 
file "nginx-deployment.json" created
$ cat redis-deployment.json
...
"spec": {
        "containers": [
          {
            "name": "redis",
            "image": "http://foo.bar/redis",
            "resources": {}
          }
        ],
...

So I assume you should be good with that. The next release is coming soon this week so you can either check the master now or stay a little bit for the release.

@ngtuna
Copy link
Contributor

ngtuna commented Aug 5, 2016

@sdouche Check out the latest release: https://github.com/skippbox/kompose/releases/tag/v0.0.1-beta.2

I'm going to close this issue. Feel free to reopen if it can't solve your case as we can't test your private compose file :-).

@ngtuna ngtuna closed this as completed Aug 5, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug.
Projects
None yet
Development

No branches or pull requests

5 participants