Skip to content

bbs: invalid memory address or nil pointer dereference #271

@paolostivanin

Description

@paolostivanin

Hello,
we saw a problem with the bbs process on our database_z2/0 vm (all Diego apps went down for ~15min). Basically, according to monit the process was "running" but, looking at the logs, we saw the following error:

 http: panic serving $IP:$PORT: runtime error: invalid memory address or nil pointer dereference
goroutine 69969 [running]:
net/http.(*conn).serve.func1(0xc421b17c00)
        /var/vcap/data/packages/golang/65a8c296d8c2319d411165f5dc837a63b3846c7b.1-00ec6370feac3239ea93612eaa1d289ddee2c031/src/net/http/server.go:1491 +0x12a
panic(0xb6d600, 0xc420014050)
        /var/vcap/data/packages/golang/65a8c296d8c2319d411165f5dc837a63b3846c7b.1-00ec6370feac3239ea93612eaa1d289ddee2c031/src/runtime/panic.go:458 +0x243
code.cloudfoundry.org/bbs/handlers.(*EvacuationHandler).EvacuateRunningActualLRP(0xc42019ca20, 0xfc85c0, 0xc4219c5ec0, 0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/packages/bbs/src/code.cloudfoundry.org/bbs/handlers/evacuation_handler.go:236 +0x966
code.cloudfoundry.org/bbs/handlers.(*EvacuationHandler).EvacuateRunningActualLRP-fm(0xfc85c0, 0xc4219c5e00, 0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/packages/bbs/src/code.cloudfoundry.org/bbs/handlers/handlers.go:75 +0x5c
code.cloudfoundry.org/bbs/handlers/middleware.LogWrap.func3(0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/packages/bbs/src/code.cloudfoundry.org/bbs/handlers/middleware/middleware.go:49 +0x1d5
code.cloudfoundry.org/bbs/handlers/middleware.LatencyEmitter.EmitLatency.func1(0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/packages/bbs/src/code.cloudfoundry.org/bbs/handlers/middleware/middleware.go:68 +0x8c
net/http.HandlerFunc.ServeHTTP(0xc420211cc0, 0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/data/packages/golang/65a8c296d8c2319d411165f5dc837a63b3846c7b.1-00ec6370feac3239ea93612eaa1d289ddee2c031/src/net/http/server.go:1726 +0x44
github.com/bmizerany/pat.(*PatternServeMux).ServeHTTP(0xc420026430, 0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/packages/bbs/src/github.com/bmizerany/pat/mux.go:109 +0x5de
code.cloudfoundry.org/bbs/handlers.(*UnavailableHandler).ServeHTTP(0xc42021a720, 0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/packages/bbs/src/code.cloudfoundry.org/bbs/handlers/unavailable_handler.go:22 +0x85
code.cloudfoundry.org/bbs/handlers.UnavailableWrap.func1(0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/packages/bbs/src/code.cloudfoundry.org/bbs/handlers/unavailable_handler.go:32 +0x4d
net/http.HandlerFunc.ServeHTTP(0xc42021a740, 0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/data/packages/golang/65a8c296d8c2319d411165f5dc837a63b3846c7b.1-00ec6370feac3239ea93612eaa1d289ddee2c031/src/net/http/server.go:1726 +0x44
code.cloudfoundry.org/bbs/handlers/middleware.RequestCountWrap.func1(0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/packages/bbs/src/code.cloudfoundry.org/bbs/handlers/middleware/middleware.go:79 +0x7a
net/http.HandlerFunc.ServeHTTP(0xc42021a760, 0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/data/packages/golang/65a8c296d8c2319d411165f5dc837a63b3846c7b.1-00ec6370feac3239ea93612eaa1d289ddee2c031/src/net/http/server.go:1726 +0x44
net/http.serverHandler.ServeHTTP(0xc4202a2680, 0xfc44e0, 0xc42070ac30, 0xc42394f770)
        /var/vcap/data/packages/golang/65a8c296d8c2319d411165f5dc837a63b3846c7b.1-00ec6370feac3239ea93612eaa1d289ddee2c031/src/net/http/server.go:2202 +0x7d
net/http.(*conn).serve(0xc421b17c00, 0xfc5060, 0xc421edf200)
        /var/vcap/data/packages/golang/65a8c296d8c2319d411165f5dc837a63b3846c7b.1-00ec6370feac3239ea93612eaa1d289ddee2c031/src/net/http/server.go:1579 +0x4b7
created by net/http.(*Server).Serve
        /var/vcap/data/packages/golang/65a8c296d8c2319d411165f5dc837a63b3846c7b.1-00ec6370feac3239ea93612eaa1d289ddee2c031/src/net/http/server.go:2293 +0x44d

Any idea what could have caused this?

PS: we are using CF 249 and Diego 1.2.0 on AWS and postgres as data store instead of etcd

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions