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

avoid deadlock: cancel hydration requests coming from itself #6868

Merged

Conversation

mgallien
Copy link
Collaborator

@mgallien mgallien commented Jul 1, 2024

our current infrastructure will cause a deadlock for any hydration requests coming from desktop files client itself

the main thread is responsible for executing the hydration request but if the same thread is already blocked waiting for the hydration to happen, both (open system call and hydration request handling) process will never be completed and wait for each over in a stuck cycle

our current infrastructure will cause a deadlock for any hydration
requests coming from desktop files client itself

the main thread is responsible for executing the hydration request but
if the same thread is already blocked waiting for the hydration to
happen, both (open system call and hydration request handling) process
will never be completed and wait for each over in a stuck cycle

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien mgallien requested review from camilasan and claucambra July 1, 2024 14:13
@mgallien
Copy link
Collaborator Author

mgallien commented Jul 1, 2024

/backport to stable-3.12

@mgallien
Copy link
Collaborator Author

mgallien commented Jul 1, 2024

/backport to stable-3.13

@mgallien mgallien merged commit 1af5872 into master Jul 1, 2024
10 of 13 checks passed
@mgallien mgallien deleted the bugfix/avoidDeadlockWithImplicitHydrationSelfRequests branch July 1, 2024 14:15
Copy link

backportbot bot commented Jul 1, 2024

The backport to stable-3.12 failed. Please do this backport manually.

# Switch to the target branch and update it
git checkout stable-3.12
git pull origin stable-3.12

# Create the new backport branch
git checkout -b backport/6868/stable-3.12

# Cherry pick the change from the commit sha1 of the change against the default branch
# This might cause conflicts, resolve them
git cherry-pick c5c8f0f1

# Push the cherry pick commit to the remote repository and open a pull request
git push origin backport/6868/stable-3.12

Error: Failed to clone repository: Failed to checkout branches: error: Your local changes to the following files would be overwritten by checkout:
src/gui/macOS/ClientCommunicationProtocol.h
Please commit your changes or stash them before you switch branches.
Aborting


Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.

@nextcloud-desktop-bot
Copy link

AppImage file: nextcloud-PR-6868-c5c8f0f11b134d3643a386f750cf0796a0402077-x86_64.AppImage

To test this change/fix you can simply download above AppImage file and test it.

Please make sure to quit your existing Nextcloud app and backup your data.

Copy link

sonarcloud bot commented Jul 1, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants