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

[Backport release-3_34] Fix a deadlock with local COPC files in 2D rendering #56458

Merged

Conversation

wonder-sk
Copy link
Member

Manual backport of #56432

Follow up of qgis#56388

It was possible to trigger a deadlock when using a local COPC file
by zooming in/out while there was 2D rendering happening - this caused
a situation where point cloud index was trying to recursively lock
a mutex that the same thread has already locked.

fetchNodeHierarchy() for local COPC files now unlocks the mutex before
calling fetchHierarchyPage() just like what happens with remote COPC files.

While fixing that, I have removed now duplicate code between the local and
remote COPC support. The logic for dealing with hierarchy mutex should
be clearer now as well - we do not call other functions of the index
with mutex locked.

(cherry picked from commit 13446ee)
@github-actions github-actions bot added this to the 3.34.4 milestone Feb 21, 2024
@nyalldawson nyalldawson merged commit 3891202 into qgis:release-3_34 Feb 21, 2024
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants