JetBrains / MPS-extensions

MPS-extensions aims to ease language development within MPS.
https://jetbrains.github.io/MPS-extensions/
Apache License 2.0
83 stars 52 forks source link

Shadow-models-related exception in welcome screen after closing project #351

Open kbirken opened 3 years ago

kbirken commented 3 years ago

Test environment: Current iets3.core master (migrated to 2020.3), and MPS 2020.3.1 on MacOs 10.15.7.

When opening the project with MPS and closing it again, MPS returns to the (new) welcome screen. In this state, the following exception is issued on the console every 10 seconds:

2021-02-22 09:55:13,063 [76190301]  ERROR - model.RepositoryModulesManager -
java.lang.RuntimeException: $shadowRepository()@0_0 doesn't contain $shadowRepository()@0_0/de.q60.mps.shadowmodels.repository.transformations.ShadowRepository.Repository(°PNode907161941000000001[Repository] [DependencyTrackingNode])
    at de.q60.mps.shadowmodels.runtime.engine.SubgraphStage.getTransformationResult(SubgraphStage.java:253)
    at de.q60.mps.shadowmodels.runtime.engine.SubgraphStage.resolveContainmentTarget(SubgraphStage.java:193)
    at de.q60.mps.shadowmodels.runtime.engine.TransformationEngine.resolveRootNodes(TransformationEngine.java:268)
    at de.q60.mps.shadowmodels.runtime.engine.ContainmentTargetRootNodes.getNodes(ContainmentTargetRootNodes.java:30)
    at de.q60.mps.shadowmodels.runtime.engine.StageRootNodes$1.translate(StageRootNodes.java:24)
    at de.q60.mps.shadowmodels.runtime.engine.StageRootNodes$1.translate(StageRootNodes.java:22)
    at jetbrains.mps.internal.collections.runtime.ITranslator2.invoke(ITranslator2.java:12)
    at jetbrains.mps.internal.collections.runtime.ITranslator2.invoke(ITranslator2.java:7)
    at jetbrains.mps.internal.collections.runtime.impl.TranslatingSequence$TranslatingIterator.moveToNext(TranslatingSequence.java:82)
    at jetbrains.mps.internal.collections.runtime.impl.TranslatingSequence$TranslatingIterator.hasNext(TranslatingSequence.java:37)
    at jetbrains.mps.internal.collections.runtime.IterableUtils.first(IterableUtils.java:59)
    at jetbrains.mps.internal.collections.runtime.AbstractSequence.first(AbstractSequence.java:187)
    at de.q60.mps.shadowmodels.runtime.smodel.RepositoryModulesManager.getRootTransformationOutput(RepositoryModulesManager.java:301)
    at de.q60.mps.shadowmodels.runtime.smodel.RepositoryModulesManager$7$1.invoke(RepositoryModulesManager.java:256)
    at de.q60.mps.shadowmodels.runtime.smodel.RepositoryModulesManager$11$1.run(RepositoryModulesManager.java:423)
    at de.q60.mps.incremental.util.ContextValue.runWith(ContextValue.java:34)
    at de.q60.mps.shadowmodels.runtime.smodel.RepositoryModulesManager$11.invoke(RepositoryModulesManager.java:421)
    at de.q60.mps.incremental.util.ContextValue.runWith(ContextValue.java:43)
    at de.q60.mps.shadowmodels.runtime.model.persistent.PBranch.runRead(PBranch.java:75)
    at de.q60.mps.shadowmodels.runtime.smodel.RepositoryModulesManager.runReadOnTransformationOutput(RepositoryModulesManager.java:419)
    at de.q60.mps.shadowmodels.runtime.smodel.RepositoryModulesManager$7.invoke(RepositoryModulesManager.java:252)
    at de.q60.mps.incremental.util.ContextValue.runWith(ContextValue.java:43)
    at de.q60.mps.shadowmodels.runtime.model.persistent.PBranch.runWrite(PBranch.java:123)
    at de.q60.mps.shadowmodels.runtime.smodel.RepositoryModulesManager.synchronize(RepositoryModulesManager.java:250)
    at de.q60.mps.shadowmodels.runtime.smodel.RepositoryModulesManager$3.run(RepositoryModulesManager.java:125)
    at java.base/java.lang.Thread.run(Thread.java:834)

This is not system critical, but annoying. I don't think this is related to the exact MPS version, and also not to the project which has been opened. I just happened to notice now. :-)

alexanderpann commented 3 months ago

@kbirken Is this still reproducible for you?

alexanderpann commented 2 months ago

Shadow Models seems to run some listeners and code from project/application plugins even if it is disabled.