Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSGI classloading error when viewing preference page in Eclipse Luna on Mac OS X Mavericks #139

Closed
jacobythwaites opened this issue Dec 3, 2013 · 4 comments

Comments

@jacobythwaites
Copy link

The following log entries show what happens when I try to view the Compiler preference pane in Eclipse. I have Erlide version 0.24.0.201310150801.

16:01:07,348 F: (ErlRuntime.java:349) : code server started
16:01:07,351 F: (ErlRuntime.java:416) : Runtime 68e82_jthwaites_310559_erlide@sparkl01.eduroam.ucl.ac.uk running
16:01:07,358 S: (ExtensionUtils.java:41) : Plug-in "org.erlide.model" was unable to instantiate class "org.erlide.engine.internal.DefaultErlangEngine".
org.eclipse.core.runtime.CoreException: Plug-in "org.erlide.model" was unable to instantiate class "org.erlide.engine.internal.DefaultErlangEngine".
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:194)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:188)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.erlide.util.services.ExtensionUtils.getSingletonExtension(ExtensionUtils.java:36)
    at org.erlide.engine.ModelActivator.start(ModelActivator.java:15)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:930)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
    at org.eclipse.osgi.container.Module.doStart(Module.java:558)
    at org.eclipse.osgi.container.Module.start(Module.java:429)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:532)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:242)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:306)
    at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:371)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:331)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:323)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:118)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:218)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:764)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:685)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:639)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:556)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:528)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:242)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:306)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:374)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:331)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:323)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:118)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at org.erlide.ui.editors.erl.outline.filters.ToolbarFilterHandler.updateElement(ToolbarFilterHandler.java:47)
    at org.eclipse.ui.internal.handlers.HandlerProxy.updateElement(HandlerProxy.java:456)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.updateElement(E4HandlerProxy.java:120)
    at org.eclipse.ui.internal.WorkbenchHandlerServiceHandler.updateElement(WorkbenchHandlerServiceHandler.java:49)
    at org.eclipse.ui.internal.commands.CommandService$1.run(CommandService.java:251)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.commands.CommandService.refreshElements(CommandService.java:255)
    at org.eclipse.ui.internal.handlers.HandlerProxy.refreshElements(HandlerProxy.java:467)
    at org.eclipse.ui.internal.handlers.HandlerProxy.loadHandler(HandlerProxy.java:351)
    at org.eclipse.ui.internal.handlers.HandlerProxy.setEnabled(HandlerProxy.java:230)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.setEnabled(E4HandlerProxy.java:130)
    at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.setEnabled(HandlerServiceHandler.java:82)
    at org.eclipse.core.commands.Command.setEnabled(Command.java:886)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.canExecute(HandlerServiceImpl.java:182)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.canExecuteItem(HandledContributionItem.java:865)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$2(HandledContributionItem.java:854)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$3.run(HandledContributionItem.java:231)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.updateItemEnablement(HandledContributionItem.java:261)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$ToolItemUpdateTimer.run(HandledContributionItem.java:152)
    at org.eclipse.swt.widgets.Display.timerProc(Display.java:4772)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5548)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:4948)
    at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5326)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
    at org.eclipse.swt.internal.cocoa.NSApplication.nextEventMatchingMask(NSApplication.java:94)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3646)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
    at org.eclipse.jface.window.Window.open(Window.java:803)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215)
    at org.eclipse.ui.internal.handlers.ShowPreferencePageHandler.execute(ShowPreferencePageHandler.java:58)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:163)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:222)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:209)
    at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.runCommand(CocoaUIHandler.java:716)
    at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.access$6(CocoaUIHandler.java:704)
    at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler$8.widgetSelected(CocoaUIHandler.java:569)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4170)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1467)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1490)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1475)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4013)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3652)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:146)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:613)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:109)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:80)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:372)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:226)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/osgi/framework/internal/core/BundleURLConnection
    at org.erlide.backend.internal.BeamUtil.getPathFromUrl(BeamUtil.java:98)
    at org.erlide.backend.internal.BeamUtil.getPaths(BeamUtil.java:72)
    at org.erlide.backend.internal.CodeBundle.getEbinDirs(CodeBundle.java:50)
    at org.erlide.backend.internal.CodeManager.registerBundle(CodeManager.java:190)
    at org.erlide.backend.internal.CodeManager.register(CodeManager.java:69)
    at org.erlide.backend.internal.Backend.registerCodeBundle(Backend.java:159)
    at org.erlide.backend.internal.Backend.initialize(Backend.java:499)
    at org.erlide.backend.internal.BackendFactory.createBackend(BackendFactory.java:87)
    at org.erlide.backend.internal.BackendFactory.createIdeBackend(BackendFactory.java:43)
    at org.erlide.backend.internal.BackendManager.getIdeBackend(BackendManager.java:160)
    at org.erlide.backend.internal.BackendProvider.get(BackendProvider.java:12)
    at org.erlide.engine.internal.DefaultErlangEngine.<init>(DefaultErlangEngine.java:106)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:357)
    at java.lang.Class.newInstance(Class.java:310)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
    ... 128 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.osgi.framework.internal.core.BundleURLConnection cannot be found by osgi.identity; osgi.identity="org.erlide.backend"; type="osgi.bundle"; version:Version="0.24.0.201310150801"; singleton:="true"
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:411)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:331)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:323)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:118)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 147 more
@vladdu
Copy link
Collaborator

vladdu commented Dec 3, 2013

Thanks for the report. I have not tested yet with any Luna releases, it might be that some things have changed (we are using some internal APIs). I will check it out.

@vladdu
Copy link
Collaborator

vladdu commented Dec 3, 2013

@vladdu
Copy link
Collaborator

vladdu commented Jan 15, 2014

I have fixed the code, but the changes are incompatible with earlier Eclipse releases. We need a separate track and separate binaries. I will make an announcement when it's done.

@vladdu
Copy link
Collaborator

vladdu commented Oct 31, 2014

This has been released a while ago, forgot to announce it.

@vladdu vladdu closed this as completed Oct 31, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants