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

PROPFIND to https://localhost:9200/remote.php/dav/files gets an error 500 response #751

Closed
individual-it opened this issue Oct 26, 2020 · 10 comments
Labels
OCIS-Fastlane Planned outside of the sprint Type:Bug

Comments

@individual-it
Copy link
Member

curl -v -k -u richard:superfluidity -X PROPFIND https://localhost:9200/remote.php/dav/files => HTTP/1.1 500 Internal Server Error

ocis logs:

2020-10-26T12:02:04+05:45 INF core access token generated pkg=rhttp service=storage traceid=847205d7ba0f340c11a15483f48ed3aa
goroutine 720 [running]:
runtime/debug.Stack(0x0, 0xc340fbad7057284, 0xaad38ef48354a111)
	/usr/local/go/src/runtime/debug/stack.go:24 +0x9d
runtime/debug.PrintStack()
	/usr/local/go/src/runtime/debug/stack.go:16 +0x22
github.com/cs3org/reva/internal/grpc/interceptors/recovery.recoveryFunc(0x3f7d3a0, 0xc001f10c60, 0x33e0860, 0xc001de2cc0, 0x0, 0x0)
	/home/artur/go/pkg/mod/github.com/cs3org/reva@v1.3.1-0.20201023144216-cdb3d6688da5/internal/grpc/interceptors/recovery/recovery.go:48 +0x26
github.com/grpc-ecosystem/go-grpc-middleware/recovery.recoverFrom(0x3f7d3a0, 0xc001f10c60, 0x33e0860, 0xc001de2cc0, 0x3acbbb8, 0xc0005a4c20, 0x148a2c6)
	/home/artur/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/recovery/interceptors.go:61 +0x5a
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1.1(0xc0005a53df, 0x3f7d3a0, 0xc001f10c60, 0xc0004180d0, 0xc0005a5488)
	/home/artur/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/recovery/interceptors.go:29 +0x6d
panic(0x33e0860, 0xc001de2cc0)
	/usr/local/go/src/runtime/panic.go:679 +0x1b2
github.com/cs3org/reva/internal/grpc/services/gateway.(*svc).split(0xc001b08000, 0x3f7d3a0, 0xc001f10f60, 0xc001cce68a, 0x6, 0x2, 0x0)
	/home/artur/go/pkg/mod/github.com/cs3org/reva@v1.3.1-0.20201023144216-cdb3d6688da5/internal/grpc/services/gateway/storageprovider.go:1990 +0x513
github.com/cs3org/reva/internal/grpc/services/gateway.(*svc).isSharedFolder(...)
	/home/artur/go/pkg/mod/github.com/cs3org/reva@v1.3.1-0.20201023144216-cdb3d6688da5/internal/grpc/services/gateway/storageprovider.go:1965
github.com/cs3org/reva/internal/grpc/services/gateway.(*svc).Stat(0xc001b08000, 0x3f7d3a0, 0xc001f10f60, 0xc0019a3590, 0xc001b08000, 0x33ad920, 0x3ec5258)
	/home/artur/go/pkg/mod/github.com/cs3org/reva@v1.3.1-0.20201023144216-cdb3d6688da5/internal/grpc/services/gateway/storageprovider.go:1315 +0x657
github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1._GatewayAPI_Stat_Handler.func1(0x3f7d3a0, 0xc001f10f60, 0x384efc0, 0xc0019a3590, 0x390e700, 0xc0019aa800, 0x3f7d3a0, 0xc001f10f60)
	/home/artur/go/pkg/mod/github.com/cs3org/go-cs3apis@v0.0.0-20201007120910-416ed6cf8b00/cs3/gateway/v1beta1/gateway_api.pb.go:2690 +0x89
github.com/cs3org/reva/internal/grpc/interceptors/auth.NewUnary.func1(0x3f7d3a0, 0xc001f10c60, 0x384efc0, 0xc0019a3590, 0xc001a07580, 0xc001a075a0, 0x0, 0x0, 0x0, 0x0)
	/home/artur/go/pkg/mod/github.com/cs3org/reva@v1.3.1-0.20201023144216-cdb3d6688da5/internal/grpc/interceptors/auth/auth.go:96 +0x32b
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3f7d3a0, 0xc001f10c60, 0x384efc0, 0xc0019a3590, 0x3530180, 0x58cf458, 0x0, 0x0)
	/home/artur/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1(0x3f7d3a0, 0xc001f10c60, 0x384efc0, 0xc0019a3590, 0xc001a07580, 0xc001a075c0, 0x0, 0x0, 0x0, 0x0)
	/home/artur/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/recovery/interceptors.go:33 +0xf7
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3f7d3a0, 0xc001f10c60, 0x384efc0, 0xc0019a3590, 0xc00044ea80, 0x7f898fde3d98, 0x0, 0xc001a076a0)
	/home/artur/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/cs3org/reva/internal/grpc/interceptors/log.NewUnary.func1(0x3f7d3a0, 0xc001f10c60, 0x384efc0, 0xc0019a3590, 0xc001a07580, 0xc001a075e0, 0x0, 0xc001a07680, 0x1, 0x1)
	/home/artur/go/pkg/mod/github.com/cs3org/reva@v1.3.1-0.20201023144216-cdb3d6688da5/internal/grpc/interceptors/log/log.go:39 +0x9e
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3f7d3a0, 0xc001f10c60, 0x384efc0, 0xc0019a3590, 0x2, 0x3f7d3a0, 0xc001f10c60, 0xc001f10c30)
	/home/artur/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/cs3org/reva/internal/grpc/interceptors/token.NewUnary.func1(0x3f7d3a0, 0xc001f10c00, 0x384efc0, 0xc0019a3590, 0xc001a07580, 0xc001a07600, 0x397c4c0, 0xc001eb6960, 0x3f7d3a0, 0xc001f10c00)
	/home/artur/go/pkg/mod/github.com/cs3org/reva@v1.3.1-0.20201023144216-cdb3d6688da5/internal/grpc/interceptors/token/token.go:44 +0xb4
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3f7d3a0, 0xc001f10c00, 0x384efc0, 0xc0019a3590, 0xc001f10c00, 0xc001734a00, 0x4f, 0x1f4)
	/home/artur/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/cs3org/reva/internal/grpc/interceptors/appctx.NewUnary.func1(0x3f7d3a0, 0xc001f10ba0, 0x384efc0, 0xc0019a3590, 0xc001a07580, 0xc001a07620, 0x291ae8a, 0x3740500, 0xc001a07640, 0xc001a07580)
	/home/artur/go/pkg/mod/github.com/cs3org/reva@v1.3.1-0.20201023144216-cdb3d6688da5/internal/grpc/interceptors/appctx/appctx.go:36 +0x4fc
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3f7d3a0, 0xc001f10ba0, 0x384efc0, 0xc0019a3590, 0xc00057c300, 0xc001a07540, 0xc001aefac0, 0x14385a8)
	/home/artur/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1(0x3f7d3a0, 0xc001f10ba0, 0x384efc0, 0xc0019a3590, 0xc001a07580, 0xc001a075a0, 0xc0005cdb30, 0x14d4438, 0x37c84c0, 0xc001f10ba0)
	/home/artur/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:34 +0xd5
github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1._GatewayAPI_Stat_Handler(0x39f91c0, 0xc001b08000, 0x3f7d3a0, 0xc001f10ba0, 0xc001eb68a0, 0xc00047c5a0, 0x3f7d3a0, 0xc001f10ba0, 0xc001cce680, 0xa)
	/home/artur/go/pkg/mod/github.com/cs3org/go-cs3apis@v0.0.0-20201007120910-416ed6cf8b00/cs3/gateway/v1beta1/gateway_api.pb.go:2692 +0x14b
google.golang.org/grpc.(*Server).processUnaryRPC(0xc001ad6300, 0x3f9fde0, 0xc000271b00, 0xc00057c300, 0xc00047c750, 0x5591ce8, 0x0, 0x0, 0x0)
	/home/artur/go/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:1024 +0x4f4
google.golang.org/grpc.(*Server).handleStream(0xc001ad6300, 0x3f9fde0, 0xc000271b00, 0xc00057c300, 0x0)
	/home/artur/go/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:1313 +0xd99
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc0000505d0, 0xc001ad6300, 0x3f9fde0, 0xc000271b00, 0xc00057c300)
	/home/artur/go/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:722 +0xbb
created by google.golang.org/grpc.(*Server).serveStreams.func1
	/home/artur/go/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:720 +0xa1
2020-10-26T12:02:04+05:45 ERR split: len(parts) < 2: path:/users parts:[users] pkg=rgrpc service=storage traceid=847205d7ba0f340c11a15483f48ed3aa
2020-10-26T12:02:04+05:45 ERR unary code=Internal end="26/Oct/2020:12:02:04 +0545" from=tcp://127.0.0.1:36452 pkg=rgrpc service=storage start="26/Oct/2020:12:02:04 +0545" time_ns=307313 traceid=847205d7ba0f340c11a15483f48ed3aa uri=/cs3.gateway.v1beta1.GatewayAPI/Stat user-agent=grpc-go/1.26.0
2020-10-26T12:02:04+05:45 ERR error sending a grpc stat request to ref: path:"/users"  error="rpc error: code = Internal desc = split: len(parts) < 2: path:/users parts:[users]" pkg=rhttp service=storage traceid=847205d7ba0f340c11a15483f48ed3aa
2020-10-26T12:02:04+05:45 ERR http end="26/Oct/2020:12:02:04 +0545" host=127.0.0.1 method=PROPFIND pkg=rhttp proto=HTTP/1.1 service=storage size=0 start="26/Oct/2020:12:02:03 +0545" status=500 time_ns=181771973 traceid=847205d7ba0f340c11a15483f48ed3aa uri=/remote.php/dav/files url=/remote.php/dav/files
phil-davis added a commit that referenced this issue Oct 26, 2020
[tests-only] bug demonstration scenario for #751
ownclouders pushed a commit that referenced this issue Oct 26, 2020
Merge: 62a963d 87b95d3
Author: Phil Davis <phil@jankaritech.com>
Date:   Mon Oct 26 13:42:38 2020 +0545

    Merge pull request #752 from owncloud/bugDemoFor751

    [tests-only] bug demonstration scenario for #751
individual-it added a commit to individual-it/reva that referenced this issue Oct 26, 2020
@exalate-issue-sync
Copy link

Michael Barz commented: It should return 405

@exalate-issue-sync exalate-issue-sync bot added the OCIS-Fastlane Planned outside of the sprint label Oct 26, 2020
@exalate-issue-sync
Copy link

Alex Unger commented: it also happens without basic auth:

curl -v -k -X PROPFIND https://localhost:9200/remote.php/dav/files -H "Authorization: Bearer eyJhbGciOiJQUzI1NiIsImtpZCI6IiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJwaG9lbml4IiwiZXhwIjoxNjA1MjExNjI5LCJqdGkiOiJBRTY4LXF6Y2ZoSEpaVDVObE1Qai11alBlcktBRkxkeCIsImlhdCI6MTYwNTIxMTAyOSwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6OTIwMCIsInN1YiI6Ilh0U2lfbWl5V1NCLXBrdkdueFBvQzVBNGZsaWgwVUNMZ3ZVN2NMd2ptakNLWDdGWW4ySFdrNnJSQ0V1eTJHNXFBeV95TVFjX0ZLOWFORmhVTXJYMnBRQGtvbm5lY3QiLCJrYy5pc0FjY2Vzc1Rva2VuIjp0cnVlLCJrYy5hdXRob3JpemVkU2NvcGVzIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJlbWFpbCJdLCJrYy5pZGVudGl0eSI6eyJrYy5pLmRuIjoiZWluc3RlaW4iLCJrYy5pLmlkIjoiY249ZWluc3RlaW4sb3U9dXNlcnMsZGM9ZXhhbXBsZSxkYz1vcmciLCJrYy5pLnVuIjoiZWluc3RlaW4ifSwia2MucHJvdmlkZXIiOiJpZGVudGlmaWVyLWxkYXAifQ.pt_RrF5Ou9yxIhwG5xmxajtd-w77Nd6v-RHJUbAGryH2-bNbkqVd_DzLC1j4S6WNNAsPqjzRKpf4EtEni93Z7tXHsvw7s8gl-ZnNMzDaeQLK-7_B0iT-NjB10tGaircVhS_x-Ngos7p_2O6xr0k6Ol28tizjCzShHaxF95DsCPM1PBjmfTDAshTzlqT7JTbHkDpLFVxGEPWx5GxvEHqof2ljcMY4sWgkXHQDVSODmrGrBr5lfFv-yOLEWovoHnkBMltnfjeKLWwHChdsqSybIgYQR4bCidgTozxubzx5zA3uY7Kh6vgtMqeHPiHOZvyOO4nBRaXRypD9MM4A1B1cDA"

@exalate-issue-sync
Copy link

Alex Unger commented: so the panic comes from Reva:

// validate that we have always at least two elements
if len(parts) < 2 {
	panic(fmt.Sprintf("split: len(parts) < 2: path:%s parts:%+v", p, parts))
}

@exalate-issue-sync
Copy link

Alex Unger commented: getting to the bottom of it whenever the request to the webdav api on reva doesn't contain any file it panics, we should return 405 instead as noted by [~mbarz] but the problem is that method not allowed is not present in go-cs3api.

@exalate-issue-sync
Copy link

Alex Unger commented: applying the following patch to reva does return 405 on handling of the propfind:

From 1c425035c8a2449323a30ca79b3c103e842962f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= <jfd@butonic.de>
Date: Thu, 12 Nov 2020 14:13:16 +0100
Subject: [PATCH] prevent nil pointer when listing shares (#1317)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
---
 changelog/unreleased/ocs-prevent-nil-pointer.md     |  5 +++++
 .../ocs/handlers/apps/sharing/shares/public.go      | 13 ++++++++-----
 .../ocs/handlers/apps/sharing/shares/user.go        |  9 ++++++---
 3 files changed, 19 insertions(+), 8 deletions(-)
 create mode 100644 changelog/unreleased/ocs-prevent-nil-pointer.md

diff --git a/changelog/unreleased/ocs-prevent-nil-pointer.md b/changelog/unreleased/ocs-prevent-nil-pointer.md
new file mode 100644
index 00000000..a6623d97
--- /dev/null
+++ b/changelog/unreleased/ocs-prevent-nil-pointer.md
@@ -0,0 +1,5 @@
+Bugfix: prevent nil pointer when listing shares
+
+We now handle cases where the grpc connection failed correctly by no longer trying to access the response status.
+
+https://github.com/cs3org/reva/pull/1317
\ No newline at end of file
diff --git a/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/public.go b/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/public.go
index 17260727..86a5b6dd 100644
--- a/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/public.go
+++ b/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/public.go
@@ -163,11 +163,12 @@ func (h *Handler) listPublicShares(r *http.Request, filters []*link.ListPublicSh
 	ctx := r.Context()
 	log := appctx.GetLogger(ctx)
 
+	ocsDataPayload := make([]*conversions.ShareData, 0)
 	// TODO(refs) why is this guard needed? Are we moving towards a gateway only for service discovery? without a gateway this is dead code.
 	if h.gatewayAddr != "" {
 		c, err := pool.GetGatewayServiceClient(h.gatewayAddr)
 		if err != nil {
-			return nil, nil, err
+			return ocsDataPayload, nil, err
 		}
 
 		req := link.ListPublicSharesRequest{
@@ -175,11 +176,13 @@ func (h *Handler) listPublicShares(r *http.Request, filters []*link.ListPublicSh
 		}
 
 		res, err := c.ListPublicShares(ctx, &req)
-		if err != nil || res.Status.Code != rpc.Code_CODE_OK {
-			return nil, res.Status, err
+		if err != nil {
+			return ocsDataPayload, nil, err
+		}
+		if res.Status.Code != rpc.Code_CODE_OK {
+			return ocsDataPayload, res.Status, nil
 		}
 
-		ocsDataPayload := make([]*conversions.ShareData, 0)
 		for _, share := range res.GetShare() {
 
 			statRequest := &provider.StatRequest{
@@ -215,7 +218,7 @@ func (h *Handler) listPublicShares(r *http.Request, filters []*link.ListPublicSh
 		return ocsDataPayload, nil, nil
 	}
 
-	return nil, nil, errors.New("bad request")
+	return ocsDataPayload, nil, errors.New("bad request")
 }
 
 func (h *Handler) isPublicShare(r *http.Request, oid string) bool {
diff --git a/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/user.go b/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/user.go
index 060506b4..e08b57d5 100644
--- a/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/user.go
+++ b/internal/http/services/owncloud/ocs/handlers/apps/sharing/shares/user.go
@@ -80,13 +80,16 @@ func (h *Handler) listUserShares(r *http.Request, filters []*collaboration.ListS
 		// get a connection to the users share provider
 		c, err := pool.GetGatewayServiceClient(h.gatewayAddr)
 		if err != nil {
-			return nil, nil, err
+			return ocsDataPayload, nil, err
 		}
 
 		// do list shares request. filtered
 		lsUserSharesResponse, err := c.ListShares(ctx, &lsUserSharesRequest)
-		if err != nil || lsUserSharesResponse.Status.Code != rpc.Code_CODE_OK {
-			return nil, lsUserSharesResponse.Status, err
+		if err != nil {
+			return ocsDataPayload, nil, err
+		}
+		if lsUserSharesResponse.Status.Code != rpc.Code_CODE_OK {
+			return ocsDataPayload, lsUserSharesResponse.Status, nil
 		}
 
 		// build OCS response payload
-- 
2.28.0

@exalate-issue-sync
Copy link

Alex Unger commented: PR opened against cs3org/reva => cs3org/reva#1320

@exalate-issue-sync
Copy link

exalate-issue-sync bot commented Nov 24, 2020

Jörn Friedrich Dreyer commented: verifying that 405 is what clients should expect:

curl -X PROPFIND https://demo.owncloud.com/remote.php/dav/files/ -v -u demo:demo
< HTTP/2 405 
< allow: OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT, LOCK, UNLOCK
< cache-control: no-store, no-cache, must-revalidate
< content-security-policy: default-src 'none';
< content-type: application/xml; charset=utf-8
< date: Tue, 24 Nov 2020 09:03:47 GMT
< dav: 1, 3, extended-mkcol, 2, access-control, calendarserver-principal-property-search
< expires: Thu, 19 Nov 1981 08:52:00 GMT
< pragma: no-cache
< referrer-policy: strict-origin-when-cross-origin
< server: Apache
< set-cookie: ocbchdorxh89=ufp9haa1k975rdui41hj5rion8; path=/; secure; HttpOnly
< set-cookie: oc_sessionPassphrase=KIXPQxcLNfg6%2FvFz2nRxAoqBOeSWZ9f5mDx0IUJD2r9roxGn%2FusJd%2BD7dHqfH4twdzr7tRhI7Pt4hpSZzhBrDaKS2Nouc8SlNzze7t681l%2BROTKbZLiiSvSVfCyfu2IL; path=/; secure; HttpOnly; SameSite=strict
< set-cookie: ocbchdorxh89=631ib6sevardqqggfu31r0cded; path=/; secure; HttpOnly
< set-cookie: cookie_test=test; expires=Tue, 24-Nov-2020 10:03:47 GMT; Max-Age=3600
< strict-transport-security: max-age=315360000; preload
< vary: Brief,Prefer
< x-content-type-options: nosniff
< x-download-options: noopen
< x-frame-options: SAMEORIGIN
< x-permitted-cross-domain-policies: none
< x-robots-tag: none
< x-xss-protection: 1; mode=block
< content-length: 246
< 
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:exception>Sabre\DAV\Exception\MethodNotAllowed</s:exception>
  <s:message>Listing members of this collection is disabled</s:message>
</d:error>

@exalate-issue-sync
Copy link

Benedikt Kulmann commented: On an updated ocis.owncloud.works I get this in the logs when trying to log in with the iOS app:

2020-11-25T21:57:40Z DBG director found path=/remote.php/dav/files policy=reva prefix=/remote.php/ routeType=prefix service=proxy
2020-11-25T21:57:40Z INF access-log from=192.168.96.4:43210 method=PROPFIND path=/remote.php/dav/files service=proxy
2020-11-25T21:57:40Z DBG access token is already provided pkg=rhttp service=storage traceid=127a09eba21cdba0aafec61ac8c23982
2020-11-25T21:57:40Z DBG http routing: head= tail=/remote.php/dav/files svc=root pkg=rhttp service=storage
2020-11-25T21:57:40Z DBG http routing head=remote.php pkg=rhttp service=storage tail=/dav/files traceid=127a09eba21cdba0aafec61ac8c23982
2020-11-25T21:57:40Z DBG skipping auth method=/cs3.gateway.v1beta1.GatewayAPI/Stat pkg=rgrpc service=storage traceid=127a09eba21cdba0aafec61ac8c23982
goroutine 862 [running]:
runtime/debug.Stack(0xc000397c20, 0xc000296ae8, 0xbfe7d2b51f21aa51)
	/usr/local/go/src/runtime/debug/stack.go:24 +0x9d
runtime/debug.PrintStack()
	/usr/local/go/src/runtime/debug/stack.go:16 +0x22
github.com/cs3org/reva/internal/grpc/interceptors/recovery.recoveryFunc(0x3d27fe0, 0xc000c2eea0, 0x31b74e0, 0xc0007c7790, 0x6000103, 0x0)
	/srv/app/pkg/mod/github.com/cs3org/reva@v1.4.1-0.20201125144025-57da0c27434c/internal/grpc/interceptors/recovery/recovery.go:48 +0x26
github.com/grpc-ecosystem/go-grpc-middleware/recovery.recoverFrom(0x3d27fe0, 0xc000c2eea0, 0x31b74e0, 0xc0007c7790, 0x386d480, 0xc000296bc8, 0x134b7d6)
	/srv/app/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/recovery/interceptors.go:61 +0x5a
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1.1(0xc00029744e, 0x3d27fe0, 0xc000c2eea0, 0xc0004a0ca0, 0xc0002974d0)
	/srv/app/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/recovery/interceptors.go:29 +0x6d
panic(0x31b74e0, 0xc0007c7790)
	/usr/local/go/src/runtime/panic.go:969 +0x166
github.com/cs3org/reva/internal/grpc/services/gateway.(*svc).split(0xc000414280, 0x3d27fe0, 0xc000c2f200, 0xc00039e7ea, 0x6, 0x2, 0x0)
	/srv/app/pkg/mod/github.com/cs3org/reva@v1.4.1-0.20201125144025-57da0c27434c/internal/grpc/services/gateway/storageprovider.go:2019 +0x513
github.com/cs3org/reva/internal/grpc/services/gateway.(*svc).isSharedFolder(...)
	/srv/app/pkg/mod/github.com/cs3org/reva@v1.4.1-0.20201125144025-57da0c27434c/internal/grpc/services/gateway/storageprovider.go:1994
github.com/cs3org/reva/internal/grpc/services/gateway.(*svc).Stat(0xc000414280, 0x3d27fe0, 0xc000c2f200, 0xc0014ca780, 0xc000414280, 0x31853e0, 0x3c7a2f0)
	/srv/app/pkg/mod/github.com/cs3org/reva@v1.4.1-0.20201125144025-57da0c27434c/internal/grpc/services/gateway/storageprovider.go:1344 +0x657
github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1._GatewayAPI_Stat_Handler.func1(0x3d27fe0, 0xc000c2f200, 0x3619f80, 0xc0014ca780, 0x36b2180, 0xc00014d380, 0x3d27fe0, 0xc000c2f200)
	/srv/app/pkg/mod/github.com/cs3org/go-cs3apis@v0.0.0-20201118090759-87929f5bae21/cs3/gateway/v1beta1/gateway_api.pb.go:2638 +0x89
github.com/cs3org/reva/internal/grpc/interceptors/auth.NewUnary.func1(0x3d27fe0, 0xc000c2eea0, 0x3619f80, 0xc0014ca780, 0xc0007959a0, 0xc0007959c0, 0x0, 0x0, 0x0, 0x0)
	/srv/app/pkg/mod/github.com/cs3org/reva@v1.4.1-0.20201125144025-57da0c27434c/internal/grpc/interceptors/auth/auth.go:96 +0x318
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3d27fe0, 0xc000c2eea0, 0x3619f80, 0xc0014ca780, 0x1392278, 0xc000c2ea80, 0x8, 0x5612968)
	/srv/app/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1(0x3d27fe0, 0xc000c2eea0, 0x3619f80, 0xc0014ca780, 0xc0007959a0, 0xc0007959e0, 0x0, 0x0, 0x0, 0x0)
	/srv/app/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/recovery/interceptors.go:33 +0xcb
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3d27fe0, 0xc000c2eea0, 0x3619f80, 0xc0014ca780, 0xc0007fd880, 0x7f72053f17d0, 0x0, 0xc000795ac0)
	/srv/app/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/cs3org/reva/internal/grpc/interceptors/log.NewUnary.func1(0x3d27fe0, 0xc000c2eea0, 0x3619f80, 0xc0014ca780, 0xc0007959a0, 0xc000795a00, 0x0, 0xc000795aa0, 0x1, 0x1)
	/srv/app/pkg/mod/github.com/cs3org/reva@v1.4.1-0.20201125144025-57da0c27434c/internal/grpc/interceptors/log/log.go:39 +0x9b
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3d27fe0, 0xc000c2eea0, 0x3619f80, 0xc0014ca780, 0x2, 0x3d27fe0, 0xc000c2eea0, 0xc000c2ee70)
	/srv/app/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/cs3org/reva/internal/grpc/interceptors/token.NewUnary.func1(0x3d27fe0, 0xc000c2ee40, 0x3619f80, 0xc0014ca780, 0xc0007959a0, 0xc000795a20, 0x371fac0, 0xc000c66600, 0x3d27fe0, 0xc000c2ee40)
	/srv/app/pkg/mod/github.com/cs3org/reva@v1.4.1-0.20201125144025-57da0c27434c/internal/grpc/interceptors/token/token.go:44 +0xb4
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3d27fe0, 0xc000c2ee40, 0x3619f80, 0xc0014ca780, 0xc000c2ee40, 0xc000496800, 0x4f, 0x1f4)
	/srv/app/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/cs3org/reva/internal/grpc/interceptors/appctx.NewUnary.func1(0x3d27fe0, 0xc000c2ede0, 0x3619f80, 0xc0014ca780, 0xc0007959a0, 0xc000795a40, 0x273b4fa, 0x350cd20, 0xc000795a60, 0xc0007959a0)
	/srv/app/pkg/mod/github.com/cs3org/reva@v1.4.1-0.20201125144025-57da0c27434c/internal/grpc/interceptors/appctx/appctx.go:36 +0x4fc
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0x3d27fe0, 0xc000c2ede0, 0x3619f80, 0xc0014ca780, 0xc0007e8a00, 0xc000795960, 0xc000403b08, 0x12f1a28)
	/srv/app/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1(0x3d27fe0, 0xc000c2ede0, 0x3619f80, 0xc0014ca780, 0xc0007959a0, 0xc0007959c0, 0xc0003e8b78, 0x1391e18, 0x3593fc0, 0xc000c2ede0)
	/srv/app/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.2/chain.go:34 +0xd5
github.com/cs3org/go-cs3apis/cs3/gateway/v1beta1._GatewayAPI_Stat_Handler(0x3799ae0, 0xc000414280, 0x3d27fe0, 0xc000c2ede0, 0xc000c66540, 0xc0005bd0b0, 0x3d27fe0, 0xc000c2ede0, 0xc00039e7e0, 0xa)
	/srv/app/pkg/mod/github.com/cs3org/go-cs3apis@v0.0.0-20201118090759-87929f5bae21/cs3/gateway/v1beta1/gateway_api.pb.go:2640 +0x14b
google.golang.org/grpc.(*Server).processUnaryRPC(0xc0016f8d80, 0x3d486c0, 0xc000b7d200, 0xc0007e8a00, 0xc0005bd2f0, 0x5302e48, 0x0, 0x0, 0x0)
	/srv/app/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:1024 +0x501
google.golang.org/grpc.(*Server).handleStream(0xc0016f8d80, 0x3d486c0, 0xc000b7d200, 0xc0007e8a00, 0x0)
	/srv/app/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:1313 +0xd3f
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc00039fb40, 0xc0016f8d80, 0x3d486c0, 0xc000b7d200, 0xc0007e8a00)
	/srv/app/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:722 +0xa1
created by google.golang.org/grpc.(*Server).serveStreams.func1
	/srv/app/pkg/mod/google.golang.org/grpc@v1.26.0/server.go:720 +0xa1
2020-11-25T21:57:40Z ERR split: len(parts) < 2: path:/users parts:[users] pkg=rgrpc service=storage traceid=127a09eba21cdba0aafec61ac8c23982
2020-11-25T21:57:40Z ERR unary code=Internal end="25/Nov/2020:21:57:40 +0000" from=tcp://127.0.0.1:34570 pkg=rgrpc service=storage start="25/Nov/2020:21:57:40 +0000" time_ns=799547 traceid=127a09eba21cdba0aafec61ac8c23982 uri=/cs3.gateway.v1beta1.GatewayAPI/Stat user-agent=grpc-go/1.26.0
2020-11-25T21:57:40Z ERR error sending a grpc stat request to ref: path:"/users"  error="rpc error: code = Internal desc = split: len(parts) < 2: path:/users parts:[users]" pkg=rhttp service=storage traceid=127a09eba21cdba0aafec61ac8c23982
2020-11-25T21:57:40Z ERR http end="25/Nov/2020:21:57:40 +0000" host=127.0.0.1 method=PROPFIND pkg=rhttp proto=HTTP/1.1 service=storage size=0 start="25/Nov/2020:21:57:40 +0000" status=500 time_ns=2778959 traceid=127a09eba21cdba0aafec61ac8c23982 uri=/remote.php/dav/files url=/remote.php/dav/files

@exalate-issue-sync
Copy link

Alex Unger commented: fixed on 1320 already merged

@exalate-issue-sync
Copy link

Alex Unger commented: The previous update was pulling the wrong version. Here is a fix: #957

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCIS-Fastlane Planned outside of the sprint Type:Bug
Projects
None yet
Development

No branches or pull requests

1 participant