Yousong Zhou 8e2e19fde9 hosts: fix possible nil memory access issue
The code allows the existence of a netinterface to exist without
baremetalnetwork info, yet the host-show does not take into account this
relaxation.  Log the error instead of throwing runtime error bomb

[E 180920 04:21:34 appsrv.(*WorkerManager).execCallback.func1(workers.go:64)] WorkerManager exec callback error: runtime error: invalid memory address or nil pointer dereference
goroutine 160 [running]:
runtime/debug.Stack(0xc420789858, 0x527d43, 0x12cec16)
        /home/yunion/.usr/go/goroot-1.10.4/src/runtime/debug/stack.go:24 +0xa7
runtime/debug.PrintStack()
        /home/yunion/.usr/go/goroot-1.10.4/src/runtime/debug/stack.go:16 +0x22
yunion.io/x/onecloud/pkg/appsrv.(*WorkerManager).execCallback.func1(0xc420958440)
        /home/yunion/go/src/yunion.io/x/onecloud/pkg/appsrv/workers.go:65 +0x9e
panic(0x1021780, 0x1dcd4e0)
        /home/yunion/.usr/go/goroot-1.10.4/src/runtime/panic.go:502 +0x229
yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils.(*JSONDict).SortedKeys(0x0, 0xc4202cbd7b, 0x0, 0x0)
        /home/yunion/go/src/yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils/jsonutils.go:521 +0x37
yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils.(*JSONDict).String(0x0, 0xc4202cbc5b, 0x0)
        /home/yunion/go/src/yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils/jsonutils.go:533 +0x5a
yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils.(*JSONArray).String(0xc4206145a0, 0xc42046453a, 0x0)
        /home/yunion/go/src/yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils/jsonutils.go:610 +0x6b
yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils.(*JSONDict).String(0xc42000e388, 0xc42046423a, 0x0)
        /home/yunion/go/src/yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils/jsonutils.go:540 +0xd4
yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils.(*JSONDict).String(0xc42000e3b8, 0x1294d5d, 0xc)
        /home/yunion/go/src/yunion.io/x/onecloud/vendor/yunion.io/x/jsonutils/jsonutils.go:540 +0xd4
yunion.io/x/onecloud/pkg/appsrv.SendJSON(0x13b44c0, 0xc42088e1e0, 0x13c2740, 0xc42000e3b8)
        /home/yunion/go/src/yunion.io/x/onecloud/pkg/appsrv/send.go:27 +0x84
yunion.io/x/onecloud/pkg/appsrv/dispatcher.getHandler(0x13b6740, 0xc4207501b0, 0x13b44c0, 0xc42088e1e0, 0xc42010a000)
        /home/yunion/go/src/yunion.io/x/onecloud/pkg/appsrv/dispatcher/dispatcher.go:165 +0x46a
yunion.io/x/onecloud/pkg/mcclient/auth.Authenticate.func1(0x13b6740, 0xc42088e360, 0x13b44c0, 0xc42088e1e0, 0xc42010a000)
        /home/yunion/go/src/yunion.io/x/onecloud/pkg/mcclient/auth/middleware.go:33 +0x1ba
yunion.io/x/onecloud/pkg/appsrv.(*Application).defaultHandle.func1()
        /home/yunion/go/src/yunion.io/x/onecloud/pkg/appsrv/appsrv.go:271 +0x4a5
yunion.io/x/onecloud/pkg/appsrv.(*WorkerManager).execCallback(0xc4202c8340, 0xc420958440)
        /home/yunion/go/src/yunion.io/x/onecloud/pkg/appsrv/workers.go:72 +0x50
yunion.io/x/onecloud/pkg/appsrv.(*WorkerManager).workerRun(0xc4202c8340, 0x1)
        /home/yunion/go/src/yunion.io/x/onecloud/pkg/appsrv/workers.go:49 +0x78
created by yunion.io/x/onecloud/pkg/appsrv.(*WorkerManager).schedule
        /home/yunion/go/src/yunion.io/x/onecloud/pkg/appsrv/workers.go:84 +0xcc
2018-09-25 07:49:25 +00:00
2018-09-05 16:09:04 +08:00
2018-07-27 15:59:17 +08:00
2018-07-27 15:59:17 +08:00
2018-07-27 15:59:17 +08:00
S
Description
A cloud-native open-source unified multi-cloud and hybrid-cloud platform. 开源、云原生的多云管理及混合云融合平台
Readme Apache-2.0 218 MiB
Languages
Go 99.5%
Shell 0.3%