Hi Susan,

I had wanted to try to reproduce this issue to investigate but it looks
like we no longer have an environment where this can be reproduced.  The
stacktrace seems to indicate the same thread re-entered the class loader to
load a class that is in the process of being loaded.  But I am not sure why
that is happening, there looks to be lots of moving parts (extension
registry, DS etc.).  If you see the error again perhaps I could have a
chance to reproduce the issue from the p2 branch.  Thanks.

Tom




                                                                       
  From:       Susan Franklin McCourt/Beaverton/i...@ibmus               
                                                                       
  To:         [email protected]                                  
                                                                       
  Date:       11/11/2009 11:05 AM                                      
                                                                       
  Subject:    [equinox-dev] Fw: ds and ClassCircularityError           
                                                                       





Following up on this:
In the course of merging with the latest p2 code, upgrading to yesterday's
I-build, and fixing bugs, this problem has gone away. I can't explain why.
I didn't change the class structure of the classes involved.

susan
----- Forwarded by Susan Franklin McCourt/Beaverton/IBM on 11/11/2009 09:01
AM -----
                                                                       
                                                                       
                                 Susan                                 
                                 Franklin  To: [email protected] 
                                 McCourt   cc:                         
                                           From: Susan Franklin        
                                           McCourt/Beaverton/i...@ibmus 
                                 11/05/200 Subject: ds and             
                                 9 04:21   ClassCircularityError       
                                 PM                                    
                                                                       



I've been wildly refactoring some p2 code in my workspace to play around
with some alternate API.
In doing so, I've broken the SDK's service registration for the UI Policy.
It seems I've got some kind of class circularity going on, but it's not
clear to me what the problem is.

The stack trace below appears as soon as the p2 UI bundle is started and
tries to obtain the registered Policy object.
The service registration is trying to instantiate the class SDKPolicy.
That constructor is trying to instantiate another class,
SDKRepositoryManipulator. The two are unrelated apart from one
instantiating the other.

The stack trace indicates the problem is in the constructor of a
superclass, RepositoryManipulator. The superclass lives in a different
bundle, as does its superclass.
What kinds of things should I be looking for in the involved classes to
figure this one out?

thanks for any pointers,
Susan

ENTRY org.eclipse.equinox.p2.ui.sdk 4 0 2009-11-05 16:03:21.062
!MESSAGE
!STACK 0
org.osgi.framework.ServiceException: Exception in
org.eclipse.equinox.internal.ds.ServiceReg.getService()
at org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(
ServiceUse.java:130)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService
(
ServiceRegistrationImpl.java:449)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(
ServiceRegistry.java:430)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(
BundleContextImpl.java:667)
at org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper.getService(
ServiceHelper.java:29)
at
org.eclipse.equinox.internal.p2.ui.ProvUIActivator.initializeProvisioningUI
(ProvUIActivator.java:115)
at org.eclipse.equinox.internal.p2.ui.ProvUIActivator.start(
ProvUIActivator.java:93)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(
BundleContextImpl.java:783)
at java.security.AccessController.doPrivileged(Native Method)
at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(
BundleContextImpl.java:774)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(
BundleContextImpl.java:755)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(
BundleHost.java:353)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(
AbstractBundle.java:280)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:408
)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(
BundleLoader.java:265)
at
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass
(
EclipseLazyStarter.java:106)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(
ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(
DefaultClassLoader.java:211)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(
BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(
SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(
BundleLoader.java:466)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(
BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(
BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(
DefaultClassLoader.java:105)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at
org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension
(
RegistryStrategyOSGI.java:170)
at
org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension
(
ExtensionRegistry.java:874)
at
org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension
(
ConfigurationElement.java:243)
at
org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension
(
ConfigurationElementHandle.java:51)
at org.eclipse.ui.internal.handlers.HandlerProxy.loadHandler(
HandlerProxy.java:351)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(
HandlerProxy.java:287)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(
ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(
HandlerService.java:169)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(
SlaveHandlerService.java:241)
at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(
CommandContributionItem.java:790)
at org.eclipse.ui.menus.CommandContributionItem.access$18(
CommandContributionItem.java:776)
at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(
CommandContributionItem.java:766)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3917)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3510)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2404)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2368)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2220)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(
Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(
Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(
IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(
EclipseAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication
(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(
EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(
EclipseStarter.java:367)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(
EclipseStarter.java:179)
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.equinox.launcher.Main.invokeFramework(Main.java:611)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:566)
at org.eclipse.equinox.launcher.Main.run(Main.java:1363)
at org.eclipse.equinox.launcher.Main.main(Main.java:1339)
Caused by: org.osgi.service.component.ComponentException: Exception
occurred while creating new instance of component Component[
name = org.eclipse.equinox.p2.ui.sdk
activate = activate
deactivate = deactivate
modified =
configuration-policy = optional
factory = null
autoenable = true
immediate = false
implementation = org.eclipse.equinox.internal.p2.ui.sdk.SDKPolicy
properties =
serviceFactory = false
serviceInterface = [org.eclipse.equinox.p2.ui.Policy]
references = null
located in bundle = org.eclipse.equinox.p2.ui.sdk_1.0.100.qualifier [96]
]
at org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(
ServiceComponent.java:456)
at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(
ServiceComponentProp.java:255)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(
ServiceComponentProp.java:316)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(
InstanceProcess.java:560)
at org.eclipse.equinox.internal.ds.ServiceReg.getService(ServiceReg.java:52
)
at org.eclipse.osgi.internal.serviceregistry.ServiceUse$1.run(
ServiceUse.java:120)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(
ServiceUse.java:118)
... 68 more
Caused by: java.lang.ClassCircularityError:
org/eclipse/equinox/p2/ui/RepositoryManipulator
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(
ServiceComponent.java:454)
... 75 more_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

<<inline: graycol.gif>>

<<inline: ecblank.gif>>

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to