Intellij Cuba v7 plugin IllegalArgumentException on startup

Whenever I start up my Intellij (2018.3.5/Build IU-183.5912.21) with Cuba Studio v8.1-183 and open my project, I get the following error. Once I get this, Alt-Insert will show a dialog box where I can choose an option like @Subscribe or Inject, but choosing an option does nothing.

I have run gradlew cleanIdea from my command line but it did not help.

I am in the middle of converting my project from v6 to v7, so there is a mixture of both styles of code in there. Just in case that means anything.

java.lang.IllegalArgumentException: Argument for @NotNull parameter 'dataContainerId' of com/haulmont/studio/intellij/metadata/screen/WindowDescriptorServiceImpl.getDataContainerEntityClass must not be null
	at com.haulmont.studio.intellij.metadata.screen.WindowDescriptorServiceImpl.$$$reportNull$$$0(SourceFile)
	at com.haulmont.studio.intellij.metadata.screen.WindowDescriptorServiceImpl.getDataContainerEntityClass(SourceFile)
	at com.haulmont.studio.intellij.generator.ui.ComponentTypeResolver.findEntityClassForListComponent(SourceFile:284)
	at com.haulmont.studio.intellij.generator.ui.ComponentTypeResolver.getListComponentClassName(SourceFile:215)
	at com.haulmont.studio.intellij.generator.ui.ComponentTypeResolver.getComponentType(SourceFile:77)
	at com.haulmont.studio.intellij.generator.ui.ProcessComponentsProcessor.execute(SourceFile:55)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processXmlElements(XmlPsiUtil.java:86)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processElement(XmlPsiUtil.java:122)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processXmlElements(XmlPsiUtil.java:114)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processElement(XmlPsiUtil.java:122)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processXmlElements(XmlPsiUtil.java:114)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processElement(XmlPsiUtil.java:122)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processXmlElements(XmlPsiUtil.java:114)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processElement(XmlPsiUtil.java:122)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processXmlElements(XmlPsiUtil.java:114)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processElement(XmlPsiUtil.java:122)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processXmlElements(XmlPsiUtil.java:114)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.processElement(XmlPsiUtil.java:122)
	at com.intellij.xml.util.XmlPsiUtil$XmlElementProcessor.access$100(XmlPsiUtil.java:75)
	at com.intellij.xml.util.XmlPsiUtil.processXmlElementChildren(XmlPsiUtil.java:69)
	at com.intellij.xml.util.XmlUtil.processXmlElementChildren(XmlUtil.java:312)
	at com.haulmont.studio.intellij.generator.ui.GenerateInjectsScanner.gatherComponents(SourceFile:297)
	at com.haulmont.studio.intellij.inspection.InjectedComponentGenericsInspection.inspectScreenController(SourceFile:72)
	at com.haulmont.studio.intellij.inspection.InjectedComponentGenericsInspection.checkFile(SourceFile:58)
	at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:141)
	at com.intellij.psi.impl.source.PsiJavaFileBaseImpl.accept(PsiJavaFileBaseImpl.java:520)
	at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:75)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$null$7(LocalInspectionsPass.java:316)
	at com.intellij.util.AstLoadingFilter.lambda$toComputable$2(AstLoadingFilter.java:168)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115)
	at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:110)
	at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitRestElementsAndCleanup$8(LocalInspectionsPass.java:315)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:133)
	at com.intellij.concurrency.ApplierCompleter.tryToExecAllList(ApplierCompleter.java:223)
	at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:151)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1168)
	at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:582)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
	at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:116)
	at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:147)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:222)
	at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
	at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Hi! Thank you for reporting the problem. We have created a YouTrack issue.

It would be nice, if your share your screen xml on which the problem is reproduced.

Sorry, should have done that. And, of course, the error has now gone away. It is all working as it should.

Unfortunately, I can’t point to a specific change that “fixed” it. I have been removing and re-creating screens using v7 code, as well as changing current screens from Datasources to Datacontainers.

My best guess is I had a typo somewhere that was causing the issue and I repaired it.

If I come across it again or manage to figure out what I did wrong, I will be sure to let you know.