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

Fix deadlock on joins cache #43434

Conversation

elpaso
Copy link
Contributor

@elpaso elpaso commented May 28, 2021

Fixes #43287

The critical section was called recursively by a call from the model
connected to joinedFieldsChanged.

By moving the mutex into a scope we can safely release it before
emitting the signal.

Fixes qgis#43287

The critical section was called recursively by a call form the model
connected to joinedFieldsChanged.

By moving the mutex into a scope we can safely release it before
emitting the signal.
@elpaso elpaso added Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption backport release-3_16 labels May 28, 2021
@github-actions github-actions bot added this to the 3.20.0 milestone May 28, 2021
@elpaso
Copy link
Contributor Author

elpaso commented May 28, 2021

Ping @nyalldawson maybe related to #43427 ?

@nyalldawson
Copy link
Collaborator

Ping @nyalldawson maybe related to #43427 ?

Maybe the other way round, and #43427 wasn't helping here. But the issue fixed by #43427 wasn't happening as a result of modifying joins.

@nyalldawson nyalldawson merged commit 3b612b0 into qgis:master May 28, 2021
@qgis-bot
Copy link
Collaborator

The backport to release-3_16 failed:

The process '/usr/bin/git' failed with exit code 128

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-release-3_16 release-3_16
# Navigate to the new working tree
cd .worktrees/backport-release-3_16
# Create a new branch
git switch --create backport-43434-to-release-3_16
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick 6db7e2fb8d6b7d9364a1070b10e5d7741d5eee10
# Push it to GitHub
git push --set-upstream origin backport-43434-to-release-3_16
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-release-3_16

Then, create a pull request where the base branch is release-3_16 and the compare/head branch is backport-43434-to-release-3_16.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Either a bug report, or a bug fix. Let's hope for the latter! Crash/Data Corruption
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Crash with table set to Show Visible, joins, and left open as QGIS is quit
3 participants