Haehnchen/idea-php-shopware-plugin

Please change caller according to com.intellij.openapi.project.IndexNotReadyException documentation

artspb opened this issue · 4 comments

We've got the exception from one of our users. Please keep in mind that indices are not available in the dumb mode. com.intellij.openapi.project.DumbService is here for your convenience.

Please change caller according to com.intellij.openapi.project.IndexNotReadyException documentation
com.intellij.openapi.project.IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReadyException documentation
	at com.intellij.openapi.project.IndexNotReadyException.create(IndexNotReadyException.java:77)
	at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:761)
	at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:710)
	at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:693)
	at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:334)
	at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:310)
	at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:145)
	at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:134)
	at com.jetbrains.php.PhpIndexImpl.getByName(PhpIndexImpl.java:681)
	at com.jetbrains.php.PhpIndexImpl.getByFQN(PhpIndexImpl.java:661)
	at com.jetbrains.php.PhpIndexImpl.getClassesByFQN(PhpIndexImpl.java:715)
	at com.jetbrains.php.PhpIndexImpl.getAnyByFQN(PhpIndexImpl.java:734)
	at com.jetbrains.php.lang.psi.elements.impl.MemberReferenceImpl.resolveGlobal(MemberReferenceImpl.java:177)
	at com.jetbrains.php.lang.psi.elements.impl.MethodReferenceImpl.resolveGlobal(MethodReferenceImpl.java:86)
	at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:163)
	at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:159)
	at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$0(ResolveCache.java:153)
	at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:113)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:152)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:183)
	at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:175)
	at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.multiResolve(PhpReferenceImpl.java:154)
	at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.resolve(PhpReferenceImpl.java:139)
	at de.espend.idea.shopware.util.dict.PsiParameterStorageRunnable$MyPsiRecursiveElementWalkingVisitor.visitMethodReference(PsiParameterStorageRunnable.java:63)
	at de.espend.idea.shopware.util.dict.PsiParameterStorageRunnable$MyPsiRecursiveElementWalkingVisitor.visitElement(PsiParameterStorageRunnable.java:50)
	at com.jetbrains.php.lang.psi.elements.impl.MethodReferenceImpl.accept(MethodReferenceImpl.java:34)
	at com.intellij.psi.PsiWalkingState.visit(PsiWalkingState.java:70)
	at com.intellij.psi.PsiWalkingState.visit(PsiWalkingState.java:27)
	at com.intellij.util.WalkingState.walkChildren(WalkingState.java:65)
	at com.intellij.util.WalkingState.elementStarted(WalkingState.java:52)
	at com.intellij.psi.PsiWalkingState.elementStarted(PsiWalkingState.java:79)
	at com.intellij.psi.PsiRecursiveElementWalkingVisitor.visitElement(PsiRecursiveElementWalkingVisitor.java:48)
	at de.espend.idea.shopware.util.dict.PsiParameterStorageRunnable$MyPsiRecursiveElementWalkingVisitor.visitElement(PsiParameterStorageRunnable.java:52)
	at com.jetbrains.php.lang.psi.elements.impl.GroupStatementSimpleImpl.accept(GroupStatementSimpleImpl.java:27)
	at com.intellij.psi.impl.source.tree.SharedImplUtil.acceptChildren(SharedImplUtil.java:200)
	at com.intellij.psi.impl.source.PsiFileImpl.acceptChildren(PsiFileImpl.java:697)
	at de.espend.idea.shopware.util.dict.PsiParameterStorageRunnable.run(PsiParameterStorageRunnable.java:42)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:921)
	at de.espend.idea.shopware.ShopwareProjectComponent$1.run(ShopwareProjectComponent.java:75)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)

Same here, its happening since PHP Storm Update to 2020.3. Would be great if this could be fixed, flashing red warning signs are a little annoying.

Environment:
PhpStorm 2020.3
Build #PS-203.5981.175, built on December 2, 2020
Runtime version: 11.0.9+11-b1145.21 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Linux 5.4.0-56-generic
GC: ParNew, ConcurrentMarkSweep
Memory: 959M
Cores: 8
Registry: run.processes.with.pty=TRUE
Non-Bundled Plugins: com.alayouni.ansiHighlight, com.intellij.ideolog, tv.twelvetone.intellij.plugins.intellivue, de.espend.idea.php.toolbox, de.espend.idea.php.annotation, fr.adrienbrault.idea.symfony2plugin, de.espend.idea.shopware, dev.booij.shoot_plugin, ru.adelf.idea.dotenv
Current Desktop: ubuntu:GNOME

Stacktrace:
com.intellij.openapi.project.IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReadyException documentation
at com.intellij.openapi.project.IndexNotReadyException.create(IndexNotReadyException.java:67)
at com.intellij.util.indexing.FileBasedIndexImpl.handleDumbMode(FileBasedIndexImpl.java:752)
at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:704)
at com.intellij.psi.stubs.StubIndexImpl.getContainingIds(StubIndexImpl.java:463)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:296)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:105)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:93)
at com.jetbrains.php.PhpIndexImpl.getByName(PhpIndexImpl.java:925)
at com.jetbrains.php.PhpIndexImpl.getByFQN(PhpIndexImpl.java:900)
at com.jetbrains.php.PhpIndexImpl.getClassesByFQNInternal(PhpIndexImpl.java:975)
at com.jetbrains.php.PhpIndexImpl.getAnyByFQN(PhpIndexImpl.java:1012)
at com.jetbrains.php.PhpIndexImpl.getBySignatureInternal(PhpIndexImpl.java:675)
at com.jetbrains.php.PhpIndexImpl.getBySignature(PhpIndexImpl.java:602)
at com.jetbrains.php.PhpIndexImpl.doCompleteType(PhpIndexImpl.java:176)
at com.jetbrains.php.PhpIndexImpl.completeType(PhpIndexImpl.java:122)
at com.jetbrains.php.PhpIndexImpl.getClasses(PhpIndexImpl.java:211)
at com.jetbrains.php.PhpIndexImpl.getBySignatureInternal(PhpIndexImpl.java:700)
at com.jetbrains.php.PhpIndexImpl.getBySignature(PhpIndexImpl.java:602)
at com.jetbrains.php.PhpIndexImpl.doCompleteType(PhpIndexImpl.java:176)
at com.jetbrains.php.PhpIndexImpl.completeType(PhpIndexImpl.java:122)
at com.jetbrains.php.PhpIndexImpl.completeType(PhpIndexImpl.java:101)
at com.jetbrains.php.lang.psi.resolve.types.PhpType.global(PhpType.java:632)
at com.jetbrains.php.lang.psi.elements.impl.MemberReferenceImpl.lambda$resolveInHierarchy$0(MemberReferenceImpl.java:202)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:153)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:54)
at com.intellij.util.CachedValueBase.lambda$getValueWithLock$1(CachedValueBase.java:235)
at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:236)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:43)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:78)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:150)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:120)
at com.jetbrains.php.lang.psi.elements.impl.MemberReferenceImpl.resolveInHierarchy(MemberReferenceImpl.java:199)
at com.jetbrains.php.lang.psi.elements.impl.MemberReferenceImpl.resolveGlobal(MemberReferenceImpl.java:184)
at com.jetbrains.php.lang.psi.elements.impl.MethodReferenceImpl.resolveGlobal(MethodReferenceImpl.java:93)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.lambda$static$0(PhpReferenceImpl.java:159)
at com.intellij.psi.impl.source.resolve.ResolveCache$PolyVariantResolver.resolve(ResolveCache.java:64)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolve$1(ResolveCache.java:149)
at com.intellij.openapi.util.Computable.get(Computable.java:17)
at com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$3(ResolveCache.java:221)
at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:42)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:198)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:149)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:164)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:157)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.multiResolve(PhpReferenceImpl.java:153)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.resolve(PhpReferenceImpl.java:139)
at de.espend.idea.shopware.util.dict.PsiParameterStorageRunnable$MyPsiRecursiveElementWalkingVisitor.visitMethodReference(PsiParameterStorageRunnable.java:92)
at de.espend.idea.shopware.util.dict.PsiParameterStorageRunnable$MyPsiRecursiveElementWalkingVisitor.visitElement(PsiParameterStorageRunnable.java:50)
at com.intellij.psi.impl.PsiElementBase.accept(PsiElementBase.java:273)
at com.jetbrains.php.lang.psi.elements.impl.PhpASTElementImpl.accept(PhpASTElementImpl.java:29)
at com.intellij.psi.PsiWalkingState.visit(PsiWalkingState.java:67)
at com.intellij.psi.PsiWalkingState.visit(PsiWalkingState.java:24)
at com.intellij.util.WalkingState.walkChildren(WalkingState.java:62)
at com.intellij.util.WalkingState.elementStarted(WalkingState.java:49)
at com.intellij.psi.PsiWalkingState.elementStarted(PsiWalkingState.java:76)
at com.intellij.psi.PsiRecursiveElementWalkingVisitor.visitElement(PsiRecursiveElementWalkingVisitor.java:48)
at de.espend.idea.shopware.util.dict.PsiParameterStorageRunnable$MyPsiRecursiveElementWalkingVisitor.visitElement(PsiParameterStorageRunnable.java:52)
at com.intellij.psi.impl.PsiElementBase.accept(PsiElementBase.java:273)
at com.jetbrains.php.lang.psi.elements.impl.PhpASTElementImpl.accept(PhpASTElementImpl.java:29)
at com.intellij.psi.impl.source.tree.SharedImplUtil.acceptChildren(SharedImplUtil.java:185)
at com.intellij.psi.impl.source.PsiFileImpl.acceptChildren(PsiFileImpl.java:754)
at de.espend.idea.shopware.util.dict.PsiParameterStorageRunnable.run(PsiParameterStorageRunnable.java:42)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:860)
at de.espend.idea.shopware.ShopwareProjectComponent$1.run(ShopwareProjectComponent.java:79)
at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
at java.base/java.util.TimerThread.run(Timer.java:506)

indexingStart.trace:
java.lang.Throwable
at com.intellij.openapi.project.DumbServiceImpl.queueAsynchronousTask(DumbServiceImpl.java:298)
at com.intellij.openapi.project.DumbServiceImpl.queueTask(DumbServiceImpl.java:292)
at com.intellij.openapi.roots.impl.ProjectRootManagerComponent.synchronizeRoots(ProjectRootManagerComponent.java:310)
at com.intellij.openapi.roots.impl.ProjectRootManagerComponent.fireRootsChangedEvent(ProjectRootManagerComponent.java:205)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.fireRootsChanged(ProjectRootManagerImpl.java:459)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$1.fireRootsChanged(ProjectRootManagerImpl.java:146)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$1.fireRootsChanged(ProjectRootManagerImpl.java:143)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$BatchSession.rootsChanged(ProjectRootManagerImpl.java:113)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$BatchSession.rootsChanged(ProjectRootManagerImpl.java:121)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.makeRootsChange(ProjectRootManagerImpl.java:431)
at com.jetbrains.php.config.library.PhpAdditionalLibraryManager.lambda$fireLibraryChanged$4(PhpAdditionalLibraryManager.java:184)
at com.intellij.openapi.application.WriteAction.run(WriteAction.java:102)
at com.jetbrains.php.config.library.PhpAdditionalLibraryManager.lambda$fireLibraryChanged$5(PhpAdditionalLibraryManager.java:184)
at com.intellij.openapi.project.DumbServiceImpl.doUnsafeRunWhenSmart(DumbServiceImpl.java:254)
at com.intellij.openapi.project.DumbServiceImpl.lambda$doUnsafeRunWhenSmart$2(DumbServiceImpl.java:257)
at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:216)
at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:24)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:199)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:822)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:324)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:85)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:134)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47)
at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:190)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:976)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:454)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:773)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:453)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:822)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:501)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Same, since update to PhpStorm 2020.3

moved the logic a little bit, was reproducible in 2020.3 should be fixed with latest release

This is still happening for me...

com.intellij.openapi.project.IndexNotReadyException: Please change caller according to com.intellij.openapi.project.IndexNotReadyException documentation
	at com.intellij.openapi.project.IndexNotReadyException.create(IndexNotReadyException.java:67)
	at com.intellij.util.indexing.FileBasedIndexImpl.handleDumbMode(FileBasedIndexImpl.java:756)
	at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:708)
	at com.intellij.util.indexing.FileBasedIndexEx.processExceptions(FileBasedIndexEx.java:230)
	at com.intellij.util.indexing.FileBasedIndexEx.collectFileIdsContainingAllKeys(FileBasedIndexEx.java:469)
	at com.intellij.util.indexing.FileBasedIndexEx.processFilesContainingAllKeys(FileBasedIndexEx.java:347)
	at com.intellij.util.indexing.FileBasedIndexEx.getFilesWithKey(FileBasedIndexEx.java:379)
	at de.espend.idea.shopware.ShopwareProjectComponent$MyTimerTask$1.lambda$run$1(ShopwareProjectComponent.java:122)
	at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:860)
	at de.espend.idea.shopware.ShopwareProjectComponent$MyTimerTask$1.run(ShopwareProjectComponent.java:121)
	at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:962)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:472)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:235)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
	at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:235)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
	at java.base/java.lang.Thread.run(Thread.java:834)