yunify / qingcloud-sdk-go

The official QingCloud SDK for the Go programming language.
Apache License 2.0
29 stars 42 forks source link

Get panic when parameters in config.Config is wrong #95

Closed chilianyi closed 6 years ago

chilianyi commented 6 years ago
func (u *Unpacker) parseError() error {
    retCodeValue := u.output.Elem().FieldByName("RetCode")

u.output.Elem() is {Message: Action: RetCode: TotalCount: ZoneSet:[]}

panic(0x15522c0, 0xc420c34060)
    /usr/local/go/src/runtime/panic.go:502 +0x229
reflect.Value.Int(0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/reflect/value.go:931 +0x127
openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/request.(*Unpacker).parseError(0xc4209050d8, 0x0, 0x0)
    /go/src/openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/request/unpacker.go:89 +0x460
openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/request.(*Unpacker).UnpackHTTPRequest(0xc4209050d8, 0xc42024d8f0, 0xc420a16000, 0xc42087f280, 0x3, 0x14cb360)
    /go/src/openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/request/unpacker.go:50 +0x7e
openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/request.(*Request).unpack(0xc42070cc30, 0x0, 0x0)
    /go/src/openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/request/request.go:165 +0x5f
openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/request.(*Request).Send(0xc42070cc30, 0x1919de0, 0xc42070cc00)
    /go/src/openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/request/request.go:83 +0xb7
openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/service.(*QingCloudService).DescribeZones(0xc4202951f0, 0xc42070cc00, 0x1, 0xc42000e4f0, 0x1)
    /go/src/openpitrix.io/openpitrix/vendor/github.com/yunify/qingcloud-sdk-go/service/qingcloud.go:60 +0x142
cygnushan commented 6 years ago

Could you tell us which parameter in config.Config caused the panic?

chilianyi commented 6 years ago

conf.Host: "https://www.aa.com", conf.Zone: "pek3a", config.AccessKeyID: "a32" config.SecretAccessKey:"aa"