From 0c8a7f382d4e34799f0bf3cc75865aab274f1d3b Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 13 Oct 2017 16:09:32 +0200 Subject: [PATCH] fix non-atomic stubs update (EA-108953 - assert: PsiFileImpl.updateTrees) --- .../src/com/intellij/psi/impl/source/PsiFileImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java b/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java index bc60a46cdddd..6cdf2b48d062 100644 --- a/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java +++ b/platform/core-impl/src/com/intellij/psi/impl/source/PsiFileImpl.java @@ -287,7 +287,9 @@ public abstract class PsiFileImpl extends ElementBase implements PsiFileEx, PsiF void reportStubAstMismatch(String message, StubTree stubTree) { rebuildStub(); - updateTrees(myTrees.clearStub(STUB_PSI_MISMATCH)); + synchronized (myPsiLock) { + updateTrees(myTrees.clearStub(STUB_PSI_MISMATCH)); + } throw StubTreeLoader.getInstance().stubTreeAndIndexDoNotMatch(message, stubTree, this); }