Skip to content

cmd/godoc: assignment to entry in nil map error #7556

@gopherbot

Description

@gopherbot

by rayneolivetti:

I just checked & ran out godoc from the tools repo. Main page opens fine, but when I
try /pkg, I get a panic from stdout:

$ godoc -http=:6060
2014/03/16 14:24:27 http: panic serving [::1]:35158: runtime error: assignment to entry
in nil map
goroutine 53874 [running]:
net/http.func·009()
        /usr/lib/go/src/pkg/net/http/server.go:1093 +0xae
runtime.panic(0x95c380, 0x10f699d)
        /usr/lib/go/src/pkg/runtime/panic.c:248 +0x106
code.google.com/p/go.tools/godoc/analysis.(*Result).pkgInfo(0xc210062870, 0xa03200, 0x1,
0x1)
        /root/go/src/code.google.com/p/go.tools/godoc/analysis/analysis.go:244 +0xc4
code.google.com/p/go.tools/godoc/analysis.(*Result).PackageInfo(0xc210062870, 0xa03200,
0x1, 0xa03200, 0x1, ...)
        /root/go/src/code.google.com/p/go.tools/godoc/analysis/analysis.go:256 +0x40
code.google.com/p/go.tools/godoc.(*handlerServer).ServeHTTP(0xc21ff701d0,
0x7f51cebd2150, 0xc21ff7cc80, 0xc210038c30)
        /root/go/src/code.google.com/p/go.tools/godoc/server.go:266 +0x6c7
net/http.(*ServeMux).ServeHTTP(0xc214c96420, 0x7f51cebd2150, 0xc21ff7cc80, 0xc210038c30)
        /usr/lib/go/src/pkg/net/http/server.go:1496 +0x163
code.google.com/p/go.tools/godoc.(*Presentation).ServeHTTP(0xc21ff70180, 0x7f51cebd2150,
0xc21ff7cc80, 0xc210038c30)
        /root/go/src/code.google.com/p/go.tools/godoc/pres.go:133 +0x49
net/http.(*ServeMux).ServeHTTP(0xc21001d660, 0x7f51cebd2150, 0xc21ff7cc80, 0xc210038c30)
        /usr/lib/go/src/pkg/net/http/server.go:1496 +0x163
net/http.serverHandler.ServeHTTP(0xc21fd2b280, 0x7f51cebd2150, 0xc21ff7cc80,
0xc210038c30)
        /usr/lib/go/src/pkg/net/http/server.go:1597 +0x16e
net/http.(*conn).serve(0xc21fe70900)
        /usr/lib/go/src/pkg/net/http/server.go:1167 +0x7b7
created by net/http.(*Server).Serve
        /usr/lib/go/src/pkg/net/http/server.go:1644 +0x28b

By the way, I had to install it as a root. I hope the special treatment of tools will
stop someday: distros do not provide them as packages (probably because they are
considered to be unstable?), go devs don't want to include them in go distribution. Both
sides deny/ignore the problem. End result: we users have to do the ugly thing of
installing stuff /usr without the package manager. Could someone please do something
about this? Or at least acknowledge that there is something wrong with the current
scheme.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions