Supported Eclipse Version(s)?

Help
tpolecat
2012-07-17
2012-12-06
  • tpolecat

    tpolecat - 2012-07-17

    Hi,

    I have been unable to find any information which Eclipse versions are supported for EclipseFP … I have tried it with Indigo and Juno with some success (it installs ok and I can edit and run programs, errors are highlighted properly, etc.) but I'm running into deadlocks. In both versions the IDE locks up with a beachball (I'm on MacOS 10.7.4) when I press Ctrl+Space to auto-complete, and in Juno it also deadlocks when I set the Hoogle helper path in prefs and then hit Ok. I haven't seen any other reports of deadlocking in the forums so I suspect I may need to use an older version of Eclipse. Any hints?

    Thanks,

    rob

     
  • JP Moresmau

    JP Moresmau - 2012-07-17

    Indigo is a supported version. I haven't tried with Juno but the doc says that plugins compatible with Indigo should work with Juno. As you pointed out, nobody else has deadlock issues on Indigo, and I know a few people have MacOS, so you're not on a unique platform.You can try to start eclipse with a console window and get a stack trace when you deadlock so we could check what's going on.

     
  • tpolecat

    tpolecat - 2012-07-17

    Hi, I think I have some clues.

    I tried again in Indigo and happened to get up and get some coffee when it started beachballing, and when I returned it had recovered and code completion options appeared correctly. Now it works correctly on startup and I haven't had more issues. However I think I may have just gotten lucky, based on what I see in Juno. My theory (based on nothing but a stack trace) is that it's verifying/building an index on bundle start, which can potentially take longer than the 5s timeout for state transitions. Anyway see below.

    When I start Juno and simply wait for a while, it is clear that it's taking a long time for all the Haskell bundles to start.

    428 STARTING    net.sf.eclipsefp.haskell_2.2.4
    429 STARTING    net.sf.eclipsefp.haskell.browser_2.2.4
    430 STARTING    net.sf.eclipsefp.haskell.buildwrapper_2.2.4
    431 STARTING    net.sf.eclipsefp.haskell.compat_2.2.4
    432 STARTING    net.sf.eclipsefp.haskell.core_2.2.4
    433 STARTING    net.sf.eclipsefp.haskell.debug.core_2.2.4
    434 STARTING    net.sf.eclipsefp.haskell.debug.ui_2.2.4
    435 STARTING    net.sf.eclipsefp.haskell.doc.user_2.2.4
    436 STARTING    net.sf.eclipsefp.haskell.ghccompiler_2.2.4
    437 STARTING    net.sf.eclipsefp.haskell.haddock_2.1.0
    438 STARTING    net.sf.eclipsefp.haskell.hlint_2.2.4
    439 STARTING    net.sf.eclipsefp.haskell.hugs_2.2.4
    440 STARTING    net.sf.eclipsefp.haskell.profiler_2.2.4
    441 STARTING    net.sf.eclipsefp.haskell.ui_2.2.4
    442 ACTIVE      net.sf.eclipsefp.haskell.util_2.2.4
    

    and then (some seconds later)

    428 STARTING    net.sf.eclipsefp.haskell_2.2.4
    429 ACTIVE      net.sf.eclipsefp.haskell.browser_2.2.4
    430 ACTIVE      net.sf.eclipsefp.haskell.buildwrapper_2.2.4
    431 STARTING    net.sf.eclipsefp.haskell.compat_2.2.4
    432 ACTIVE      net.sf.eclipsefp.haskell.core_2.2.4
    433 STARTING    net.sf.eclipsefp.haskell.debug.core_2.2.4
    434 STARTING    net.sf.eclipsefp.haskell.debug.ui_2.2.4
    435 STARTING    net.sf.eclipsefp.haskell.doc.user_2.2.4
    436 ACTIVE      net.sf.eclipsefp.haskell.ghccompiler_2.2.4
    437 STARTING    net.sf.eclipsefp.haskell.haddock_2.1.0
    438 ACTIVE      net.sf.eclipsefp.haskell.hlint_2.2.4
    439 STARTING    net.sf.eclipsefp.haskell.hugs_2.2.4
    440 STARTING    net.sf.eclipsefp.haskell.profiler_2.2.4
    441 STARTING    net.sf.eclipsefp.haskell.ui_2.2.4
    442 ACTIVE      net.sf.eclipsefp.haskell.util_2.2.4
    

    and then I get a timeout exception (long, sorry, text continues below)

    !ENTRY org.eclipse.osgi 2 0 2012-07-17 10:35:11.971
    !MESSAGE While loading class "net.sf.eclipsefp.haskell.ui.internal.scion.ScionManager$BrowserLocalDatabaseRebuildJob$1", thread "Thread[main,6,main]" timed out waiting (5008ms) for thread "Thread[Worker-2,5,main]" to finish starting bundle "net.sf.eclipsefp.haskell.ui_2.2.4 [441]". To avoid deadlock, thread "Thread[main,6,main]" is proceeding but "net.sf.eclipsefp.haskell.ui.internal.scion.ScionManager$BrowserLocalDatabaseRebuildJob$1" may not be fully initialized.
    !STACK 0
    org.osgi.framework.BundleException: State change in progress for bundle "reference:file:plugins/net.sf.eclipsefp.haskell.ui_2.2.4.jar" by thread "Worker-2".
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1088)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:298)
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
        at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
        at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at net.sf.eclipsefp.haskell.ui.internal.scion.ScionManager$BrowserLocalDatabaseRebuildJob.<init>(ScionManager.java:751)
        at net.sf.eclipsefp.haskell.ui.internal.scion.ScionManager$3.run(ScionManager.java:309)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3944)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3621)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        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:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
        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:629)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    Caused by: org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
        ... 40 more
    Root exception:
    org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1088)
        at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:298)
        at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
        at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
        at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
        at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
        at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at net.sf.eclipsefp.haskell.ui.internal.scion.ScionManager$BrowserLocalDatabaseRebuildJob.<init>(ScionManager.java:751)
        at net.sf.eclipsefp.haskell.ui.internal.scion.ScionManager$3.run(ScionManager.java:309)
        at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
        at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3944)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3621)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1022)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:916)
        at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:585)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:540)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        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:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
        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:629)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    

    which leaves the final state as

    428 STARTING    net.sf.eclipsefp.haskell_2.2.4
    429 ACTIVE      net.sf.eclipsefp.haskell.browser_2.2.4
    430 ACTIVE      net.sf.eclipsefp.haskell.buildwrapper_2.2.4
    431 STARTING    net.sf.eclipsefp.haskell.compat_2.2.4
    432 ACTIVE      net.sf.eclipsefp.haskell.core_2.2.4
    433 STARTING    net.sf.eclipsefp.haskell.debug.core_2.2.4
    434 STARTING    net.sf.eclipsefp.haskell.debug.ui_2.2.4
    435 STARTING    net.sf.eclipsefp.haskell.doc.user_2.2.4
    436 ACTIVE      net.sf.eclipsefp.haskell.ghccompiler_2.2.4
    437 STARTING    net.sf.eclipsefp.haskell.haddock_2.1.0
    438 ACTIVE      net.sf.eclipsefp.haskell.hlint_2.2.4
    439 STARTING    net.sf.eclipsefp.haskell.hugs_2.2.4
    440 STARTING    net.sf.eclipsefp.haskell.profiler_2.2.4
    441 ACTIVE      net.sf.eclipsefp.haskell.ui_2.2.4
    442 ACTIVE      net.sf.eclipsefp.haskell.util_2.2.4
    

    So it looks like the environment isn't coming fully to life because it's either timing out or deadlocking trying to initialize that Scion class. I imagine the other issues I'm seeing are related.

    Thanks, hope this is helpful. I would be happy to do more testing if you have suggestions.

    rob

     
  • JP Moresmau

    JP Moresmau - 2012-07-23

    I can't reproduce, but looking around for similar issues I think I understand what's happening, so I put on some code that should solve your issues. In 2.3.1.
    Autocomplete is a bit slow the first time because it has to load a few things.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks