ERROR : Entry doesn't belong in directory

rclone v1.39

  • os/arch: windows/386
  • go version: go1.9.2

This is happening only in a newly created Google Cloud Storage bucket. It does not happen on existing buckets. Thoughts? Cockpit error?

C:\rclone.exe lsd gcs-sdc:“gcs-rclone-bucket”
0 2018-03-15 18:37:53 -1 dir-1

C:\rclone.exe lsd gcs-sdc:“gcs-rclone-bucket/dir-1”
2018/03/15 18:38:01 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring
0 2018-03-15 18:38:01 -1 dir-2

C:\rclone.exe lsd gcs-sdc:“gcs-rclone-bucket/dir-1/dir-2”
2018/03/15 18:38:14 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring
0 2018-03-15 18:38:14 -1 dir-3

C:\rclone.exe lsd gcs-sdc:“gcs-rclone-bucket/dir-1/dir-2/dir-3”
2018/03/15 18:38:25 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring

How did you create the bucket? At a guess there are objects named the same as the directory which rclone doesn’t deal particularly well with yet!

Hello Nick,

I created the buckets using the Google Cloud Storage (GCS) browser in Chrome. So, no API or other calls were utilized.

Hmmm … I am completely confident there are no other objects within my bucket with the same names.

As noted, I have a previous GCS bucket where this does not occur.

In the most recent case (yesterday) what you see in that example is a simple directory structure with each created immediately (using the browser) within the other.

Moreover, as you can also see, it does not occur within the first created folder, only subsequent folders. I agree that it “seems” as if there is “something” there adjacent to the directory object but of course I did not create it and it is invisible to moi as nothing untoward appears in the browser.

It feels like any standard GCS bucket and any standard rclone config using the default prompts would produce the same outcome.

I am 100% confident that I have not contributed to other objects with the same name(s).

Thanks.

I expect it created 0 sized objects to mark the directory. GCS doesn’t really have the concept of directory so some tools create 0 sized objects to mark them and other tools (eg rclone) don’t. Rclone gets confused by these objects!

If you empty out the bucket then I expect it will work fine with rclone.

I’ve made rclone ignore the directory marker files now - please try

https://beta.rclone.org/v1.40-006-gf6020f13/ (uploaded in 15-30 mins)

Hello Nick,

Hmmm, this is what I am seeing:

rclone v1.39

  • os/arch: windows/386
  • go version: go1.9.2

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:
-1 2018-03-20 10:09:41 -1 test-empties

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:test-empties
0 2018-03-20 10:09:57 -1 dir-1

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:test-empties/dir-1
2018/03/20 10:10:04 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring
0 2018-03-20 10:10:04 -1 dir-2

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:test-empties/dir-1/dir-2
2018/03/20 10:10:12 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring
0 2018-03-20 10:10:12 -1 dir-3

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:test-empties/dir-1/dir-2/dir-3
2018/03/20 10:10:19 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring

rclone v1.40-006-gf6020f13

  • os/arch: windows/386
  • go version: go1.10

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:test-empties
0 2018-03-20 10:14:53 -1 dir-1

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:
-1 2018-03-20 10:15:03 -1 test-empties

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:test-empties
0 2018-03-20 10:15:17 -1 dir-1

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:test-empties/dir-1
2018/03/20 10:15:31 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring
0 2018-03-20 10:15:31 -1 dir-2

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:test-empties/dir-1/dir-2
2018/03/20 10:15:50 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring
0 2018-03-20 10:15:50 -1 dir-3

C:\apps_exe\rune-x\rclone>rclone --config rclone.conf lsd gcs-sdc:test-empties/dir-1/dir-2/dir-3
2018/03/20 10:16:04 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring

Hmm, so no great improvement!

Can you post the result of this?

rclone  -vv --dump bodies --config rclone.conf lsd gcs-sdc:test-empties/dir-1

Then I can see what google actually sent

Thanks

C:\apps_exe\rune-x\rclone>rclone -vv --dump bodies --config rclone.conf lsd gcs-sdc:test-empties/dir-1
2018/03/20 15:55:38 DEBUG : Using config file from “C:\apps_exe\rune-x\rclone\rclone.conf”
2018/03/20 15:55:38 DEBUG : rclone: Version “v1.39” starting with parameters [“rclone” “-vv” “–dump” “bodies” “–config” “rclone.conf” “lsd” “gcs-sdc:test-empties/dir-1”]
2018/03/20 15:55:38 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2018/03/20 15:55:38 DEBUG : HTTP REQUEST (req 0x142d8e00)
2018/03/20 15:55:38 DEBUG : GET /storage/v1/b/test-empties/o/dir-1?alt=json HTTP/1.1
Host: www.googleapis.com
User-Agent: rclone/v1.39
Authorization: XXXX
Accept-Encoding: gzip

2018/03/20 15:55:38 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2018/03/20 15:55:38 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2018/03/20 15:55:38 DEBUG : HTTP RESPONSE (req 0x142d8e00)
2018/03/20 15:55:38 DEBUG : HTTP/1.1 404 Not Found
Content-Length: 165
Alt-Svc: hq=":443"; ma=2592000; quic=51303432; quic=51303431; quic=51303339; quic=51303335,quic=":443"; ma=2592000; v=“42,41,39,35”
Cache-Control: private, max-age=0
Content-Type: application/json; charset=UTF-8
Date: Tue, 20 Mar 2018 19:55:38 GMT
Expires: Tue, 20 Mar 2018 19:55:38 GMT
Server: UploadServer
Vary: Origin
Vary: X-Origin
X-Guploader-Uploadid: alphanumeric-string-goes-here

{
“error”: {
“errors”: [
{
“domain”: “global”,
“reason”: “notFound”,
“message”: “Not Found”
}
],
“code”: 404,
“message”: “Not Found”
}
}
2018/03/20 15:55:38 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2018/03/20 15:55:38 INFO : Storage bucket test-empties path dir-1/: Modify window is 1ns
2018/03/20 15:55:38 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2018/03/20 15:55:38 DEBUG : HTTP REQUEST (req 0x14482200)
2018/03/20 15:55:38 DEBUG : GET /storage/v1/b/test-empties/o?alt=json&delimiter=%2F&maxResults=1000&prefix=dir-1%2F HTTP/1.1
Host: www.googleapis.com
User-Agent: rclone/v1.39
Authorization: XXXX
Accept-Encoding: gzip

2018/03/20 15:55:38 DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2018/03/20 15:55:38 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2018/03/20 15:55:38 DEBUG : HTTP RESPONSE (req 0x14482200)
2018/03/20 15:55:38 DEBUG : HTTP/1.1 200 OK
Content-Length: 859
Alt-Svc: hq=":443"; ma=2592000; quic=51303432; quic=51303431; quic=51303339; quic=51303335,quic=":443"; ma=2592000; v=“42,41,39,35”
Cache-Control: private, max-age=0, must-revalidate, no-transform
Content-Type: application/json; charset=UTF-8
Date: Tue, 20 Mar 2018 19:55:38 GMT
Expires: Tue, 20 Mar 2018 19:55:38 GMT
Server: UploadServer
Vary: Origin
Vary: X-Origin
X-Guploader-Uploadid: alphanumeric-string-goes-here

{
“kind”: “storage#objects”,
“prefixes”: [
“dir-1/dir-2/”
],
“items”: [
{
“kind”: “storage#object”,
“id”: “test-empties/dir-1//1521554867397644”,
“selfLink”: “https://www.googleapis.com/storage/v1/b/test-empties/o/dir-1%2F”,
“name”: “dir-1/”,
“bucket”: “test-empties”,
“generation”: “1521554867397644”,
“metageneration”: “1”,
“contentType”: “application/x-www-form-urlencoded;charset=utf-8”,
“timeCreated”: “2018-03-20T14:07:47.354Z”,
“updated”: “2018-03-20T14:07:47.354Z”,
“storageClass”: “MULTI_REGIONAL”,
“timeStorageClassUpdated”: “2018-03-20T14:07:47.354Z”,
“size”: “0”,
“md5Hash”: “1B2M2Y8AsgTpgAmY7PhCfg==”,
“mediaLink”: “https://www.googleapis.com/download/storage/v1/b/test-empties/o/dir-1%2F?generation=1521554867397644&alt=media”,
“crc32c”: “AAAAAA==”,
“etag”: “CIzIgsuJ+9kCEAE=”
}
]
}
2018/03/20 15:55:38 DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2018/03/20 15:55:38 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring
0 2018-03-20 15:55:38 -1 dir-2
2018/03/20 15:55:38 DEBUG : Go routines at exit 4
2018/03/20 15:55:38 DEBUG : rclone: Version “v1.39” finishing with parameters [“rclone” “-vv” “–dump” “bodies” “–config” “rclone.conf” “lsd” “gcs-sdc:test-empties/dir-1”]

C:\apps_exe\rune-x\rclone>

Thanks for that. I see what is wrong. This should fix it - cross fingers!

https://beta.rclone.org/v1.40-009-g5ba5be9b/ (uploaded in 15-30 mins)

Hello Nick … apologies for delay.

rclone version
rclone v1.40

  • os/arch: windows/386
  • go version: go1.10

rclone --config rclone.conf lsd gcs-sdc:test-empties/dir-1
2018/04/05 15:02:51 ERROR : : Entry doesn’t belong in directory “” (same as directory) - ignoring
0 2018-04-05 15:02:51 -1 dir-2

Can you try the latest beta - this should fix this problem.

rclone version
rclone v1.40-049-g32e02bd3

  • os/arch: windows/386
  • go version: go1.10

rclone --config rclone.conf lsd gcs-sdc:test-empties/dir-1
0 2018-04-06 15:29:26 -1 dir-2

woo hoo :slight_smile:

1 Like

Hello, I also encounter these errors since updating to v1.4

sudo rclone lsd plexdrive:
2018/04/18 14:52:58 ERROR : /andere: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 14:52:58 ERROR : /Serien: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 14:52:58 ERROR : /Cine: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 14:52:58 ERROR : /Filme: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 14:52:58 ERROR : /Dokus: Entry doesn’t belong in directory “” (contains subdir) - ignoring

I also tried latest rclone-beta, same issue.
Switched back to v1.38-240-g8839e4ee Beta and works again, strange.

Any suggestions?

Which cloud provider are you using?

If google drive - have you run rclone dedupe on the drive?

I’m using Google Drive as encrypted cache mount.

sudo rclone-beta --dry-run dedupe plexdrive:
2018/04/18 16:01:20 ERROR : /andere: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 16:01:20 ERROR : /Serien: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 16:01:20 ERROR : /Cine: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 16:01:20 ERROR : /Filme: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 16:01:20 ERROR : /Dokus: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 16:01:20 ERROR : /andere: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 16:01:20 ERROR : /Serien: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 16:01:20 ERROR : /Cine: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 16:01:20 ERROR : /Filme: Entry doesn’t belong in directory “” (contains subdir) - ignoring
2018/04/18 16:01:20 ERROR : /Dokus: Entry doesn’t belong in directory “” (contains subdir) - ignoring

latest amd64 linux beta

also tried some earlier beta versions of 1.40 and 1.39, none worked so far except some older 1.38 versions

What it looks like is that your directory names have / in them which is a bit strange.

Can you rename them with an older rclone?

I’m not sure how they would have got like that.