Slow Document loading due to EXDEV: Invalid cross-device link

Dear community!

I run nextcloud via php / apache and collabora via docker container. I have been trying to research, configure and test for two days now. The fact that I cant find similar problems during my research lead me to finally ask here. Thanks in advance for helping me out.

Everything seems to be working fine - but document loading is very slow (up to 60 sec).

When I open an existing document or create a new one, the following ERR appears in my logs:

wsd-00001-00200 2026-03-18 07:18:43.119362 +0100 [ docbroker_001 ] ERR Failed to rename [/opt/cool/child-roots/1-40745c0d/XCoK8U77MtHiqfYe/tmp/user/docs/clipboard.shutdown] to [/opt/cool/child-roots/1-40745c0d//tmp/incoming/clipboards/cool-fDncyXgrxWzMBMDy/1] (EXDEV: Invalid cross-device link)| common/Clipboard.hpp:191

In my docker-compose, the cool directory is mounted. It is writable, and everything seems to work correctly:

volumes:

  • ./data/cool:/opt/cool

What I observed: Directly after starting the container, a new folder is created in opt/cool/child-roots containing 10 subdirectories - including XCoK8U77MtHiqfYe in this example. But the moment I am opening a document, this folder is deleted (or renamed, I am not sure). The document lodings fails, and after 60 seconds a new folder with a different name appears. This happens everytime I try to open an existing document or try to create a new one.

Strangely enough, after going to bed yesterday and coming back 8 hours later (next day), everything worked fine, opening documents took 1 sec - until I tried to create a new one. After that, also opening existing documents again took 60 sec.

Has anyone an idea where to investigate further? What information do you need to help me out?

Thank you so much!

hi @WomM

Sorry i was quite busy. give some time i will try to add my notes about this issue.

Thanks
Darshan

Take your time, and thank you in advance :wink:

After some further research, I discovered that the problem lies elsewhere entirely.

First, I noticed that the problem only occurs so severely in Firefox, but not, for example, in Chrome.

Based on this finding, I was able to determine that the actual problem was that the notify_push service (which isn’t related to Collabora at all) had crashed on my server. Firefox was always waiting for this service when loading the Collabora document. Only after the timeout was the document loaded.

Chrome seemed less affected by this and the documents loaded quickly.

After restarting the notify_push service, everything now works perfectly – the documents load very quickly.

The rename / EXDEV errors remain – but they aren’t bothering me at the moment. Nevertheless, I’d still like to know what the cause is.

hi @WomM

Imagine you have two separate filing cabinets. You can easily move a folder from one drawer to another within the same cabinet just slide it over. But if you want to move a folder from cabinet A to cabinet B, you can’t just slide it. You have to take it out, carry it over, and put it in the other cabinet.

That’s basically what’s happening. The software tries to quickly “slide” a file from one spot to another, but because of how things are set up, those two spots are technically on different “cabinets” (different storage areas). The computer says “nope, can’t do that shortcut.” So the software just does it the slower way copies the file over and deletes the original. It still works fine, it just complains about it in the logs.

Nothing is actually broken. It’s just the software being a bit dramatic about having to take the long way around.

It happens because a folder from your actual computer is plugged into the app’s virtual environment, and Linux doesn’t allow the quick-move shortcut (rename) across two different storage areas so it falls back to copy + delete instead.

Thank you very much!

That is what I understood the EXDEV Error means - but I do not understand why it happens, because I thought these files should be “in the same cabinet”, as I mounted the whole

volumes:

  • ./data/cool:/opt/cool

Anyways, its working now - I am just interested to learn more about everything I stumble upon and of course how to fix this error - even if its small :wink: