Skip to content

panic: protobuf tag not enough fields in PathExistsResponse.state #159

Closed
@andyzhangx

Description

@andyzhangx

What happened:
related smb code: https://github.com/kubernetes-csi/csi-driver-smb/blob/8ec0d721cf63e93a324689c17868fd433d193afd/pkg/mounter/safe_mounter_windows.go#L221-L224

PS C:\Users\xiazhang\Downloads\csi-proxy-v1.0.0-rc.1.tar\bin> .\csi-proxy.exe --kubelet-path C:\Users\xiazhang\go\src\github.com\kubernetes-csi\csi-driver-smb\pkg\smb\ --v 10
I0705 09:29:22.634987   26268 main.go:54] Starting CSI-Proxy Server ...
I0705 09:29:22.636127   26268 main.go:55] Version: v1.0.0-rc.1-0-g327ebfb
I0705 09:29:31.082178   26268 server.go:105] Request: PathExists with path="C:\\Users\\xiazhang\\go\\src\\github.com\\kubernetes-csi\\csi-driver-smb\\pkg\\smb\\test-csi"
C:\Users\xiazhang\go\src\github.com\kubernetes-csi\csi-driver-smb\pkg\smb>go test -run TestCreateVolume
panic: protobuf tag not enough fields in PathExistsResponse.state:  [recovered]
        panic: protobuf tag not enough fields in PathExistsResponse.state:

goroutine 14 [running]:
testing.tRunner.func1(0xc00022c600)
        c:/go/src/testing/testing.go:874 +0x3aa
panic(0x155dcc0, 0xc0004170b0)
        c:/go/src/runtime/panic.go:679 +0x1c0
github.com/golang/protobuf/proto.(*unmarshalInfo).computeUnmarshalInfo(0xc0003c0140)
        C:/Users/xiazhang/go/pkg/mod/github.com/golang/[email protected]/proto/table_unmarshal.go:332 +0x16aa
github.com/golang/protobuf/proto.(*unmarshalInfo).unmarshal(0xc0003c0140, 0xc000332090, 0xc000366088, 0x2, 0x2, 0x40d6bf, 0x20)
        C:/Users/xiazhang/go/pkg/mod/github.com/golang/[email protected]/proto/table_unmarshal.go:136 +0xde7
github.com/golang/protobuf/proto.(*InternalMessageInfo).Unmarshal(0xc000364120, 0x4a14130, 0xc000332090, 0xc000366088, 0x2, 0x2, 0x3, 0x0)
        C:/Users/xiazhang/go/pkg/mod/github.com/golang/[email protected]/proto/table_unmarshal.go:63 +0x6d
github.com/golang/protobuf/proto.(*Buffer).Unmarshal(0xc000368458, 0x4a14130, 0xc000332090, 0x0, 0x0)
        C:/Users/xiazhang/go/pkg/mod/github.com/golang/[email protected]/proto/decode.go:424 +0x1f3
google.golang.org/grpc/encoding/proto.codec.Unmarshal(0xc000366088, 0x2, 0x2, 0x16acb80, 0xc000332090, 0xc00034f040, 0x5159a3)
        C:/Users/xiazhang/go/pkg/mod/google.golang.org/[email protected]/encoding/proto/proto.go:93 +0x135
google.golang.org/grpc.recv(0xc0002ef000, 0x28ec538, 0x26670b0, 0xc00022c700, 0x0, 0x0, 0x16acb80, 0xc000332090, 0x400000, 0x0, ...)
        C:/Users/xiazhang/go/pkg/mod/google.golang.org/[email protected]/rpc_util.go:711 +0x116
google.golang.org/grpc.(*csAttempt).recvMsg(0xc0002e0980, 0x16acb80, 0xc000332090, 0x0, 0xc000043e00, 0x54)
        C:/Users/xiazhang/go/pkg/mod/google.golang.org/[email protected]/stream.go:885 +0xf4
google.golang.org/grpc.(*clientStream).RecvMsg.func1(0xc0002e0980, 0x54, 0x54)
        C:/Users/xiazhang/go/pkg/mod/google.golang.org/[email protected]/stream.go:736 +0x4d
google.golang.org/grpc.(*clientStream).withRetry(0xc0002d9320, 0xc00034f310, 0xc00034f2e0, 0xc000043e00, 0xc000185e00)
        C:/Users/xiazhang/go/pkg/mod/google.golang.org/[email protected]/stream.go:594 +0xa3
google.golang.org/grpc.(*clientStream).RecvMsg(0xc0002d9320, 0x16acb80, 0xc000332090, 0x0, 0x0)
        C:/Users/xiazhang/go/pkg/mod/google.golang.org/[email protected]/stream.go:735 +0x10a
google.golang.org/grpc.invoke(0x1a4e740, 0xc00003a0e8, 0x183aedc, 0x19, 0x16acac0, 0xc000304480, 0x16acb80, 0xc000332090, 0xc000222a80, 0x0, ...)
        C:/Users/xiazhang/go/pkg/mod/google.golang.org/[email protected]/call.go:73 +0x142
google.golang.org/grpc.(*ClientConn).Invoke(0xc000222a80, 0x1a4e740, 0xc00003a0e8, 0x183aedc, 0x19, 0x16acac0, 0xc000304480, 0x16acb80, 0xc000332090, 0x0, ...)
        C:/Users/xiazhang/go/pkg/mod/google.golang.org/[email protected]/call.go:37 +0x1ba
github.com/kubernetes-csi/csi-proxy/client/api/filesystem/v1.(*filesystemClient).PathExists(0xc0002f5d20, 0x1a4e740, 0xc00003a0e8, 0xc000304480, 0x0, 0x0, 0x0, 0x8898ea, 0x2646980, 0x1c0008)
        C:/Users/xiazhang/go/pkg/mod/github.com/kubernetes-csi/csi-proxy/[email protected]/api/filesystem/v1/api.pb.go:840 +0xdb
github.com/kubernetes-csi/csi-proxy/client/groups/filesystem/v1.(*Client).PathExists(...)
        C:/Users/xiazhang/go/pkg/mod/github.com/kubernetes-csi/csi-proxy/[email protected]/groups/filesystem/v1/client_generated.go:81
github.com/kubernetes-csi/csi-driver-smb/pkg/mounter.(*CSIProxyMounter).ExistsPath(0xc0002f5e20, 0xc000043b60, 0x52, 0x0, 0x0, 0x0)
        C:/Users/xiazhang/go/src/github.com/kubernetes-csi/csi-driver-smb/pkg/mounter/safe_mounter_windows.go:221 +0x198
github.com/kubernetes-csi/csi-driver-smb/pkg/mounter.(*CSIProxyMounter).IsLikelyNotMountPoint(0xc0002f5e20, 0xc000043b60, 0x52, 0xc00028fa40, 0x50, 0x50)
        C:/Users/xiazhang/go/src/github.com/kubernetes-csi/csi-driver-smb/pkg/mounter/safe_mounter_windows.go:164 +0xff
github.com/kubernetes-csi/csi-driver-smb/pkg/smb.(*Driver).ensureMountPoint(0xc0002c0c80, 0xc000043b60, 0x52, 0xc0002eeea0, 0x0, 0x0)
        C:/Users/xiazhang/go/src/github.com/kubernetes-csi/csi-driver-smb/pkg/smb/nodeserver.go:325 +0x6d
github.com/kubernetes-csi/csi-driver-smb/pkg/smb.(*Driver).NodeStageVolume(0xc0002c0c80, 0x1a4e740, 0xc00003a100, 0xc000327bf8, 0x0, 0x0, 0x0)
        C:/Users/xiazhang/go/src/github.com/kubernetes-csi/csi-driver-smb/pkg/smb/nodeserver.go:183 +0x7b9
github.com/kubernetes-csi/csi-driver-smb/pkg/smb.(*Driver).internalMount(0xc0002c0c80, 0x1a4e740, 0xc00003a100, 0xc000304440, 0xc000304380, 0xc0002d1f20, 0x0, 0x0)
        C:/Users/xiazhang/go/src/github.com/kubernetes-csi/csi-driver-smb/pkg/smb/controllerserver.go:243 +0x319
github.com/kubernetes-csi/csi-driver-smb/pkg/smb.(*Driver).CreateVolume(0xc0002c0c80, 0x1a4e740, 0xc00003a100, 0xc0002f72d0, 0x0, 0x0, 0x0)
        C:/Users/xiazhang/go/src/github.com/kubernetes-csi/csi-driver-smb/pkg/smb/controllerserver.go:95 +0x321
github.com/kubernetes-csi/csi-driver-smb/pkg/smb.TestCreateVolume.func1(0xc00022c600)
        C:/Users/xiazhang/go/src/github.com/kubernetes-csi/csi-driver-smb/pkg/smb/controllerserver_test.go:165 +0x110
testing.tRunner(0xc00022c600, 0xc00028f9f0)
        c:/go/src/testing/testing.go:909 +0xd0
created by testing.(*T).Run
        c:/go/src/testing/testing.go:960 +0x357
exit status 2
FAIL    github.com/kubernetes-csi/csi-driver-smb/pkg/smb        0.327s

@mauriciopoppe
cc @jingxu97

What you expected to happen:

How to reproduce it:

  • run csi-proxy on Windows node

download https://github.com/andyzhangx/demo/raw/master/windows/csi-proxy-v1.0.0-rc.1.tar.gz

.\csi-proxy.exe --kubelet-path C:\Users\xiazhang\go\src\github.com\kubernetes-csi\csi-driver-smb\pkg\smb\ --v 10
  • run TestCreateVolume which invokes csi-proxy PathExists
git clone https://github.com/kubernetes-csi/csi-driver-smb.git
cd csi-driver-smb
git fetch origin pull/319/head:319
git checkout 319
cd pkg\smb
C:\Users\xiazhang\go\src\github.com\kubernetes-csi\csi-driver-smb\pkg\smb>go test -run TestCreateVolume

Anything else we need to know?:

Environment:

  • CSI Driver version: v1.0.0-rc.1
  • Kubernetes version (use kubectl version): n/a
  • OS (e.g. from /etc/os-release): Windows 10
  • Kernel (e.g. uname -a):
  • Install tools:
  • Others:

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions