ConcurrentModificationException on product generation
When trying to generate the project that can be found here, sometimes a ConcurrendModificationException
is thrown (the StackTrace can be found below).
When this happens also the following packages and their files are generated into unrelated projects:
info.scce.cinco.transformer.v1.editor.graphiti
info.scce.cinco.transformer.v1.adapter
(Particularly noticeable is the file TransformationRulesApiResouce.java
with the incorrect spelling 'Resouce')
Depending on what projects are in the workspace, this packages / files can be found in exactly one of them in the xtend-gen
folder. In two different setups (on Windows and Mac), they already have bean generated into another Cinco project and into a Xtext grammar project.
To build the project, please consider the README file. Additionally the MWE2 workflows of the following grammars have to be executed before product generation:
info.scce.cinco.transformer.condition
info.scce.cinco.transformer.sigma
info.scce.cinco.transformer.sigma.transition
Unfortunately, we are not able to produce an MRE and hope the information provided will still be helpful.
The execution has been canceled.
Task failed:
Generating Graphiti editor
Generation of TransformationLanguage.mgl failed
Error executing 'de.jabc.cinco.meta.core.ge.style.generator.newgraphitigenerator': java.util.ConcurrentModificationException
java.util.ConcurrentModificationException
java.lang.RuntimeException: Generation of TransformationLanguage.mgl failed
at de.jabc.cinco.meta.core.ui.handlers.CincoProductGenerationHandler.execute(CincoProductGenerationHandler.java:654)
at de.jabc.cinco.meta.core.ui.handlers.CincoProductGenerationHandler.generateGraphitiEditor(CincoProductGenerationHandler.java:454)
at de.jabc.cinco.meta.core.ui.handlers.CincoProductGenerationHandler.lambda$14(CincoProductGenerationHandler.java:233)
at de.jabc.cinco.meta.core.utils.job.Task.lambda$0(Task.java:33)
at de.jabc.cinco.meta.core.utils.job.Task.run(Task.java:50)
at de.jabc.cinco.meta.core.utils.job.Workload.lambda$20(Workload.java:444)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at de.jabc.cinco.meta.core.utils.job.Workload.perform(Workload.java:437)
at de.jabc.cinco.meta.core.utils.job.CompoundJob.perform(CompoundJob.java:465)
at de.jabc.cinco.meta.core.utils.job.CompoundJob.lambda$9(CompoundJob.java:458)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at de.jabc.cinco.meta.core.utils.job.CompoundJob.run(CompoundJob.java:454)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.eclipse.core.commands.ExecutionException: Error executing 'de.jabc.cinco.meta.core.ge.style.generator.newgraphitigenerator': java.util.ConcurrentModificationException
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:170)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
at de.jabc.cinco.meta.core.ui.handlers.CincoProductGenerationHandler.execute(CincoProductGenerationHandler.java:649)
... 12 more
Caused by: org.eclipse.e4.core.di.InjectionException: java.util.ConcurrentModificationException
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:68)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:319)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:253)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
... 14 more
Caused by: java.util.ConcurrentModificationException
at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1493)
at java.base/java.util.HashMap$KeyIterator.next(HashMap.java:1516)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
at com.google.common.collect.Iterators$ConcatenatedIterator.hasNext(Iterators.java:1330)
at com.google.common.collect.Iterators.addAll(Iterators.java:355)
at com.google.common.collect.Iterables.addAll(Iterables.java:320)
at de.jabc.cinco.meta.core.utils.generator.GeneratorUtils.getUsableUserDefinedTypes(GeneratorUtils.java:1362)
at de.jabc.cinco.meta.core.ge.style.generator.templates.PropertyViewTmpl.generatePropertyView(PropertyViewTmpl.java:415)
at de.jabc.cinco.meta.core.ge.style.generator.main.GraphitiGeneratorMain.doGenerate(GraphitiGeneratorMain.java:222)
at de.jabc.cinco.meta.core.ge.style.generator.action.NewGraphitiCodeGenerator$3.apply(NewGraphitiCodeGenerator.java:144)
at de.jabc.cinco.meta.core.ge.style.generator.action.NewGraphitiCodeGenerator$3.apply(NewGraphitiCodeGenerator.java:1)
at org.eclipse.xtext.xbase.lib.ObjectExtensions.operator_doubleArrow(ObjectExtensions.java:140)
at de.jabc.cinco.meta.core.ge.style.generator.action.NewGraphitiCodeGenerator.execute(NewGraphitiCodeGenerator.java:147)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
... 18 more