I assume from the log that the provisioner sidecar called ControllerGetCapabilities. And the call failed on nil pointer dereference.
Line controllerserver.go:179 contains:
(I am not a real golang dev, but I would expect that it should fail with unknown gRPC method and not panic on invalid memory address or nil pointer dereference.)
Are the conditions above correct?
Or why gRPC called this method even if it has {not⁉} been registered?
I have misconfigured the driver: set
--component=node
for a controller.And the container failed:
I assume from the log that the provisioner sidecar called ControllerGetCapabilities. And the call failed on
nil pointer dereference
. Linecontrollerserver.go:179
contains:https://github.com/seaweedfs/seaweedfs-csi-driver/blob/1a149fece9c7c2dccb393cd6bdfd8841272d8fbc/pkg/driver/controllerserver.go#L179
The log contains
0x0
:The first "argument" is
cs
:https://github.com/seaweedfs/seaweedfs-csi-driver/blob/1a149fece9c7c2dccb393cd6bdfd8841272d8fbc/pkg/driver/controllerserver.go#L175
Therefore, it seems to me that
cs
is nil.But as I used just
--component=node
(without--component=controller
) this service should not be registered:https://github.com/seaweedfs/seaweedfs-csi-driver/blob/1a149fece9c7c2dccb393cd6bdfd8841272d8fbc/pkg/driver/server.go#L85-L90
(I am not a real golang dev, but I would expect that it should fail with unknown gRPC method and not panic on
invalid memory address or nil pointer dereference
.)Are the conditions above correct?
Or why gRPC called this method even if it has {not⁉} been registered?