-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
nextcloud-init-sync.lock fails integrity check after 29->30 #2299
Comments
I'm seeing the same. |
I fixed this by changing file permissions. |
Confirming! Changing ownership to www-data doesn't help here.. OS: Fedora 40 |
Changing ownership to nobody as well as www-data doesn't work for me. |
I also have the same issue, but changing owner to nobody did not fix the problem. |
Reproduced, but here in the image we haven't changed anything related to this lately. Line 277 in 30b570f
This file has always been ignored by the integrity checker (and still is in <30) - which was always a bit surprising to me - so perhaps something has changed upstream. Possibly nextcloud/server#46174 changed things. |
Awhile ago, before we switched to using Lines 209 to 212 in 35b8ebf
The clean-up appears to have been dropped in #1905, but that's not new: it's been like that for nearly two years. So we have two questions we need to firm up answers for:
|
|
Do you know any workaround, in the meanwhile, that we can use to make the error disappear? |
Removing lock files is actually really tricky. One option would be to put it somewhere outside of the Nextcloud installation path, but it still needs to be inside the shared persistent volume. To remove it, we would need to add an additional check to avoid the race condition where one process removes the file while another has opened it but not yet called flock. The entrypoint would also need to loop when that happens. (see this stackoverflow question) Keeping the file around is much simpler, hopefully there's a way to do that without triggering integrity warnings? |
why can't the lock file be generated in the tmp directory, as it is standard in many scenarios in linux? The container should have /tmp available, right? |
The lock file needs to be shared with all containers, since its purpose is to prevent different containers from running the upgrade at the same time. |
According to this: https://github.com/nextcloud/server/blob/bc5222726b7f6f04308231ff55b8e89ade582d37/lib/private/IntegrityCheck/Checker.php#L324 the updater folder is completely excluded from the integrity check. Could you save the lock there? It actually would make a lot of sense, as you have a similar issue as the Nextcloud devs have (and that is why they exclude the updater directory from the check). |
I guess a pull request, to add |
So any solution for now? Chmod and delete file neither works. |
nextcloud-init-sync.lock is used by nextcloud/docker to prevent running the initialization script on multiple containers at the same time. Ref: nextcloud/docker#2299. Signed-off-by: Daniel Kesselberg <[email protected]>
@prprprPro the purpose of the integrity check is to let you, as administrator, know that the nextcloud installation is modified. A possible reason could be a patch that you applied or an external service that created a file that we do not expect. You need to check if that's a problem. If you cannot delete the file, then you have to live with the warning. The integrity check is expensive and therefore the result cached, if you still see the warning after deleting the file: Trigger a rescan. |
nextcloud-init-sync.lock is used by nextcloud/docker to prevent running the initialization script on multiple containers at the same time. Ref: nextcloud/docker#2299. Signed-off-by: Daniel Kesselberg <[email protected]>
nextcloud-init-sync.lock is used by nextcloud/docker to prevent running the initialization script on multiple containers at the same time. Ref: nextcloud/docker#2299. Signed-off-by: Daniel Kesselberg <[email protected]>
nextcloud-init-sync.lock is used by nextcloud/docker to prevent running the initialization script on multiple containers at the same time. Ref: nextcloud/docker#2299. Signed-off-by: Daniel Kesselberg <[email protected]>
nextcloud-init-sync.lock is used by nextcloud/docker to prevent running the initialization script on multiple containers at the same time. Ref: nextcloud/docker#2299. Signed-off-by: Daniel Kesselberg <[email protected]>
To get rid of the error, delete the file and trigger an integrity rescan from your admin panel (the link to it is part of the error message). That said, there's really nothing truly wrong with your nextcloud instance; the message is a nuisance, a false positive, and nothing more (until it will be fixed. Also, expect the error to reappear once you restart or rebuild your container (e.g. after an update). |
After I have upgraded from 29.0.6 to 30, I see an error regarding a failed integrity check for nextcloud-init-sync.lock:
Deleting the file and restarting does not help.
My compose file:
My system config:
If further info is needed, please ask.
The text was updated successfully, but these errors were encountered: