lunisolar / LNKD.tech-Editor

Editor for Turtle (Terse RDF Triple Language, TTL) files. This is a plugin for IntelliJ IDEA, IDEA Community Edition and others IDE environments based on IntelliJ Platform (also described here)
https://plugins.jetbrains.com/plugin/12802-lnkd-tech-editor
4 stars 0 forks source link

RdfLibraryUtil - Do not perform a synchronous refresh under read lock (except from EDT) #9

Closed lunisolar closed 1 year ago

lunisolar commented 3 years ago

Mar 26, 2021

java.lang.Throwable: Do not perform a synchronous refresh under read lock (except from EDT) - causes deadlocks if there are events to fire._web.library.RdfLibraryUtil.lambda$createVirtualFile$0(RdfLibraryUtil.java:99)_web.library.RdfLibraryUtil.createVirtualFile(RdfLibraryUtil.java:93)_web.library.RdfLibraryUtil.optVirtualFile(RdfLibraryUtil.java:88)_web.globalGraphs.GlobalGraphsService.createS...
java.lang.Throwable: preemptively-anonymized (was non-null)
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:165)
    at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.execute(RefreshQueueImpl.java:58)
    at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.launch(RefreshSessionImpl.java:114)
    at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.processSingleEvent(RefreshQueueImpl.java:171)
    at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.createAndFindChildWithEventFire(VirtualDirectoryImpl.java:301)
    at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.findChild(VirtualDirectoryImpl.java:81)
    at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.refreshAndFindChild(VirtualDirectoryImpl.java:312)
    at com.intellij.openapi.vfs.newvfs.VfsImplUtil.refreshAndFindFileByPath(VfsImplUtil.java:121)
    at com.intellij.openapi.vfs.impl.local.LocalFileSystemBase.refreshAndFindFileByPath(LocalFileSystemBase.java:60)
    at com.intellij.openapi.vfs.impl.local.LocalFileSystemBase.refreshAndFindFileByIoFile(LocalFileSystemBase.java:70)
    at tech.lnkd.editor.intellij.sem_web.library.RdfLibraryUtil.lambda$createVirtualFile$0(RdfLibraryUtil.java:99)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:119)
    at eu.lunisolar.magma.func.function.LFunction.tryApply(LFunction.java:217)
    at tech.lnkd.editor.intellij.sem_web.library.RdfLibraryUtil.createVirtualFile(RdfLibraryUtil.java:93)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:81)
    at eu.lunisolar.magma.func.function.LFunction.lambda$then$19(LFunction.java:548)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:81)
    at eu.lunisolar.lava.lang.collection.Loading$Map1.lambda$applyX$0(Loading.java:86)
    at eu.lunisolar.magma.func.supplier.LSupplier.get(LSupplier.java:77)
    at eu.lunisolar.lava.lang.collection.Loading.calculateIfNeeded(Loading.java:150)
    at eu.lunisolar.lava.lang.collection.Loading$Map1.applyX(Loading.java:86)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:81)
    at tech.lnkd.editor.intellij.sem_web.library.RdfLibraryUtil.optVirtualFile(RdfLibraryUtil.java:88)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
    at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
    at tech.lnkd.editor.intellij.sem_web.globalGraphs.GlobalGraphsService.createSynthetic(GlobalGraphsService.java:149)
    at tech.lnkd.editor.intellij.sem_web.globalGraphs.GlobalGraphsService.lambda$createLibs$2(GlobalGraphsService.java:109)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
    at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
    at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
    at tech.lnkd.editor.intellij.sem_web.globalGraphs.GlobalGraphsService.createLibs(GlobalGraphsService.java:118)
    at tech.lnkd.editor.intellij.sem_web.globalGraphs.GlobalGraphsService.libs(GlobalGraphsService.java:76)
    at tech.lnkd.editor.intellij.sem_web.globalGraphs.GlobalGraphsProvider.getAdditionalProjectLibraries(GlobalGraphsProvider.java:25)
    at com.intellij.openapi.roots.impl.RootIndex.buildRootInfo(RootIndex.java:243)
    at com.intellij.openapi.roots.impl.RootIndex.<init>(RootIndex.java:72)
    at com.intellij.openapi.roots.impl.RootIndex.<init>(RootIndex.java:56)
    at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getRootIndex(DirectoryIndexImpl.java:171)
    at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getRootIndex(DirectoryIndexImpl.java:154)
    at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getInfoForFile(DirectoryIndexImpl.java:181)
    at com.intellij.openapi.roots.impl.FileIndexBase.getInfoForFileOrDirectory(FileIndexBase.java:98)
    at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.getInfoForFileOrDirectory(ProjectFileIndexImpl.java:27)
    at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.isUnderIgnored(ProjectFileIndexImpl.java:87)
    at com.intellij.openapi.vfs.newvfs.VfsEventGenerationHelper.lambda$shouldScanDirectory$1(VfsEventGenerationHelper.java:105)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:889)
    at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
    at com.intellij.openapi.vfs.newvfs.VfsEventGenerationHelper.shouldScanDirectory(VfsEventGenerationHelper.java:105)
    at com.intellij.openapi.vfs.newvfs.VfsEventGenerationHelper.scheduleCreation(VfsEventGenerationHelper.java:83)
    at com.intellij.openapi.vfs.newvfs.RefreshWorker.fullDirRefresh(RefreshWorker.java:218)
    at com.intellij.openapi.vfs.newvfs.RefreshWorker.processQueue(RefreshWorker.java:120)
    at com.intellij.openapi.vfs.newvfs.RefreshWorker.scan(RefreshWorker.java:94)
    at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.scan(RefreshSessionImpl.java:155)
    at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.doScan(RefreshQueueImpl.java:131)
    at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.lambda$queueSession$1(RefreshQueueImpl.java:71)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:208)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.security.AccessController.doPrivileged(AccessController.java)
    at java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.lang.Thread.run(Thread.java:834)
Name Value
IDE api version IU-203.7717.56
IDE build IU-203.7717.56
IDE full application name IntelliJ IDEA 2020.3.3
IDE full version 2020.3.3
IDE short company name JetBrains
IDE version name IntelliJ IDEA
lunisolar commented 3 years ago

v 0.10

java.lang.Throwable: Do not perform a synchronous refresh under read lock (except from EDT) - causes deadlocks if there are events to fire.
    at com.intellij.openapi.diagnostic.Logger.error(Logger.java:161)
    at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.execute(RefreshQueueImpl.java:58)
    at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.launch(RefreshSessionImpl.java:115)
    at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.processSingleEvent(RefreshQueueImpl.java:200)
    at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.createAndFindChildWithEventFire(VirtualDirectoryImpl.java:309)
    at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.findChild(VirtualDirectoryImpl.java:82)
    at com.intellij.openapi.vfs.newvfs.impl.VirtualDirectoryImpl.refreshAndFindChild(VirtualDirectoryImpl.java:325)
    at com.intellij.openapi.vfs.newvfs.VfsImplUtil.refreshAndFindFileByPath(VfsImplUtil.java:121)
    at com.intellij.openapi.vfs.impl.local.LocalFileSystemBase.refreshAndFindFileByPath(LocalFileSystemBase.java:62)
    at com.intellij.openapi.vfs.LocalFileSystem.refreshAndFindFileByIoFile(LocalFileSystem.java:43)
    at tech.lnkd.editor.sem_web.library.RdfLibraryUtil.lambda$createVirtualFile$0(RdfLibraryUtil.java:99)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:119)
    at eu.lunisolar.magma.func.function.LFunction.tryApply(LFunction.java:222)
    at tech.lnkd.editor.sem_web.library.RdfLibraryUtil.createVirtualFile(RdfLibraryUtil.java:93)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:81)
    at eu.lunisolar.magma.func.function.LFunction.lambda$then$19(LFunction.java:553)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:81)
    at eu.lunisolar.lava.lang.collection.Loading$Map1.lambda$applyX$0(Loading.java:86)
    at eu.lunisolar.magma.func.supplier.LSupplier.get(LSupplier.java:77)
    at eu.lunisolar.lava.lang.collection.Loading.calculateIfNeeded(Loading.java:150)
    at eu.lunisolar.lava.lang.collection.Loading$Map1.applyX(Loading.java:86)
    at eu.lunisolar.magma.func.function.LFunction.apply(LFunction.java:81)
    at tech.lnkd.editor.sem_web.library.RdfLibraryUtil.optVirtualFile(RdfLibraryUtil.java:88)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
    at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
    at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
    at tech.lnkd.editor.sem_web.globalGraphs.GlobalGraphsService.createSynthetic(GlobalGraphsService.java:150)
    at tech.lnkd.editor.sem_web.globalGraphs.GlobalGraphsService.lambda$createLibs$2(GlobalGraphsService.java:110)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
    at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)
    at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
    at tech.lnkd.editor.sem_web.globalGraphs.GlobalGraphsService.createLibs(GlobalGraphsService.java:119)
    at tech.lnkd.editor.sem_web.globalGraphs.GlobalGraphsService.libs(GlobalGraphsService.java:77)
    at tech.lnkd.editor.sem_web.globalGraphs.GlobalGraphsProvider.getAdditionalProjectLibraries(GlobalGraphsProvider.java:25)
    at com.intellij.openapi.roots.impl.RootIndex.buildRootInfo(RootIndex.java:243)
    at com.intellij.openapi.roots.impl.RootIndex.<init>(RootIndex.java:72)
    at com.intellij.openapi.roots.impl.RootIndex.<init>(RootIndex.java:56)
    at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getRootIndex(DirectoryIndexImpl.java:171)
    at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getRootIndex(DirectoryIndexImpl.java:154)
    at com.intellij.openapi.roots.impl.DirectoryIndexImpl.getInfoForFile(DirectoryIndexImpl.java:181)
    at com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper.isFileUnderContentRoot(ProjectViewDirectoryHelper.java:290)
    at com.intellij.ide.projectView.impl.nodes.ProjectViewDirectoryHelper.getTopLevelRoots(ProjectViewDirectoryHelper.java:248)
    at com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode.getChildren(ProjectViewProjectNode.java:41)
    at com.intellij.ide.util.treeView.AbstractTreeStructureBase.getChildElements(AbstractTreeStructureBase.java:34)
    at com.intellij.ui.tree.StructureTreeModel.getValidChildren(StructureTreeModel.java:382)
    at com.intellij.ui.tree.StructureTreeModel.validateChildren(StructureTreeModel.java:298)
    at com.intellij.ui.tree.StructureTreeModel.getNode(StructureTreeModel.java:292)
    at com.intellij.ui.tree.StructureTreeModel.getChildren(StructureTreeModel.java:312)
    at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.getNode(AsyncTreeModel.java:545)
    at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:440)
    at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:406)
    at com.intellij.util.concurrency.Invoker$Task.run(Invoker.java:316)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1096)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:79)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:157)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:119)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:57)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:688)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:634)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:64)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:57)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:116)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:79)
    at com.intellij.util.concurrency.Invoker.invokeSafely(Invoker.java:205)
    at com.intellij.util.concurrency.Invoker.lambda$offerSafely$0(Invoker.java:183)
    at com.intellij.util.concurrency.Invoker$Background.lambda$offer$0(Invoker.java:541)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:213)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
    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)
jak-ub commented 1 year ago

Cannot reproduce, stopped being reported for new versions.