Jmix 2.6.0 plugin issue when opening Descriptors(.xml)

After upgrade Jmix plugin and my project to Jmix 2.6.0, my whole IDE’s performance (IntelliJ 2025.1.3) have been slowed down a lot and it keeps prompting an error with stacktrace as shown below:

java.lang.NullPointerException: Cannot invoke "com.intellij.lang.Language.getID()" because the return value of "com.haulmont.jmixstudio.model.SourceLanguage.getLanguage()" is null
	at com.haulmont.jmixstudio.flowui.util.FlowActionUtils.languageModificationTracker$lambda$16(FlowActionUtils.kt:197)
	at com.haulmont.jmixstudio.flowui.util.FlowActionUtils.languageModificationTracker$lambda$17(FlowActionUtils.kt:197)
	at com.intellij.psi.impl.PsiModificationTrackerImpl.lambda$forLanguages$3(PsiModificationTrackerImpl.java:174)
	at com.intellij.util.CachedValueBase.getTimeStamp(CachedValueBase.java:155)
	at com.intellij.psi.impl.PsiCachedValue.getTimeStamp(PsiCachedValue.java:106)
	at com.intellij.util.CachedValueBase.computeData(CachedValueBase.java:47)
	at com.intellij.util.CachedValueBase.lambda$getValueWithLock$4(CachedValueBase.java:299)
	at com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:113)
	at com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:28)
	at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
	at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:300)
	at com.intellij.psi.impl.AbstractPsiCachedValue.getValue(PsiCachedValueImpl.kt:15)
	at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:83)
	at com.haulmont.jmixstudio.flowui.util.FlowActionUtils.findCustomActionsClasses(FlowActionUtils.kt:153)
	at com.haulmont.jmixstudio.flowui.util.FlowActionUtils.findCustomActions(FlowActionUtils.kt:67)
	at com.haulmont.jmixstudio.flowui.sd.designer.meta.FlowComponentLibrary.recomputeCustomActions(FlowComponentLibrary.kt:365)
	at com.haulmont.jmixstudio.flowui.sd.designer.meta.FlowComponentLibrary.getActions(FlowComponentLibrary.kt:303)
	at com.haulmont.jmixstudio.flowui.psi.reference.FlowActionTypeReference.getActions(FlowActionTypeReference.kt:46)
	at com.haulmont.jmixstudio.flowui.psi.reference.FlowActionTypeReference.resolve(FlowActionTypeReference.kt:30)
	at com.intellij.codeInspection.xml.DeprecatedClassUsageInspection.checkReferences(DeprecatedClassUsageInspection.java:44)
	at com.intellij.codeInspection.xml.DeprecatedClassUsageInspection$1.visitXmlAttributeValue(DeprecatedClassUsageInspection.java:35)
	at com.intellij.psi.impl.source.xml.XmlAttributeValueImpl.accept(XmlAttributeValueImpl.java:44)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner$InspectionProblemHolder.visitElement(InspectionRunner.java:587)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$processContext$19(InspectionRunner.java:414)
	at com.intellij.codeInsight.daemon.impl.InspectionVisitorOptimizer.acceptElements(InspectionVisitorOptimizer.java:217)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.processContext(InspectionRunner.java:412)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$inspect$7(InspectionRunner.java:180)
	at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction$lambda$11(AnyThreadWriteThreadingSupport.kt:522)
	at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runWithTemporaryThreadLocal(AnyThreadWriteThreadingSupport.kt:204)
	at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:522)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1064)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$executeInImpatientReadAction$16(InspectionRunner.java:393)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:158)
	at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:150)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$executeInImpatientReadAction$17(InspectionRunner.java:384)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:129)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:118)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.executeInImpatientReadAction(InspectionRunner.java:384)
	at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$inspect$8(InspectionRunner.java:173)
	at com.intellij.concurrency.ApplierCompleter.processArrayItem(ApplierCompleter.java:121)
	at com.intellij.concurrency.ApplierCompleter.processArray(ApplierCompleter.java:205)
	at com.intellij.concurrency.ApplierCompleter.helpOthers(ApplierCompleter.java:225)
	at com.intellij.concurrency.ApplierCompleter.helpAll(ApplierCompleter.java:183)
	at com.intellij.concurrency.ApplierCompleter.lambda$exec$0(ApplierCompleter.java:111)
	at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction$lambda$11(AnyThreadWriteThreadingSupport.kt:522)
	at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runWithTemporaryThreadLocal(AnyThreadWriteThreadingSupport.kt:204)
	at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:522)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1064)
	at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$2(ApplierCompleter.java:153)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:680)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:755)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:711)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:679)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:77)
	at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:164)
	at com.intellij.concurrency.ApplierCompleter.lambda$wrapAndRun$1(ApplierCompleter.java:145)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:197)
	at com.intellij.concurrency.ApplierCompleter.wrapAndRun(ApplierCompleter.java:145)
	at com.intellij.concurrency.ApplierCompleter.exec(ApplierCompleter.java:113)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1491)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:2073)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:2035)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
	Suppressed: com.intellij.util.ExceptionUtilRt$RethrownStack: Rethrown at
		at com.intellij.util.ExceptionUtilRt.addRethrownStackAsSuppressed(ExceptionUtilRt.java:41)
		at com.intellij.util.ExceptionUtilRt.rethrowUnchecked(ExceptionUtilRt.java:17)
		at com.intellij.util.ExceptionUtil.rethrowUnchecked(ExceptionUtil.java:131)
		at com.intellij.util.ExceptionUtil.rethrow(ExceptionUtil.java:146)
		at com.intellij.concurrency.ApplierCompleter.helpAll(ApplierCompleter.java:190)
		... 21 more
	Suppressed: com.intellij.util.ExceptionUtilRt$RethrownStack: Rethrown at
		at com.intellij.util.ExceptionUtilRt.addRethrownStackAsSuppressed(ExceptionUtilRt.java:41)
		at com.intellij.util.ExceptionUtilRt.rethrowUnchecked(ExceptionUtilRt.java:17)
		at com.intellij.util.ExceptionUtil.rethrowUnchecked(ExceptionUtil.java:131)
		at com.intellij.util.ExceptionUtil.rethrow(ExceptionUtil.java:146)
		at com.intellij.concurrency.ApplierCompleter.execAll(ApplierCompleter.java:178)
		at com.intellij.concurrency.ApplierCompleter.lambda$exec$0(ApplierCompleter.java:110)
		... 20 more
	Suppressed: com.intellij.util.ExceptionUtilRt$RethrownStack: Rethrown at
		at com.intellij.util.ExceptionUtilRt.addRethrownStackAsSuppressed(ExceptionUtilRt.java:41)
		at com.intellij.util.ExceptionUtilRt.rethrowUnchecked(ExceptionUtilRt.java:17)
		at com.intellij.util.ExceptionUtil.rethrowUnchecked(ExceptionUtil.java:131)
		at com.intellij.util.ExceptionUtil.rethrow(ExceptionUtil.java:146)
		at com.intellij.concurrency.JobLauncherImpl.safeIterate(JobLauncherImpl.java:194)
		at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgressAsync(JobLauncherImpl.java:113)
		at com.intellij.concurrency.JobLauncherImpl.processConcurrentlyAsync(JobLauncherImpl.java:468)
		at com.intellij.codeInsight.daemon.impl.InspectionRunner.lambda$inspect$11(InspectionRunner.java:190)
		at com.intellij.codeInspection.InspectionEngine.withSession(InspectionEngine.java:240)
		at com.intellij.codeInsight.daemon.impl.InspectionRunner.inspect(InspectionRunner.java:147)
		at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$collectInformationWithProgress$4(LocalInspectionsPass.java:149)
		at com.intellij.codeInsight.daemon.impl.HighlightInfoUpdaterImpl.lambda$runWithInvalidPsiRecycler$42(HighlightInfoUpdaterImpl.java:869)
		at com.intellij.codeInsight.daemon.impl.ManagedHighlighterRecycler.runWithRecycler(ManagedHighlighterRecycler.java:87)
		at com.intellij.codeInsight.daemon.impl.HighlightInfoUpdaterImpl.runWithInvalidPsiRecycler(HighlightInfoUpdaterImpl.java:850)
		at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:161)
		at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:88)
		at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
		at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:435)
		at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:28)
		at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$3(PassExecutorService.java:431)
		at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction$lambda$11(AnyThreadWriteThreadingSupport.kt:522)
		at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.runWithTemporaryThreadLocal(AnyThreadWriteThreadingSupport.kt:204)
		at com.intellij.openapi.application.impl.AnyThreadWriteThreadingSupport.tryRunReadAction(AnyThreadWriteThreadingSupport.kt:522)
		at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1064)
		at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$4(PassExecutorService.java:421)
		at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$14(CoreProgressManager.java:680)
		at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:755)
		at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:711)
		at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:679)
		at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:77)
		at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:420)
		at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:395)
		at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.cacheFileTypesInside(FileTypeManagerImpl.java:834)
		at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$1(PassExecutorService.java:395)
		at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:197)
		at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:393)
		at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:267)
		... 5 more
	Suppressed: com.intellij.util.ExceptionUtilRt$RethrownStack: Rethrown at
		at com.intellij.util.ExceptionUtilRt.addRethrownStackAsSuppressed(ExceptionUtilRt.java:41)
		at com.intellij.util.ExceptionUtilRt.rethrowUnchecked(ExceptionUtilRt.java:17)
		at com.intellij.util.ExceptionUtil.rethrowUnchecked(ExceptionUtil.java:131)
		at com.intellij.util.ExceptionUtil.rethrow(ExceptionUtil.java:146)
		at com.intellij.concurrency.ApplierCompleter.helpAll(ApplierCompleter.java:190)
		... 21 more

Could you please help to solve this, whether it is an issue with the plugin or am I missing any configurations?

Additional findings: I also could not use the “Inject” function on any View Components to get it into my Controller class, and the Jmix UI function also will not recognize my whole view.

Hi

Thanks for reporting the issue!
There is a bug in Jmix Studio. Fix will be available in the upcoming Studio release 2.6.1.

It seems that the issue caused by disabled Kotlin or Groovy IDEA plugin. As a workaround you can enable this plugins until the fix delivered.

1 Like