apache/mynewt-newt

Crash when git repo in`project.yml` is missing `url` field

Closed this issue · 0 comments

The following project.yml:

project.name: "my_project"

repository.apache-mynewt-core:
    type: git
    vers: 0.0.0

Produces the following crash on newt upgrade:

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

goroutine 1 [running]:
mynewt.apache.org/newt/newt/repo.(*Repo).CommitDepMap(...)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/repo/repo.go:74
mynewt.apache.org/newt/newt/project.(*Project).loadRepoDeps.func1(0x0, 0xc00008d120, 0x2, 0x2, 0x160, 0x137da20)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/project/project.go:411 +0x53
mynewt.apache.org/newt/newt/project.(*Project).loadRepoDeps(0xc00015a300, 0xc000091500, 0xc0000a314b, 0x12)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/project/project.go:441 +0x164
mynewt.apache.org/newt/newt/project.(*Project).loadConfig(0xc00015a300, 0x1b, 0xc000012064)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/project/project.go:561 +0x745
mynewt.apache.org/newt/newt/project.(*Project).Init(0xc00015a300, 0xc000012064, 0x1b, 0x27, 0x1339280)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/project/project.go:605 +0xbe
mynewt.apache.org/newt/newt/project.NewProject(0xc000012064, 0x1b, 0xc000012064, 0x1b, 0x0)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/project/project.go:151 +0x58
mynewt.apache.org/newt/newt/project.LoadProject(0xc000012064, 0x1b, 0x0, 0x13c6249, 0xc000012064)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/project/project.go:752 +0x7d
mynewt.apache.org/newt/newt/project.initProject(0xc000012064, 0x1b, 0x0, 0x0)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/project/project.go:90 +0x39
mynewt.apache.org/newt/newt/project.initialize(0x1122c37, 0xc0000b4c80)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/project/project.go:108 +0x56
mynewt.apache.org/newt/newt/project.TryGetProject(0x9, 0x9, 0x8)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/project/project.go:116 +0x22
mynewt.apache.org/newt/newt/cli.TryGetProject(0x0)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/cli/util.go:208 +0x26
mynewt.apache.org/newt/newt/cli.installRunCmd(0xc000162f00, 0x1670a00, 0x0, 0x0)
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/cli/project_cmds.go:106 +0x26
mynewt.apache.org/newt/vendor/github.com/spf13/cobra.(*Command).execute(0xc000162f00, 0x1670a00, 0x0, 0x0, 0xc000162f00, 0x1670a00)
        /Users/ccollins/go/src/mynewt.apache.org/newt/vendor/github.com/spf13/cobra/command.go:766 +0x2cc
mynewt.apache.org/newt/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc0000d2500, 0xc00016c000, 0xc00016c780, 0xc00016c500)
        /Users/ccollins/go/src/mynewt.apache.org/newt/vendor/github.com/spf13/cobra/command.go:852 +0x2fd
mynewt.apache.org/newt/vendor/github.com/spf13/cobra.(*Command).Execute(0xc0000d2500, 0xc000115f38, 0x100e19d)
        /Users/ccollins/go/src/mynewt.apache.org/newt/vendor/github.com/spf13/cobra/command.go:800 +0x2b
main.main()
        /Users/ccollins/go/src/mynewt.apache.org/newt/newt/newt.go:173 +0x171