Review Request 128762: qmljs: restructure duchain locking to prevent deadlocks
Sven Brauch
mail at svenbrauch.de
Wed Dec 20 00:15:40 UTC 2017
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/128762/
-----------------------------------------------------------
(Updated Dec. 20, 2017, 12:15 a.m.)
Status
------
This change has been discarded.
Review request for KDevelop and Kevin Funk.
Bugs: 367825
http://bugs.kde.org/show_bug.cgi?id=367825
Repository: kdevelop
Description
-------
We _must not_ hold a duchain lock when contextOfFile() is called. That
might try to add something to the background parser queue, which locks
the background parser mutex; then both locks are held, which causes
deadlocks.
Diffs
-----
languages/qmljs/codecompletion/context.cpp 3a44f45
languages/qmljs/codecompletion/tests/test_qmljscompletion.cpp b689418
languages/qmljs/duchain/declarationbuilder.cpp fb0cb5d
languages/qmljs/duchain/expressionvisitor.cpp 3b641f5
languages/qmljs/duchain/helper.cpp e537103
Diff: https://git.reviewboard.kde.org/r/128762/diff/3/
Testing
-------
Opened some test project, no crashes, no freezes, and the (I think) reason for the freeze is gone.
Thanks,
Sven Brauch
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20171220/5a22bd03/attachment.html>
More information about the KDevelop-devel
mailing list