Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » java.lang.CircularityError IClientSelector
java.lang.CircularityError IClientSelector [message #23894] Mon, 20 February 2006 21:10 Go to next message
Eclipse UserFriend
Originally posted by: saya.txesystems.com

Hi,
As validation framework nicely supports OCL, following the tutorial for
validation framework in emf, I tried to implement a simple constraint with
my two plugins GeneratedOETests and helloworld. helloworld contributes the
context, binding and constrain in its plugin.xml:


<extension
point="org.eclipse.emf.validation.constraintBindings">
<clientContext
default="false"
id="com.acme.orderentry.constraintsContext">
<selector
class="helloworld.actions.ValidationDelegateClientSelector"/ >
</clientContext>
<binding
context="com.acme.orderentry.constraintsContext"
category="com.acme.orderentry.constraints"/>
</extension>


<extension
point="org.eclipse.emf.validation.constraintProviders">
<category
name="OrderEntry Constraints"
id="com.acme.orderentry.constraints"/>
<constraintProvider cache="true">
<package namespaceUri="http:///orderentry.ecore"/>
<constraints categories="com.acme.orderentry.constraints">
<constraint
lang="Java"
class="helloworld.actions.NonEmptyNamesConstraint"
severity="ERROR"
mode="Batch"
name="Non-Empty Names"
id="com.acme.orderentry.constraints.NameNotEmpty"
statusCode="1">
<description>
All customers should have some unique identifier or name.
</description>
<message>
A {0} has been found to have no unique identifier (name
or title).
</message>
<target class="Customer"/>
</constraint>
</constraints>
</constraintProvider>
</extension>

In GeneratedOETests which depend on helloworld, the plugin-test
BatchValidator does the following:

Customer customer=OrderEntryFactory.eINSTANCE.createCustomer();
ValidationDelegateClientSelector.running = true;

IBatchValidator validator =
(IBatchValidator)ModelValidationService.getInstance()
.newValidator(EvaluationMode.BATCH);
validator.setIncludeLiveConstraints(true);


IStatus status=validator.validate(customer,null);
ValidationDelegateClientSelector.running = false;

Collection descs=ConstraintRegistry.getInstance().getAllDescriptors();
logger.debug("desc size:"+descs.size());

Collection
contexts=ClientContextManager.getInstance().getClientContext s();
logger.debug("contexts size:"+contexts.size());


In validator.validate(customer,null), when the class loader tries to load
ValidationDelegateClientSelector, it gives java.lang.CircularityError
error. Before trying to load the ValidationDelegateClientSelector, the
class loader actually looks at whether it has been alrady loaded and it
fails to find the class altough we already used it before calling the
validator.validate(customer,null) method.

I am using eclipse 3.2.0

I had spent quite some time on this. I would appreciate any directions or
suggestions for workarounds.
Thanks,
Selcuk
Re: java.lang.CircularityError IClientSelector [message #23935 is a reply to message #23894] Mon, 20 February 2006 22:51 Go to previous messageGo to next message
Chris McGee is currently offline Chris McGeeFriend
Messages: 99
Registered: July 2009
Member
Hi Selcuk,

Do you have a stack trace for the CircularityError?

Thanks,
Chris McGee

Selcuk Aya wrote:
> Hi,
> As validation framework nicely supports OCL, following the tutorial for
> validation framework in emf, I tried to implement a simple constraint
> with my two plugins GeneratedOETests and helloworld. helloworld
> contributes the context, binding and constrain in its plugin.xml:
>
> <extension
> point="org.eclipse.emf.validation.constraintBindings">
> <clientContext
> default="false"
> id="com.acme.orderentry.constraintsContext">
> <selector
> class="helloworld.actions.ValidationDelegateClientSelector"/ >
> </clientContext>
> <binding
> context="com.acme.orderentry.constraintsContext"
> category="com.acme.orderentry.constraints"/>
> </extension>
>
> <extension
> point="org.eclipse.emf.validation.constraintProviders">
> <category
> name="OrderEntry Constraints"
> id="com.acme.orderentry.constraints"/>
> <constraintProvider cache="true">
> <package namespaceUri="http:///orderentry.ecore"/>
> <constraints categories="com.acme.orderentry.constraints">
> <constraint
> lang="Java"
> class="helloworld.actions.NonEmptyNamesConstraint"
> severity="ERROR"
> mode="Batch"
> name="Non-Empty Names"
> id="com.acme.orderentry.constraints.NameNotEmpty"
> statusCode="1">
> <description>
> All customers should have some unique identifier or name.
> </description>
> <message>
> A {0} has been found to have no unique identifier (name
> or title).
> </message>
> <target class="Customer"/>
> </constraint>
> </constraints>
> </constraintProvider>
> </extension>
> In GeneratedOETests which depend on helloworld, the plugin-test
> BatchValidator does the following:
>
> Customer customer=OrderEntryFactory.eINSTANCE.createCustomer();
> ValidationDelegateClientSelector.running = true;
>
> IBatchValidator validator =
> (IBatchValidator)ModelValidationService.getInstance()
> .newValidator(EvaluationMode.BATCH);
> validator.setIncludeLiveConstraints(true);
>
>
> IStatus status=validator.validate(customer,null);
> ValidationDelegateClientSelector.running = false;
>
> Collection
> descs=ConstraintRegistry.getInstance().getAllDescriptors();
> logger.debug("desc size:"+descs.size());
>
> Collection
> contexts=ClientContextManager.getInstance().getClientContext s();
> logger.debug("contexts size:"+contexts.size());
>
>
> In validator.validate(customer,null), when the class loader tries to
> load ValidationDelegateClientSelector, it gives
> java.lang.CircularityError error. Before trying to load the
> ValidationDelegateClientSelector, the class loader actually looks at
> whether it has been alrady loaded and it fails to find the class altough
> we already used it before calling the validator.validate(customer,null)
> method.
>
> I am using eclipse 3.2.0
>
> I had spent quite some time on this. I would appreciate any directions
> or suggestions for workarounds.
> Thanks,
> Selcuk
>
Re: java.lang.CircularityError IClientSelector [message #23973 is a reply to message #23935] Mon, 20 February 2006 23:48 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: saya.txesystems.com

Hi Chris,
the stack trace returns null. When I debug, I actually get a
ClassNotFoundError but when I dig in I can see that the class loader
returns circularity error.

One thing I tried was to remove the dependency on helloworld from
GeneratedOETests. I made the latch ValidationDelegateClient return true
always. This time the class loader successfully loaded the class and
everything went fine.

Thanks,
Selcuk
Re: java.lang.CircularityError IClientSelector [message #24011 is a reply to message #23973] Tue, 21 February 2006 01:23 Go to previous messageGo to next message
Chris McGee is currently offline Chris McGeeFriend
Messages: 99
Registered: July 2009
Member
Hi Selcuk,

I have seen ClassCircularityError thrown in eclipse before and they were
caused by the plugin activator class trying to load a class that is in a
plugin that is already in the process of loading.

We found that the best way to avoid this problem is to avoid static
initializers in classes and avoid adding code to the start() method in
plugin activator classes.

In this case, I'm not seeing how the circularity could be formed because
the ValidationDelegateClientSelector should have to be loaded prior to
the validator.validate() call. Any chance you could set a breakpoint on
the ClassCircularityError constructor(s) and provide the stack? Calling
e.printStackTrace() after the error is constructed should provide the
stack on the console.

Thanks,
Chris

Selcuk Aya wrote:
> Hi Chris,
> the stack trace returns null. When I debug, I actually get a
> ClassNotFoundError but when I dig in I can see that the class loader
> returns circularity error.
> One thing I tried was to remove the dependency on helloworld from
> GeneratedOETests. I made the latch ValidationDelegateClient return true
> always. This time the class loader successfully loaded the class and
> everything went fine.
>
> Thanks,
> Selcuk
>
Re: java.lang.CircularityError IClientSelector [message #34761 is a reply to message #24011] Wed, 24 May 2006 04:18 Go to previous message
Eclipse UserFriend
Originally posted by: brucet.nospam.com

I have hit a very similar problem. (I am new to Eclipse, EMF and the
EMF Validation Framework, so sorry if I am off the mark on my analysis.)

From looking at the stack trace and this bug
https://bugs.eclipse.org/bugs/show_bug.cgi?id=5875, I am guessing that
something like the following is happening:

1. ValidationDelegateClientSelector resides in PluginB. An action in
PluginA calls the following line (which is line
WorkingsetActionBarContributor.java:137 in the stack trace below).

ValidationDelegateClientSelector.running = true;


2. During initialization of ValidationDelegateClientSelector, the osgi
loader loads the EMFModelValidationPlugin because
ValidationDelegateClientSelector implements
org.eclipse.emf.validation.model.IClientSelector.


3. During initialization of EMFModelValidationPlugin,
EMFModelValidationPlugin.configureConstraintBindings finds that
ValidationDelegateClientSelector is defined in the constraint bindings,
and so attempts to load ValidationDelegateClientSelector.


4. ValidationDelegateClientSelector is already being initialized from
step 1, and so throws java.lang.ClassCircularityError.



I have gotten around this for now by forcing EMFModelValidationPlugin to
load before ValidationDelegateClientSelector.running is called.

Is there something else I should be doing to avoid this problem?

Thanks,
-Bruce


java.lang.ClassCircularityError:
org/eclipse/emf/validation/model/IClientSelector
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.def ineClass(DefaultClassLoader.java:160)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineC lass(ClasspathManager.java:498)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findCla ssImpl(ClasspathManager.java:468)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClassImpl(ClasspathManager.java:427)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:410)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:188)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLo calClass(BundleLoader.java:339)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:391)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:352)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.loadCl ass(BundleLoader.java:276)
at
org.eclipse.osgi.framework.internal.core.BundleHost.loadClas s(BundleHost.java:227)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.load Class(AbstractBundle.java:1245)
at
org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI .createExecutableExtension(RegistryStrategyOSGI.java:147)
at
org.eclipse.core.internal.registry.ExtensionRegistry.createE xecutableExtension(ExtensionRegistry.java:759)
at
org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:243)
at
org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementHandle.java: 51)
at
org.eclipse.emf.validation.internal.service.ClientContext.in itializeCustomSelector(ClientContext.java:186)
at
org.eclipse.emf.validation.internal.service.ClientContext.in itializeSelector(ClientContext.java:122)
at
org.eclipse.emf.validation.internal.service.ClientContext.<init >(ClientContext.java:72)
at
org.eclipse.emf.validation.internal.service.ClientContextMan ager.configureClientContexts(ClientContextManager.java:321)
at
org.eclipse.emf.validation.internal.service.ClientContextMan ager.configureConstraintBindings(ClientContextManager.java:3 04)
at
org.eclipse.emf.validation.internal.EMFModelValidationPlugin $Implementation.configureConstraintBindings(EMFModelValidati onPlugin.java:247)
at
org.eclipse.emf.validation.internal.EMFModelValidationPlugin $Implementation.start(EMFModelValidationPlugin.java:220)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$2 .run(BundleContextImpl.java:995)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.s tartActivator(BundleContextImpl.java:989)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.s tart(BundleContextImpl.java:970)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWor ker(BundleHost.java:317)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.star t(AbstractBundle.java:256)
at
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter .preFindLocalClass(EclipseLazyStarter.java:86)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:409)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:188)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLo calClass(BundleLoader.java:339)
at
org.eclipse.osgi.framework.internal.core.SingleSourcePackage .loadClass(SingleSourcePackage.java:37)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:388)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:352)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.def ineClass(DefaultClassLoader.java:160)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineC lass(ClasspathManager.java:498)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findCla ssImpl(ClasspathManager.java:468)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClassImpl(ClasspathManager.java:427)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:410)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:188)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLo calClass(BundleLoader.java:339)
at
org.eclipse.osgi.framework.internal.core.SingleSourcePackage .loadClass(SingleSourcePackage.java:37)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:388)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:352)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at
com.xxx.yyy.zzz.vvv.api.workingset.presentation.WorkingsetAc tionBarContributor$2.run(WorkingsetActionBarContributor.java :137)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:499 )
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:539)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:488)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:143)
at
com.xxx.yyy.zzz.vvv.api.DesignerEditorAdvisor$Application.ru n(DesignerEditorAdvisor.java:109)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
Re: java.lang.CircularityError IClientSelector [message #568078 is a reply to message #23894] Mon, 20 February 2006 22:51 Go to previous message
Chris McGee is currently offline Chris McGeeFriend
Messages: 99
Registered: July 2009
Member
Hi Selcuk,

Do you have a stack trace for the CircularityError?

Thanks,
Chris McGee

Selcuk Aya wrote:
> Hi,
> As validation framework nicely supports OCL, following the tutorial for
> validation framework in emf, I tried to implement a simple constraint
> with my two plugins GeneratedOETests and helloworld. helloworld
> contributes the context, binding and constrain in its plugin.xml:
>
> <extension
> point="org.eclipse.emf.validation.constraintBindings">
> <clientContext
> default="false"
> id="com.acme.orderentry.constraintsContext">
> <selector
> class="helloworld.actions.ValidationDelegateClientSelector"/ >
> </clientContext>
> <binding
> context="com.acme.orderentry.constraintsContext"
> category="com.acme.orderentry.constraints"/>
> </extension>
>
> <extension
> point="org.eclipse.emf.validation.constraintProviders">
> <category
> name="OrderEntry Constraints"
> id="com.acme.orderentry.constraints"/>
> <constraintProvider cache="true">
> <package namespaceUri="http:///orderentry.ecore"/>
> <constraints categories="com.acme.orderentry.constraints">
> <constraint
> lang="Java"
> class="helloworld.actions.NonEmptyNamesConstraint"
> severity="ERROR"
> mode="Batch"
> name="Non-Empty Names"
> id="com.acme.orderentry.constraints.NameNotEmpty"
> statusCode="1">
> <description>
> All customers should have some unique identifier or name.
> </description>
> <message>
> A {0} has been found to have no unique identifier (name
> or title).
> </message>
> <target class="Customer"/>
> </constraint>
> </constraints>
> </constraintProvider>
> </extension>
> In GeneratedOETests which depend on helloworld, the plugin-test
> BatchValidator does the following:
>
> Customer customer=OrderEntryFactory.eINSTANCE.createCustomer();
> ValidationDelegateClientSelector.running = true;
>
> IBatchValidator validator =
> (IBatchValidator)ModelValidationService.getInstance()
> .newValidator(EvaluationMode.BATCH);
> validator.setIncludeLiveConstraints(true);
>
>
> IStatus status=validator.validate(customer,null);
> ValidationDelegateClientSelector.running = false;
>
> Collection
> descs=ConstraintRegistry.getInstance().getAllDescriptors();
> logger.debug("desc size:"+descs.size());
>
> Collection
> contexts=ClientContextManager.getInstance().getClientContext s();
> logger.debug("contexts size:"+contexts.size());
>
>
> In validator.validate(customer,null), when the class loader tries to
> load ValidationDelegateClientSelector, it gives
> java.lang.CircularityError error. Before trying to load the
> ValidationDelegateClientSelector, the class loader actually looks at
> whether it has been alrady loaded and it fails to find the class altough
> we already used it before calling the validator.validate(customer,null)
> method.
>
> I am using eclipse 3.2.0
>
> I had spent quite some time on this. I would appreciate any directions
> or suggestions for workarounds.
> Thanks,
> Selcuk
>
Re: java.lang.CircularityError IClientSelector [message #568108 is a reply to message #23935] Mon, 20 February 2006 23:48 Go to previous message
Selcuk Aya is currently offline Selcuk AyaFriend
Messages: 13
Registered: July 2009
Junior Member
Hi Chris,
the stack trace returns null. When I debug, I actually get a
ClassNotFoundError but when I dig in I can see that the class loader
returns circularity error.

One thing I tried was to remove the dependency on helloworld from
GeneratedOETests. I made the latch ValidationDelegateClient return true
always. This time the class loader successfully loaded the class and
everything went fine.

Thanks,
Selcuk
Re: java.lang.CircularityError IClientSelector [message #568140 is a reply to message #23973] Tue, 21 February 2006 01:23 Go to previous message
Chris McGee is currently offline Chris McGeeFriend
Messages: 99
Registered: July 2009
Member
Hi Selcuk,

I have seen ClassCircularityError thrown in eclipse before and they were
caused by the plugin activator class trying to load a class that is in a
plugin that is already in the process of loading.

We found that the best way to avoid this problem is to avoid static
initializers in classes and avoid adding code to the start() method in
plugin activator classes.

In this case, I'm not seeing how the circularity could be formed because
the ValidationDelegateClientSelector should have to be loaded prior to
the validator.validate() call. Any chance you could set a breakpoint on
the ClassCircularityError constructor(s) and provide the stack? Calling
e.printStackTrace() after the error is constructed should provide the
stack on the console.

Thanks,
Chris

Selcuk Aya wrote:
> Hi Chris,
> the stack trace returns null. When I debug, I actually get a
> ClassNotFoundError but when I dig in I can see that the class loader
> returns circularity error.
> One thing I tried was to remove the dependency on helloworld from
> GeneratedOETests. I made the latch ValidationDelegateClient return true
> always. This time the class loader successfully loaded the class and
> everything went fine.
>
> Thanks,
> Selcuk
>
Re: java.lang.CircularityError IClientSelector [message #578411 is a reply to message #24011] Wed, 24 May 2006 04:18 Go to previous message
Eclipse UserFriend
Originally posted by: brucet.nospam.com

I have hit a very similar problem. (I am new to Eclipse, EMF and the
EMF Validation Framework, so sorry if I am off the mark on my analysis.)

From looking at the stack trace and this bug
https://bugs.eclipse.org/bugs/show_bug.cgi?id=5875, I am guessing that
something like the following is happening:

1. ValidationDelegateClientSelector resides in PluginB. An action in
PluginA calls the following line (which is line
WorkingsetActionBarContributor.java:137 in the stack trace below).

ValidationDelegateClientSelector.running = true;


2. During initialization of ValidationDelegateClientSelector, the osgi
loader loads the EMFModelValidationPlugin because
ValidationDelegateClientSelector implements
org.eclipse.emf.validation.model.IClientSelector.


3. During initialization of EMFModelValidationPlugin,
EMFModelValidationPlugin.configureConstraintBindings finds that
ValidationDelegateClientSelector is defined in the constraint bindings,
and so attempts to load ValidationDelegateClientSelector.


4. ValidationDelegateClientSelector is already being initialized from
step 1, and so throws java.lang.ClassCircularityError.



I have gotten around this for now by forcing EMFModelValidationPlugin to
load before ValidationDelegateClientSelector.running is called.

Is there something else I should be doing to avoid this problem?

Thanks,
-Bruce


java.lang.ClassCircularityError:
org/eclipse/emf/validation/model/IClientSelector
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.def ineClass(DefaultClassLoader.java:160)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineC lass(ClasspathManager.java:498)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findCla ssImpl(ClasspathManager.java:468)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClassImpl(ClasspathManager.java:427)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:410)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:188)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLo calClass(BundleLoader.java:339)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:391)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:352)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.loadCl ass(BundleLoader.java:276)
at
org.eclipse.osgi.framework.internal.core.BundleHost.loadClas s(BundleHost.java:227)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.load Class(AbstractBundle.java:1245)
at
org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI .createExecutableExtension(RegistryStrategyOSGI.java:147)
at
org.eclipse.core.internal.registry.ExtensionRegistry.createE xecutableExtension(ExtensionRegistry.java:759)
at
org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:243)
at
org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementHandle.java: 51)
at
org.eclipse.emf.validation.internal.service.ClientContext.in itializeCustomSelector(ClientContext.java:186)
at
org.eclipse.emf.validation.internal.service.ClientContext.in itializeSelector(ClientContext.java:122)
at
org.eclipse.emf.validation.internal.service.ClientContext.<init >(ClientContext.java:72)
at
org.eclipse.emf.validation.internal.service.ClientContextMan ager.configureClientContexts(ClientContextManager.java:321)
at
org.eclipse.emf.validation.internal.service.ClientContextMan ager.configureConstraintBindings(ClientContextManager.java:3 04)
at
org.eclipse.emf.validation.internal.EMFModelValidationPlugin $Implementation.configureConstraintBindings(EMFModelValidati onPlugin.java:247)
at
org.eclipse.emf.validation.internal.EMFModelValidationPlugin $Implementation.start(EMFModelValidationPlugin.java:220)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl$2 .run(BundleContextImpl.java:995)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.s tartActivator(BundleContextImpl.java:989)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.s tart(BundleContextImpl.java:970)
at
org.eclipse.osgi.framework.internal.core.BundleHost.startWor ker(BundleHost.java:317)
at
org.eclipse.osgi.framework.internal.core.AbstractBundle.star t(AbstractBundle.java:256)
at
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter .preFindLocalClass(EclipseLazyStarter.java:86)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:409)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:188)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLo calClass(BundleLoader.java:339)
at
org.eclipse.osgi.framework.internal.core.SingleSourcePackage .loadClass(SingleSourcePackage.java:37)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:388)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:352)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.def ineClass(DefaultClassLoader.java:160)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineC lass(ClasspathManager.java:498)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findCla ssImpl(ClasspathManager.java:468)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClassImpl(ClasspathManager.java:427)
at
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:410)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:188)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findLo calClass(BundleLoader.java:339)
at
org.eclipse.osgi.framework.internal.core.SingleSourcePackage .loadClass(SingleSourcePackage.java:37)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:388)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findCl ass(BundleLoader.java:352)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at
com.xxx.yyy.zzz.vvv.api.workingset.presentation.WorkingsetAc tionBarContributor$2.run(WorkingsetActionBarContributor.java :137)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:499 )
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:539)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:488)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:143)
at
com.xxx.yyy.zzz.vvv.api.DesignerEditorAdvisor$Application.ru n(DesignerEditorAdvisor.java:109)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:68)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:400)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
Previous Topic:CDO replication
Next Topic:Combine Validation and Transaction together?
Goto Forum:
  


Current Time: Fri Apr 26 14:56:16 GMT 2024

Powered by FUDForum. Page generated in 0.04228 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top