Query lists editor cells can be configured to execute model checking (by setting disable model checking to false). This is the default and there are many use cases of query lists, e.g. in mbeddr.doc embed model content as image elements.
The optimization done with PR #916 introduced a problem in this context: Due to the commented line in class ComputationModePreservingNonTypesystemChecker (which is basically a copy of NonTypesystemChecker.getErrors() except this one line) an assertion fails in MPS typesystem code (assertion dump see end of this description, recorded with MPS 2024.1).
Here are my code changes to find this ComputationModePreservingNonTypesystemChecker.

In the current code, the Throwable for the assertion is not catched and thus bubbles out of this method. It is shown in the querylist node as an unspecific message java.lang.AssertionError. See the foillowing example of this in com.mbeddr.doc (node URL).

I don't know the actual reason for PR #916, but it seems this should be either reverted or solved in a different way.
java.lang.AssertionError
at jetbrains.mps.newTypesystem.context.component.NonTypeSystemComponent.applyNonTypesystemRulesToNode(NonTypeSystemComponent.java:327)
at jetbrains.mps.newTypesystem.context.component.NonTypeSystemComponent.applyRulesToRoot(NonTypeSystemComponent.java:316)
at jetbrains.mps.newTypesystem.context.component.NonTypeSystemComponent.lambda$applyNonTypeSystemRulesToRoot$1(NonTypeSystemComponent.java:301)
at jetbrains.mps.languageScope.LanguageScope.compute(LanguageScope.java:69)
at jetbrains.mps.languageScope.LanguageScopeExecutor.execWithModelScope(LanguageScopeExecutor.java:74)
at jetbrains.mps.newTypesystem.context.component.NonTypeSystemComponent.applyNonTypeSystemRulesToRoot(NonTypeSystemComponent.java:301)
at jetbrains.mps.newTypesystem.context.typechecking.IncrementalTypechecking.applyNonTypesystemRulesToRoot(IncrementalTypechecking.java:227)
at jetbrains.mps.newTypesystem.context.typechecking.BaseTypechecking.applyNonTypesystemRulesToRoot(BaseTypechecking.java:142)
at jetbrains.mps.newTypesystem.context.typechecking.BaseTypechecking.applyNonTypesystemRulesToRoot(BaseTypechecking.java:135)
at c.m.m.e.querylist.runtime//com.mbeddr.mpsutil.editor.querylist.runtime.plugin.ComputationModePreservingNonTypesystemChecker.lambda$getErrors$1(ComputationModePreservingNonTypesystemChecker.java:55)
at jetbrains.mps.typechecking.backend.TypecheckingSessionHandler.computeIsolated(TypecheckingSessionHandler.java:102)
at c.m.m.e.querylist.runtime//com.mbeddr.mpsutil.editor.querylist.runtime.plugin.ComputationModePreservingNonTypesystemChecker.getErrors(ComputationModePreservingNonTypesystemChecker.java:30)
at jetbrains.mps.typesystemEngine.checker.NonTypesystemChecker.check(NonTypesystemChecker.java:73)
at jetbrains.mps.typesystemEngine.checker.NonTypesystemChecker.check(NonTypesystemChecker.java:28)
at jetbrains.mps.checkers.IChecker$AbstractRootChecker$1.check(IChecker.java:153)
at jetbrains.mps.checkers.IChecker$AbstractRootChecker$1.check(IChecker.java:136)
at jetbrains.mps.checkers.IteratingChecker.check(IteratingChecker.java:92)
at jetbrains.mps.checkers.IChecker$AbstractRootChecker$2.check(IChecker.java:182)
at jetbrains.mps.checkers.IChecker$AbstractRootChecker$2.check(IChecker.java:168)
at jetbrains.mps.checkers.AggregatingChecker$2.lambda$run$0(AggregatingChecker.java:73)
at jetbrains.mps.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:91)
at jetbrains.mps.smodel.ModelAccessBase.runReadAction(ModelAccessBase.java:66)
at jetbrains.mps.smodel.ModelAccessHelper.runReadAction(ModelAccessHelper.java:49)
at jetbrains.mps.checkers.AggregatingChecker$2.run(AggregatingChecker.java:72)
at jetbrains.mps.progress.DefaultTaskScheduler$DirectExecutor.execute(DefaultTaskScheduler.java:74)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$execute$2(DefaultTaskScheduler.java:51)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.progress.DefaultTaskScheduler.runAndWait(DefaultTaskScheduler.java:59)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$scheduleAllSequential$1(DefaultTaskScheduler.java:35)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.progress.DefaultTaskScheduler.runAndWait(DefaultTaskScheduler.java:59)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$scheduleAllSequential$1(DefaultTaskScheduler.java:35)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.progress.DefaultTaskScheduler.runAndWait(DefaultTaskScheduler.java:59)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$scheduleAllSequential$1(DefaultTaskScheduler.java:35)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.progress.DefaultTaskScheduler.runAndWait(DefaultTaskScheduler.java:59)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$scheduleAllSequential$1(DefaultTaskScheduler.java:35)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.progress.DefaultTaskScheduler.runAndWait(DefaultTaskScheduler.java:59)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$scheduleAllSequential$1(DefaultTaskScheduler.java:35)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.progress.DefaultTaskScheduler.runAndWait(DefaultTaskScheduler.java:59)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$scheduleTask$0(DefaultTaskScheduler.java:27)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.progress.DefaultTaskScheduler.runAndWait(DefaultTaskScheduler.java:59)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$scheduleAllSequential$1(DefaultTaskScheduler.java:35)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.progress.DefaultTaskScheduler.runAndWait(DefaultTaskScheduler.java:59)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$scheduleAllSequential$1(DefaultTaskScheduler.java:35)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.progress.DefaultTaskScheduler.runAndWait(DefaultTaskScheduler.java:59)
at jetbrains.mps.progress.DefaultTaskScheduler.lambda$scheduleTask$0(DefaultTaskScheduler.java:27)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at jetbrains.mps.checkers.ModelCheckerBuilder$1.check(ModelCheckerBuilder.java:151)
at jetbrains.mps.checkers.ModelCheckerBuilder$1.check(ModelCheckerBuilder.java:144)
at c.m.m.e.querylist.runtime//com.mbeddr.mpsutil.editor.querylist.runtime.plugin.QueryListChecker.checkForNodeMessages(QueryListChecker.java:143)
at c.m.m.e.querylist.runtime//com.mbeddr.mpsutil.editor.querylist.runtime.plugin.QueryListChecker.checkModels(QueryListChecker.java:124)
at c.m.m.e.querylist.runtime//com.mbeddr.mpsutil.editor.querylist.runtime.plugin.QueryListChecker.update(QueryListChecker.java:79)
at jetbrains.mps.nodeEditor.checking.EditorChecker.update(EditorChecker.java:70)
at jetbrains.mps.nodeEditor.highlighter.HighlighterUpdateSession$HighlighterReadAction.perform(HighlighterUpdateSession.java:317)
at jetbrains.mps.nodeEditor.highlighter.EditorCheckerWrapper.withChecker(EditorCheckerWrapper.java:69)
at jetbrains.mps.nodeEditor.highlighter.HighlighterUpdateSession$HighlighterReadAction.execute(HighlighterUpdateSession.java:311)
at jetbrains.mps.smodel.CancellableReadAction.run(CancellableReadAction.java:86)
at jetbrains.mps.smodel.ActionDispatcher.dispatch(ActionDispatcher.java:98)
at jetbrains.mps.smodel.ActionDispatcher.lambda$wrap$0(ActionDispatcher.java:135)
at jetbrains.mps.smodel.LockRunnable.run(LockRunnable.java:60)
at jetbrains.mps.smodel.PlatformCancelBlock.run(PlatformCancelBlock.java:22)
at com.intellij.openapi.application.impl.RwLockHolder.runReadAction(RwLockHolder.kt:254)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:840)
at jetbrains.mps.smodel.WorkbenchModelAccess.runReadAction(WorkbenchModelAccess.java:95)
at jetbrains.mps.smodel.ModelAccessBase.runReadAction(ModelAccessBase.java:66)
at jetbrains.mps.nodeEditor.highlighter.HighlighterUpdateSession.updateEditor(HighlighterUpdateSession.java:218)
at jetbrains.mps.nodeEditor.highlighter.HighlighterUpdateSession.updateEditorComponent(HighlighterUpdateSession.java:185)
at jetbrains.mps.nodeEditor.highlighter.HighlighterUpdateSession.lambda$doUpdate$0(HighlighterUpdateSession.java:100)
at jetbrains.mps.typechecking.backend.TypecheckingSessionHandler.runWithSession(TypecheckingSessionHandler.java:76)
at jetbrains.mps.nodeEditor.highlighter.HighlighterUpdateSession.doUpdate(HighlighterUpdateSession.java:98)
at jetbrains.mps.nodeEditor.highlighter.HighlighterUpdateSession.update(HighlighterUpdateSession.java:257)
at jetbrains.mps.nodeEditor.Highlighter$ScheduleHighlighterUpdate.update(Highlighter.java:490)
at jetbrains.mps.nodeEditor.Highlighter$ScheduleHighlighterUpdate.lambda$run$0(Highlighter.java:471)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Query lists editor cells can be configured to execute model checking (by setting
disable model checkingtofalse). This is the default and there are many use cases of query lists, e.g. in mbeddr.docembed model content as imageelements.The optimization done with PR #916 introduced a problem in this context: Due to the commented line in class
ComputationModePreservingNonTypesystemChecker(which is basically a copy ofNonTypesystemChecker.getErrors()except this one line) an assertion fails in MPS typesystem code (assertion dump see end of this description, recorded with MPS 2024.1).Here are my code changes to find this
ComputationModePreservingNonTypesystemChecker.In the current code, the
Throwablefor the assertion is not catched and thus bubbles out of this method. It is shown in the querylist node as an unspecific messagejava.lang.AssertionError. See the foillowing example of this incom.mbeddr.doc(node URL).I don't know the actual reason for PR #916, but it seems this should be either reverted or solved in a different way.