Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AWS Block Support] Invalid memory address or nil pointer dereference for AWS Volume Updation #1114

Closed
himanshuvar opened this issue Sep 28, 2020 · 1 comment

Comments

@himanshuvar
Copy link
Member

Issue/Feature Description: AWS Block Updation is failing with the following reason:

Invalid memory address or nil pointer dereference

image

Error logs:

[2020-09-28T12:21:54+05:30] [ERROR] [/root/gopath/src/github.com/opensds/multi-cloud/contrib/datastore/block/aws/aws.go] [aws.(*AwsAdapter).UpdateVolume():322] [PID:1] InvalidParameterValue: Iops to volume size ratio of Infinity is too high; maximum is 50
        status code: 400, request id: 18be4668-5783-4856-80db-4b3554c6a256
[2020-09-28T12:21:54+05:30] [ERROR] [/root/gopath/src/github.com/opensds/multi-cloud/block/pkg/service/service.go] [service.(*blockService).UpdateVolume():285] [PID:1] Received error in updating volumes at backend, error: Get object from backend failed.
2020-09-28 12:21:54  file=grpc.go:372 level=error panic recovered: runtime error: invalid memory address or nil pointer dereference
2020-09-28 12:21:54  file=grpc.go:373 level=error goroutine 18086 [running]:
runtime/debug.Stack(0xc00000c4e0, 0xc000951a02, 0xc000951a80)
        /usr/local/go/src/runtime/debug/stack.go:24 +0x9d
github.com/micro/go-micro/v2/server/grpc.(*grpcServer).processRequest.func1.1(0xc0005e7250)
        /root/gopath/pkg/mod/github.com/micro/go-micro/v2@v2.6.0/server/grpc/grpc.go:373 +0x2cf
panic(0x1838480, 0x2c43360)
        /usr/local/go/src/runtime/panic.go:679 +0x1b2
github.com/opensds/multi-cloud/block/pkg/service.(*blockService).UpdateVolume(0xc0005651c0, 0x1ef09c0, 0xc000634390, 0xc000808640, 0xc000634150, 0x498f1c, 0x193d700)
        /root/gopath/src/github.com/opensds/multi-cloud/block/pkg/service/service.go:286 +0x51a
github.com/opensds/multi-cloud/block/proto.(*blockHandler).UpdateVolume(0xc0007d10e0, 0x1ef09c0, 0xc000634390, 0xc000808640, 0xc000634150, 0x7f5223ccb008, 0x0)
        /root/gopath/src/github.com/opensds/multi-cloud/block/proto/block.pb.micro.go:157 +0x5b
reflect.Value.call(0xc0007d2900, 0xc0008302d8, 0x13, 0x1b16bcc, 0x4, 0xc00001f1b0, 0x4, 0x4, 0x16, 0x19830c0, ...)
        /usr/local/go/src/reflect/value.go:460 +0x5f6
reflect.Value.Call(0xc0007d2900, 0xc0008302d8, 0x13, 0xc00001f1b0, 0x4, 0x4, 0x203000, 0xc00001f1b0, 0x40c1d6)
        /usr/local/go/src/reflect/value.go:321 +0xb4
github.com/micro/go-micro/v2/server/grpc.(*grpcServer).processRequest.func1(0x1ef09c0, 0xc000634390, 0x1f06e20, 0xc000a6d080, 0x193d700, 0xc000634150, 0x0, 0x0)
        /root/gopath/pkg/mod/github.com/micro/go-micro/v2@v2.6.0/server/grpc/grpc.go:378 +0x303
github.com/micro/go-micro/v2/util/wrapper.AuthHandler.func1.1(0x1ef09c0, 0xc000634330, 0x1f06e20, 0xc000a6d080, 0x193d700, 0xc000634150, 0xc000634330, 0xc0001c65b0)
        /root/gopath/pkg/mod/github.com/micro/go-micro/v2@v2.6.0/util/wrapper/wrapper.go:282 +0x5e3
github.com/micro/go-micro/v2/util/wrapper.TraceHandler.func1.1(0x1ef0900, 0xc000808600, 0x1f06e20, 0xc000a6d080, 0x193d700, 0xc000634150, 0x16, 0x193d700)
        /root/gopath/pkg/mod/github.com/micro/go-micro/v2@v2.6.0/util/wrapper/wrapper.go:122 +0x1c6
github.com/micro/go-micro/v2/util/wrapper.HandlerStats.func1.1(0x1ef0900, 0xc000808600, 0x1f06e20, 0xc000a6d080, 0x193d700, 0xc000634150, 0x12, 0x0)
        /root/gopath/pkg/mod/github.com/micro/go-micro/v2@v2.6.0/util/wrapper/wrapper.go:67 +0x83
github.com/micro/go-micro/v2/server/grpc.(*grpcServer).processRequest(0xc0001ef380, 0x1efc7a0, 0xc0005480c0, 0xc0008455c0, 0xc0007e6360, 0xc0009ee2c0, 0x16, 0x1ef0900, 0xc000808600, 0xc000589c00, ...)
        /root/gopath/pkg/mod/github.com/micro/go-micro/v2@v2.6.0/server/grpc/grpc.go:395 +0x7ee
github.com/micro/go-micro/v2/server/grpc.(*grpcServer).handler(0xc0001ef380, 0x0, 0x0, 0x1efc7a0, 0xc0005480c0, 0x0, 0x0)
        /root/gopath/pkg/mod/github.com/micro/go-micro/v2@v2.6.0/server/grpc/grpc.go:314 +0x77f
google.golang.org/grpc.(*Server).processStreamingRPC(0xc000814300, 0x1f06e80, 0xc0002c3080, 0xc000890200, 0x0, 0xc0005650e0, 0x0, 0x0, 0x0)
        /root/gopath/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:1237 +0xb42
google.golang.org/grpc.(*Server).handleStream(0xc000814300, 0x1f06e80, 0xc0002c3080, 0xc000890200, 0x0)
        /root/gopath/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:1323 +0xc0a
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc000042690, 0xc000814300, 0x1f06e80, 0xc0002c3080, 0xc000890200)
        /root/gopath/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:722 +0xbb
created by google.golang.org/grpc.(*Server).serveStreams.func1
        /root/gopath/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:720 +0xa1

Why this issue to fixed / feature is needed(give scenarios or use cases): To Support AWS Volume Updation with proper Error Handling

How to reproduce, in case of a bug:

  1. Create AWS Backend for block service
  2. Update AWS with 1 Bytes Size

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)

@himanshuvar
Copy link
Member Author

PR merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant