Issue with adding Datasource

Hi Team,

For some reason I cannot add Datasource, pointing to an existing data…

  1. For this reason I have created especially folder /pydio/data
  2. pydio is username and have access to /pydio and /pydio/data
    /pydio/data is actually mount point for /dev/sdbx local ssd drive

Im recieving such output in console:

2020-05-22T13:28:16.830+0200 INFO pydio.grpc.tasks Run Job internal-prune-jobs on timer event Iso8601Schedule:"R/2012-06-04T19:25:16.828696-07:03/PT10M" 2020-05-22T13:29:24.649+0200 INFO pydio.rest.config Checking parent folder is writable before creating datasource {"ds": {"Name": "testsystem", "StorageType": "LOCAL", "PeerAddress": "PC-SERVER|10.1.1.100"}} 2020-05-22T13:29:24.655+0200 INFO pydio.rest.config Now Store Sources {"sources": {"cellsdata":{"Name":"cellsdata","StorageConfiguration":{"folder":"/root/.config/pydio/cells/data/cellsdata","normalize":"false"},"ObjectsServiceName":"local1","ObjectsPort":46655,"ObjectsBucket":"cellsdata","ApiKey":"W1luKzbf4B3ra971","ApiSecret":"yZRdHTqY2ovmvDeiAY1PWG65","PeerAddress":"PC-SERVER"},"personal":{"Name":"personal","StorageConfiguration":{"folder":"/root/.config/pydio/cells/data/personal","normalize":"false"},"ObjectsServiceName":"local1","ObjectsPort":46655,"ObjectsBucket":"personal","ApiKey":"W1luKzbf4B3ra971","ApiSecret":"yZRdHTqY2ovmvDeiAY1PWG65","PeerAddress":"PC-SERVER"},"pydiods1":{"Name":"pydiods1","StorageConfiguration":{"folder":"/root/.config/pydio/cells/data/pydiods1","normalize":"false"},"ObjectsServiceName":"local1","ObjectsPort":46655,"ObjectsBucket":"pydiods1","ApiKey":"W1luKzbf4B3ra971","ApiSecret":"yZRdHTqY2ovmvDeiAY1PWG65","PeerAddress":"PC-SERVER"},"testsystem":{"Name":"testsystem","StorageConfiguration":{"folder":"/pydio/data","normalize":"false"},"ObjectsServiceName":"local2","ObjectsBucket":"data","ApiKey":"QPCegVTqCewoxh84","ApiSecret":"FFV9KnRbaY3wJBqnnLIiqT8H","PeerAddress":"PC-SERVER|10.1.1.100"}}, "ds": {"Name": "testsystem", "Bucket": "data", "StorageType": "LOCAL", "PeerAddress": "PC-SERVER|10.1.1.100"}}
2020-05-22T13:29:33.562+0200 INFO pydio.grpc.data.sync Got an event on sources keys for pydio.grpc.data.sync. Let's start/stop services accordingly 2020-05-22T13:29:33.563+0200 INFO pydio.grpc.data.objects Got an event on sources keys for pydio.grpc.data.objects. Let's start/stop services accordingly 2020-05-22T13:29:33.563+0200 INFO pydio.grpc.data.index Got an event on sources keys for pydio.grpc.data.index. Let's start/stop services accordingly 2020-05-22T13:29:33.863+0200 INFO pydio.grpc.data.objects.local2 started 2020-05-22T13:29:33.864+0200 INFO pydio.grpc.data.objects.local2 Starting local objects service local2 on /pydio 2020-05-22T13:29:33.866+0200 INFO pydio.grpc.data.objects.local2 2020-05-22T13:29:33.866+0200 INFO Cross-device mounts detected on path (/pydio) at following locations [/pydio/data]. Export path should not have any sub-mounts, refusing to start. Invalid command line arguments 2020-05-22T13:29:33.871+0200 INFO pydio.grpc.data.sync.testsystem started 2020-05-22T13:29:33.873+0200 ERROR pydio.grpc.data.objects.local2 panic: runtime error: index out of range [0] with length 0 2020-05-22T13:29:33.873+0200 ERROR pydio.grpc.data.objects.local2 2020-05-22T13:29:33.873+0200 ERROR pydio.grpc.data.objects.local2 goroutine 471 [running]: 2020-05-22T13:29:33.873+0200 ERROR pydio.grpc.data.objects.local2 github/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.newObjectLayer(0x0, 0x0, 0x0, 0x2, 0x1, 0x1, 0x0) 2020-05-22T13:29:33.873+0200 ERROR pydio.grpc.data.objects.local2 /opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd/server-main.go:411 +0x1b9 2020-05-22T13:29:33.873+0200 ERROR pydio.grpc.data.objects.local2 github/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.serverMain(0xc000a48420) 2020-05-22T13:29:33.873+0200 ERROR pydio.grpc.data.objects.local2 /opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd/server-main.go:330 +0x858 2020-05-22T13:29:33.873+0200 ERROR pydio.grpc.data.objects.local2 github/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli.HandleAction(0x4034780, 0x7dcf918, 0xc000a48420, 0xc000cc1400, 0x0) 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 /opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli/app.go:499 +0x7c 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 github/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli.Command.Run(0x46f0556, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47372a8, 0x1c, 0x0, ...) 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 /opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli/command.go:214 +0x991 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 github/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli.(*App).Run(0xc0009d7ba0, 0xc000423380, 0x8, 0x8, 0x0, 0x0) 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 /opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli/app.go:260 +0x6ab 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 github/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.Main(0xc000423380, 0x8, 0x8) 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 /opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd/main.go:155 +0x89 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 github/pydio/cells/data/source/objects/grpc.(*ObjectHandler).StartMinioServer(0xc00053f5a0, 0x82cee20, 0xc000d33b90, 0xc000dc4396, 0x6, 0xc000a5e7e0, 0x22)
2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 /opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/data/source/objects/grpc/handler.go:121 +0x5d0 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 created by github/pydio/cells/data/source/objects/grpc.init.0.func1.1.1 2020-05-22T13:29:33.874+0200 ERROR pydio.grpc.data.objects.local2 /opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/data/source/objects/grpc/plugins.go:76 +0x324 2020-05-22T13:29:33.874+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:29:33.878+0200 ERROR pydio.grpc.data.objects.local2 SubProcess was not killed properly: exit status 2 2020-05-22T13:29:34.274+0200 INFO pydio.grpc.data.index.testsystem 2020-05-22T13:29:34.274+0200 INFO Creating root node in index 2020-05-22T13:29:34.276+0200 INFO pydio.grpc.data.index.testsystem started 2020-05-22T13:29:38.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:29:42.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:29:46.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:29:50.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:29:54.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:29:58.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:30:02.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:30:06.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:30:10.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:30:14.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:30:16.830+0200 INFO pydio.grpc.tasks Run Job flush-mailer-queue on timer event Iso8601Schedule:"R/2012-06-04T19:25:16.828696-07:00/PT5M" 2020-05-22T13:30:16.830+0200 INFO pydio.grpc.tasks Run Job actions.auth.prune.tokens on timer event Iso8601Schedule:"R/2012-06-04T19:25:16.828696-07:00/PT5M" 2020-05-22T13:30:16.846+0200 INFO pydio.grpc.auth Pruned 1 expired offline sessions {"OperationUuid": "actions.auth.prune.tokens-4428cb58"} 2020-05-22T13:30:18.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:30:22.075+0200 INFO pydio.grpc.data.sync.testsystem Sync testsystem - Try to contact Objects 2020-05-22T13:30:24.075+0200 ERROR pydio.grpc.data.sync.testsystem Could not run {"error": "objects not reachable"} 2020-05-22T13:30:24.075+0200 INFO pydio.grpc.data.sync.testsystem stopping 2020-05-22T13:30:24.075+0200 INFO pydio.grpc.data.sync.testsystem Stopping sync task and registry watch e2020-05-22T13:30:33.607+0200 ERROR pydio.rest.user-meta Could not prepare start {"error": "timeout"}

Hello @lemonka ,

if you try to point to a mounted location you have to make sure that the parent folder is writable by the user running Cells.

For instance, if you mount on /pydio/data, Cells will attempt to create a .minio inside the parent pydio, this is required for the datasource to work.

hi @zyan - those locations are owned by pydio and both have r/w

root@PC-SERVER:/pydio# ll / | grep pydio
drwxr-xr-x 3 pydio pydio 4,0K maj 22 13:29 pydio/
root@PC-SERVER:/pydio# ll /pydio
drwxr-xr-x 3 pydio pydio 4,0K maj 22 13:29 ./
drwxr-xr-x 3 pydio pydio 4,0K maj 23 22:03 data/

if you run ls -la do you see a .minio folder ?

Identical issue.

On the host, the XXXXX volume is an overlay (I don’t want to take the risk of loosing my data on the underlying filesystem and I don’t want to get GB of data duplicated either):

    {
        "CreatedAt": "2020-11-03T04:23:18Z",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/XXXX/_data",
        "Name": "XXXX",
        "Options": {
            "device": "overlay",
            "o": "lowerdir=/mnt/extra/gphotos,upperdir=/mnt/extra/pydio-upper,workdir=/mnt/extra/.work.pydio-upper",
            "type": "overlay"
        },
        "Scope": "local"
    }
]

In that /mnt/extra/gphotos directories I’ve various files and directories.

I run cells, with this command:
docker run -ti --network pydionet -e CELLS_NO_TLS=1 -e CELLS_EXTERNAL=https://foo -e CELLS_BIND=127.0.0.1:8080 -p 8080:8080 -p 33060:33060 -v cells-workdir:/var/cells -v XXXXX:/var/cells/data/XXXX -v cells-logdir:/var/cells/logs -v /etc/localtime:/etc/localtime:ro pydio/cells

and I’m experiencing the same problem.

2020-11-03T13:47:36.233Z	INFO	pydio.grpc.data.sync.XXXX	Sync XXXX - Try to contact Objects
2020-11-03T13:47:36.527Z	ERROR	pydio.grpc.data.objects.local1	panic: runtime error: index out of range [0] with length 0
2020-11-03T13:47:36.529Z	ERROR	pydio.grpc.data.objects.local1	
2020-11-03T13:47:36.537Z	ERROR	pydio.grpc.data.objects.local1	goroutine 699 [running]:
2020-11-03T13:47:36.539Z	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.newObjectLayer(0x0, 0x0, 0x0, 0x2, 0x1, 0x1, 0x0)
2020-11-03T13:47:36.540Z	ERROR	pydio.grpc.data.objects.local1		/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd/server-main.go:411 +0x1b9
2020-11-03T13:47:36.543Z	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.serverMain(0xc000cd4160)
2020-11-03T13:47:36.545Z	ERROR	pydio.grpc.data.objects.local1		/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd/server-main.go:330 +0x858
2020-11-03T13:47:36.546Z	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli.HandleAction(0x4073d80, 0x7f7eb18, 0xc000cd4160, 0xc000ca0f00, 0x0)
2020-11-03T13:47:36.800Z	ERROR	pydio.grpc.data.objects.local1		/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli/app.go:499 +0x7c
2020-11-03T13:47:36.802Z	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli.Command.Run(0x4739b01, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x47808b9, 0x1c, 0x0, ...)
2020-11-03T13:47:36.804Z	ERROR	pydio.grpc.data.objects.local1		/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli/command.go:214 +0x991
2020-11-03T13:47:36.806Z	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli.(*App).Run(0xc000b21a00, 0xc0005e6100, 0x8, 0x8, 0x0, 0x0)
2020-11-03T13:47:36.808Z	ERROR	pydio.grpc.data.objects.local1		/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli/app.go:260 +0x6ab
2020-11-03T13:47:36.810Z	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.Main(0xc0005e6100, 0x8, 0x8)
2020-11-03T13:47:36.812Z	ERROR	pydio.grpc.data.objects.local1		/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd/main.go:155 +0x89
2020-11-03T13:47:36.813Z	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/data/source/objects/grpc.(*ObjectHandler).StartMinioServer(0xc0009fe720, 0x848c400, 0xc000c67350, 0xc00057ce78, 0x6, 0xc00090ef60, 0x22)
2020-11-03T13:47:36.814Z	ERROR	pydio.grpc.data.objects.local1		/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/data/source/objects/grpc/handler.go:129 +0x639
2020-11-03T13:47:36.815Z	ERROR	pydio.grpc.data.objects.local1	created by github.com/pydio/cells/data/source/objects/grpc.init.0.func1.1.1
2020-11-03T13:47:36.816Z	ERROR	pydio.grpc.data.objects.local1		/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/data/source/objects/grpc/plugins.go:76 +0x324
2020-11-03T13:47:36.561Z	ERROR	pydio.grpc.data.objects.local1	SubProcess was not killed properly: exit status 2
2020-11-03T13:47:36.817Z	ERROR	pydio.grpc.data.objects.local1	Restarting service in 3s..

Sadly it even breaks all other datasources: In the backend they all happen to be “unvailable”.

I think it’s related to Sync DataSource (similar use case)

Just an “up”, because it’s a significant issue for which upstream could probably bring useful details.

Note, that even using a normal directory (instead of a docker volume) triggered this error:

INFO|pydio.grpc.data.objects.local1 Cross-device mounts detected on path (/var/cells/data) at following locations [/var/cells/data/gphoto]. Export path should not have any sub-mounts, refusing to start. Invalid command line arguments|
INFO|pydio.grpc.data.objects.local1 listen tcp :45999: bind: address already in use Unable to start the server|

Bug 1: refusing to start is probably not an INFO.

To restate. I had:

  • cells-workdir (which names /srv/cells on the host), bound to docker’s /var/cells
    I tried to use a submount (in docker context/command-line) which is not supported by cells (cf above error message) how would I use docker (sub)volumes for an individual datasource if Export path should not have any sub-mounts??

Bug 2: IMHO cells should be able to accept Docker subvolumes (I don’t see what the limitation would be)

  • I tried again with a native directory (copying files inside /srv/cells/data/gphotos on the host). It worked (of course!)

  • I then tried to move a bind mount done from the host again, eg: mount -o bind /mnt/extra/gphotos /srv/cells/data/gphotos. But docker default to private submount propagation, and named-volume do not allow for bind-propagation settings (rshared) (https://github.com/moby/moby/issues/26051#issuecomment-739109835, "field BindOptions must not be specified")

  • I was finally able to get submount to work but abandonning the idea of a named volume for the /var/cells workdir.

With all these attempts I had to re-index because multiple times the storage disappeared and I lost the generated thumbnails (I’d have liked cells to fail-safe what’s the point of storing checksum locally if the same files’ hash are not kept/reconsidered when files disappear then reappear?)

Bug 3: Why thumbnails of hashed files got cleaned greedily?

Question / Bug 4: Why re-indexing the exact same files, previously known, results in different IDs?

At least I better understood the limitations surrounding submounts but I hope cells will be able to get rid of it’s own part (by tolerating submounts in the future).

Question 5: Is there a way to reload datasources during one execution (instead of doing painful cells restart)? That would make way more easy to test what works and what does not.

(@charles)

hey @drzraf
Sorry for the late answer, we are very busy these days but we do not forget you :slight_smile:

Regarding mounts and submounts, the tl;dr; is that files are served by “objects” services, that are basically simple wrappers around a Minio service, which is in turn setting some limitations on mounts/volumes.
In the docker specific case, I’m not really trained and will need other people from the team to be involved. One interesting thing I tested some time ago was simply building a folder structure made from symbolic links (pointing themselves to other volumes) and starting datasource on that, it seemed that Minio was not complaining. Maybe you can have a try, and then we may schedule a call to check all your cases in detail.

For other bugs/questions (except bug2), and in logical order
1 : INFO instead of ERROR : this is a cascade of loggers being passed along to subprocesses and sub-libraries, not sure we can handle that better, but worth looking at it.

4 : the files do not own their metadata internally, but the sync is trying to reconciliate paths, meta info stored by Minio and other things to match indexed files with minio-exposed files. Also, deleting/recreating a DS will clean indexes. So changing DS paths around and reindexating will most probably regenerate new ids, which is something you definitely don’t want once Cells is in production (or you loose many internal metadata as they are using IDs as main references to nodes).

3 : As you get it now, this is linked to previous question : thumbs are linked to node IDs. So if an ID changes, thumbs are cleaned and will be regenerated as well.

5 : A trick to avoid the need to restart is to “disable” a datasource, check the log to see it stop, and then re-enable it.

Discussion is still open :slight_smile: . Hopefully @bsinou or @zayn can shed some lights on the docker specific cases.

Best

It’s interesting to know that symlinks working (although it’s exclusively for native setups instead of docker ones). Thank you for the reply and the various answers.
I think my workarounds for bind-mounting brought me in an acceptable situation.

But one worry I still have (amplified by your answer), is the likeliness of ID “reset”. Loosing thumbnail is an acceptable risk. Loosing tags & other metadata (or breaking the link with underlying files) would be horrible.

I don’t know about minio but you said:

So changing DS paths around and reindexating will most probably regenerate new ids

Say that datasource “foo” is:

  1. A native directory at /srv/cells/data/foo
  2. Then changed as a symlink /srv/cells/data/foo pointing to /mnt/data/foo
  3. Then changed as a bind-mount or overlay mounts…
  • Could you tell whether this would affect ID in some way?
  • In case a breakage would happen, is there some routine (like a function or a cell client command?) that would try reconcile (orphaned) ID based on the md5/sha instead of file paths?
  • Are orphaned ID cleaned aggressively like thumbnails?
  • Why not using hashes as a fallback in the first place?

(Sorry for going slightly off-topic, but I think the main topic has been addressed with all the explanation from this thread)

Back on this. Same problems one six month afterwards.
While native directory sources are ok, bind-mounted ones result in

cannot run action actions.cmd.resync:
{"id":"go.micro.client","code":500,
  "detail":"none available - Request was SyncEndpoint.TriggerResync on pydio.grpc.data.sync.mysource - Micro-registry had node(s) : []",
  "status":"Internal Server Error"}
{"OperationUuid": "resync-ds-mysource-4f141fb8"}

(This horrible Internal Server Error undescriptive error I already experienced in the past)
Also note that I can’t access (even less copy) the full error from the UI (where the beginning appears).

See the underlying filesystem:

/srv/cells/data/mysource:
total 672
drwxr-xr-x  4 root root    4096 déc.   5 02:40 .
drwxr-xr-x 10 root root    4096 mai   24 23:48 ..
-rw-r--r--  1 root users     36 déc.   5 02:02 .pydio
-rw-r--r--  1 root users  30552 déc.   5 02:02 gphotos.log
drwxr-xr-x  5 root users   4096 déc.   5 02:33 photos

/srv/cells/data/pydiods1:
total 16
drwxr-xr-x  2 root root 4096 nov.   3  2020 .
drwxr-xr-x 10 root root 4096 mai   24 23:48 ..
-rw-r--r--  1 root root   36 nov.   3  2020 .pydio
-rw-r--r--  1 root root    1 nov.   3  2020 TEST.txt

My source is the result of this bind-mount:
/mnt/origin/mysource /srv/cells/data/mysource none bind,noauto 0 0

When launching cells I get the very same error than OP one year ago:

2021-05-25T02:49:49.997+0200	INFO	pydio.grpc.data.index	Starting umbrella service pydio.grpc.data.index. with sources	{"sources": ["personal", "cellsdata", "pydiods1", "mysource"]}

[...]
2021-05-25T02:49:51.820+0200	INFO	pydio.grpc.data.objects.local1	Starting local objects service local1 on /var/cells/data
2021-05-25T02:49:51.826+0200	ERROR	pydio.grpc.data.objects.local1	panic: runtime error: index out of range [0] with length 0
2021-05-25T02:49:51.826+0200	ERROR	pydio.grpc.data.objects.local1	
2021-05-25T02:49:51.826+0200	ERROR	pydio.grpc.data.objects.local1	goroutine 685 [running]:
2021-05-25T02:49:51.827+0200	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.newObjectLayer(0x0, 0x0, 0x0, 0x2, 0x1, 0x1, 0x0)
2021-05-25T02:49:51.827+0200	ERROR	pydio.grpc.data.objects.local1		github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd/server-main.go:411 +0x1cc
2021-05-25T02:49:51.827+0200	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.serverMain(0xc0011669a0)
2021-05-25T02:49:51.828+0200	ERROR	pydio.grpc.data.objects.local1		github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd/server-main.go:330 +0x88d
2021-05-25T02:49:51.828+0200	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli.HandleAction(0x3eac920, 0x7e44130, 0xc0011669a0, 0xc00118d700, 0x0)
2021-05-25T02:49:51.828+0200	ERROR	pydio.grpc.data.objects.local1		github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli/app.go:499 +0xc2
2021-05-25T02:49:51.829+0200	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli.Command.Run(0x44e2fe8, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4529281, 0x1c, 0x0, ...)
2021-05-25T02:49:51.829+0200	ERROR	pydio.grpc.data.objects.local1		github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli/command.go:214 +0x9fb
2021-05-25T02:49:51.830+0200	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli.(*App).Run(0xc000477a00, 0xc0011e6d00, 0x8, 0x8, 0x0, 0x0)
2021-05-25T02:49:51.830+0200	ERROR	pydio.grpc.data.objects.local1		github.com/pydio/cells/vendor/github.com/pydio/minio-srv/vendor/github.com/minio/cli/app.go:260 +0x768
2021-05-25T02:49:51.830+0200	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd.Main(0xc0011e6d00, 0x8, 0x8)
2021-05-25T02:49:51.830+0200	ERROR	pydio.grpc.data.objects.local1		github.com/pydio/cells/vendor/github.com/pydio/minio-srv/cmd/main.go:155 +0x89
2021-05-25T02:49:51.830+0200	ERROR	pydio.grpc.data.objects.local1	github.com/pydio/cells/data/source/objects/grpc.(*ObjectHandler).StartMinioServer(0xc000ecd1f8, 0x81f0380, 0xc001171b30, 0xc000e3e558, 0x6, 0xc001045530, 0x22)
2021-05-25T02:49:51.830+0200	ERROR	pydio.grpc.data.objects.local1		github.com/pydio/cells/data/source/objects/grpc/handler.go:131 +0x6b1
2021-05-25T02:49:51.831+0200	ERROR	pydio.grpc.data.objects.local1	created by github.com/pydio/cells/data/source/objects/grpc.init.0.func1.1.1
2021-05-25T02:49:51.831+0200	ERROR	pydio.grpc.data.objects.local1		github.com/pydio/cells/data/source/objects/grpc/plugins.go:83 +0x314

pydio.grpc.data.objects.local1 panic: runtime error: index out of range [0] with length 0
This is the bug that really call for a fix.

Hi @drzraf
this error lying in the undermining minio lib would seem to basically indicate that minio service is not started correctly, probably linked to one of their check checkCrossDeviceMounts … You probably can see start errors a bit higher in the logs.
That said I think your setup is incorrect : the srv/cells/data folder will contain a local and a mounted folder, and that is causing minio issues.
You should instead mount your origin to some other place, and make sure to start the datasource to at least a subfolder of the mount :
Starting a datasource on path /a/b/c means in fact starting a minio server on /a/b => this server will store internal info in /a/b/.minio.sys and see “c” as a bucket. You must make sure that the whole contents of /a/b are on a same device.

Hi, i have this problem i have index error in a lot of storage. Only acn fix disabling and enabling every storage. There are a way to disable alll storage and enable at same time?