Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 352450 - [Xtend] Models cannot be read by reader
Summary: [Xtend] Models cannot be read by reader
Status: CLOSED FIXED
Alias: None
Product: TMF
Classification: Modeling
Component: Xtext (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: SR1   Edit
Assignee: Holger Schill CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-19 08:44 EDT by Christian Dietrich CLA
Modified: 2017-09-19 17:27 EDT (History)
2 users (show)

See Also:
Holger.Schill: indigo+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Dietrich CLA 2011-07-19 08:44:06 EDT
Build Identifier: 2.0.0

I Try to read some Xtend model with Mwe Reader. This does not work

Here the Workflow:

module Test

Workflow {
	
	component = org.eclipse.xtext.mwe.Reader {
		path = "src"
		uriFilter = org.eclipse.xtext.mwe.NameBasedFilter {
			extension = "xtend"
		}
		register = org.eclipse.xtext.xtend2.Xtend2StandaloneSetup {}
		loadResource = {
			slot = "model"
		}
	}
	
}

Having a simple model

package test

class Test {
	
}

i get 

0    [main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher  - Problems running workflow Test: Validation problems: 
1 error:
	Test.xtend - C:\ba_dev81\guidsl_ws_113xxxx\test\src\test\Test.xtend
		1: The declared package 'test' does not match the expected package
java.lang.RuntimeException: Problems running workflow Test: Validation problems: 
1 error:
	Test.xtend - C:\ba_dev81\guidsl_ws_113xxxx\test\src\test\Test.xtend
		1: The declared package 'test' does not match the expected package
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:99)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:73)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:64)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:55)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
Caused by: org.eclipse.emf.mwe.core.WorkflowInterruptedException: Validation problems: 

can solve this using bin as path

if i try to generate the domainmodel example with a similar workflow
i get even strager problems

java.util.ConcurrentModificationException
	at org.eclipse.emf.common.util.AbstractEList$EIterator.checkModCount(AbstractEList.java:762)
	at org.eclipse.emf.common.util.AbstractEList$EIterator.doNext(AbstractEList.java:710)
	at org.eclipse.emf.common.util.AbstractEList$EIterator.next(AbstractEList.java:696)
	at org.eclipse.xtext.resource.SynchronizedXtextResourceSet$1$SynchronizedEIterator.next(SynchronizedXtextResourceSet.java:142)
	at org.eclipse.xtext.resource.SynchronizedXtextResourceSet$1$SynchronizedEIterator.next(SynchronizedXtextResourceSet.java:1)
	at com.google.common.collect.Iterators$8.next(Iterators.java:696)
	at com.google.common.collect.Iterators$7.computeNext(Iterators.java:602)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:135)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:130)
	at com.google.common.collect.Iterators$8.hasNext(Iterators.java:693)
	at com.google.common.collect.Iterators$8.hasNext(Iterators.java:693)
	at com.google.common.collect.Iterators$5.hasNext(Iterators.java:504)
	at com.google.common.collect.Iterators$7.computeNext(Iterators.java:601)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:135)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:130)
	at com.google.common.collect.Iterators$7.computeNext(Iterators.java:601)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:135)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:130)
	at com.google.common.collect.Iterators$5.hasNext(Iterators.java:504)
	at org.eclipse.xtext.scoping.impl.ImportScope.getLocalElementsByName(ImportScope.java:154)
	at org.eclipse.xtext.scoping.impl.AbstractScope.getElements(AbstractScope.java:127)
	at org.eclipse.xtext.scoping.impl.AbstractScope$2.get(AbstractScope.java:130)
	at org.eclipse.xtext.scoping.impl.AbstractScope$2.get(AbstractScope.java:1)
	at org.eclipse.xtext.scoping.impl.AbstractScope$ParentIterable.iterator(AbstractScope.java:58)
	at com.google.common.collect.Iterables$3.apply(Iterables.java:422)
	at com.google.common.collect.Iterables$3.apply(Iterables.java:420)
	at com.google.common.collect.Iterators$8.next(Iterators.java:697)
	at com.google.common.collect.Iterators$5.hasNext(Iterators.java:505)
	at org.eclipse.xtext.scoping.impl.ImportScope.getLocalElementsByName(ImportScope.java:154)
	at org.eclipse.xtext.scoping.impl.ImportScope.getSingleLocalElementByName(ImportScope.java:140)
	at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:101)
	at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:104)
	at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:104)
	at org.eclipse.xtext.linking.impl.DefaultLinkingService.getLinkedObjects(DefaultLinkingService.java:121)
	at org.eclipse.xtext.linking.lazy.LazyLinkingResource.getEObject(LazyLinkingResource.java:169)
	at org.eclipse.xtext.xtend2.resource.Xtend2Resource.getEObject(Xtend2Resource.java:74)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:219)
	at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:203)
	at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:263)
	at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy(BasicEObjectImpl.java:1483)
	at org.eclipse.xtext.common.types.impl.JvmParameterizedTypeReferenceImpl.getType(JvmParameterizedTypeReferenceImpl.java:110)
	at org.eclipse.xtext.common.types.util.TypeArgumentContextProvider.internalComputeContext(TypeArgumentContextProvider.java:382)
	at org.eclipse.xtext.common.types.util.TypeArgumentContextProvider.resolveReceiver(TypeArgumentContextProvider.java:213)
	at org.eclipse.xtext.common.types.util.TypeArgumentContextProvider.getReceiverContext(TypeArgumentContextProvider.java:89)
	at org.eclipse.xtext.common.types.util.FeatureOverridesService.getAllJvmFeatures(FeatureOverridesService.java:55)
	at org.eclipse.xtext.xtend2.dispatch.DispatchingSupport.collectDispatchMethods(DispatchingSupport.java:76)
	at org.eclipse.xtext.xtend2.dispatch.DispatchingSupport.getDispatchMethods(DispatchingSupport.java:58)
	at org.eclipse.xtext.xtend2.jvmmodel.Xtend2JvmModelInferrer.appendSyntheticDispatchMethods(Xtend2JvmModelInferrer.java:101)
	at org.eclipse.xtext.xtend2.jvmmodel.Xtend2JvmModelInferrer.transform(Xtend2JvmModelInferrer.java:95)
	at org.eclipse.xtext.xtend2.jvmmodel.Xtend2JvmModelInferrer.inferJvmModel(Xtend2JvmModelInferrer.java:73)
	at org.eclipse.xtext.xbase.jvmmodel.JvmModelXbaseLazyLinker.afterModelLinked(JvmModelXbaseLazyLinker.java:57)
	at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.linkModel(AbstractCleaningLinker.java:44)
	at org.eclipse.xtext.resource.XtextResource.doLinking(XtextResource.java:249)
	at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLinking(LazyLinkingResource.java:76)
	at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:217)
	at org.eclipse.xtext.resource.XtextResource.doLoad(XtextResource.java:152)
	at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLoad(LazyLinkingResource.java:69)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1511)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1290)
	at org.eclipse.xtext.mwe.Validator.validate(Validator.java:65)
	at org.eclipse.xtext.mwe.Reader.invokeInternal(Reader.java:165)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:97)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:73)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:64)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:55)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
classpath:/test/Test.xtend

I tried to reproduce this with a simple example, but this does not work

Reproducible: Always
Comment 1 Holger Schill CLA 2011-07-19 08:51:04 EDT
We observed this problems minutes ago. Currently we are working on a solution.
Comment 2 Holger Schill CLA 2011-07-19 10:27:14 EDT
During the iteration of resources in ResourceSetBasedResourceDescriptions the org.eclipse.xtext.common.types.access.impl.ClasspathTypeProvider added resolved types to the same list. So a ConcurrentModificationException occured.

pushed fix and test to master.
Comment 3 Christian Dietrich CLA 2011-07-19 12:41:10 EDT
Hi,

does this solve the first part of the error description too?

Workflow {

    component = org.eclipse.xtext.mwe.Reader {
        path = "src"
        uriFilter = org.eclipse.xtext.mwe.NameBasedFilter {
            extension = "xtend"
        }
        register = org.eclipse.xtext.xtend2.Xtend2StandaloneSetup {}
        loadResource = {
            slot = "model"
        }
    }

}



=>

0    [main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher  - Problems running
workflow Test: Validation problems: 
1 error:
    Test.xtend - C:\ba_dev81\guidsl_ws_113xxxx\test\src\test\Test.xtend
        1: The declared package 'test' does not match the expected package
java.lang.RuntimeException: Problems running workflow Test: Validation
problems: 
1 error:
    Test.xtend - C:\ba_dev81\guidsl_ws_113xxxx\test\src\test\Test.xtend
        1: The declared package 'test' does not match the expected package
    at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:99)
    at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:73)
    at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:64)
    at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:55)
    at
org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
    at
org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
Caused by: org.eclipse.emf.mwe.core.WorkflowInterruptedException: Validation
problems:
Comment 4 Christian Dietrich CLA 2011-07-20 02:59:54 EDT
created #352534 for the second problem
Comment 5 Karsten Thoms CLA 2017-09-19 17:15:53 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 6 Karsten Thoms CLA 2017-09-19 17:27:18 EDT
Closing all bugs that were set to RESOLVED before Neon.0