reprogrammer / keshmesh

Keshmesh is a static analysis tool for finding and fixing concurrency bug patterns in Java.
http://keshmesh.cs.illinois.edu/
Other
16 stars 5 forks source link

Set up an Eclipse update site for Keshmesh #38

Closed reprogrammer closed 13 years ago

reprogrammer commented 13 years ago

It would be nice to create an Eclipse update site for Keshmesh. The update site will allow people who are interested in trying out Keshmesh to easily install it on their Eclipse instances.

reprogrammer commented 13 years ago

Keshmesh failed to install on Eclipse Helios (3.6.0). Eclipse reported the following problem after I confirmed that I trusted the unsigned content of the local update site.

eclipse.buildId=I20100608-0911
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.rcp.product

Error
Fri Oct 21 18:14:09 CDT 2011
An error occurred while configuring the installed items

eclipse.buildId=I20100608-0911
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.rcp.product

Error
Fri Oct 21 18:14:09 CDT 2011
No action found for: org.eclipse.equinox.p2.touchpoint.eclipse.addJVMArg.

java.lang.IllegalArgumentException: No action found for: org.eclipse.equinox.p2.touchpoint.eclipse.addJVMArg.
at org.eclipse.equinox.internal.p2.engine.MissingAction.execute(MissingAction.java:42)
at org.eclipse.equinox.internal.p2.engine.Phase.mainPerform(Phase.java:149)
at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:78)
at org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:44)
at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:73)
at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:44)
at org.eclipse.equinox.p2.operations.ProvisioningSession.performProvisioningPlan(ProvisioningSession.java:174)
at org.eclipse.equinox.p2.operations.ProfileModificationJob.runModal(ProfileModificationJob.java:79)
at org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:177)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
reprogrammer commented 13 years ago

The FindBugs team has published instructions for building and installing the FindBugs Eclipse plug-in.

reprogrammer commented 13 years ago

The instructions didn't mention, but, I had to check out the plugins folder into my workspace. When I ran the build script suggested by the instructions, Ant reported the following compilation problems:

Buildfile: /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/build.xml
init:
clean:
fbcompile:
noUpdateChecks:
     [echo] Building Findbugs noUpdateChecks plugin
plugin-jar:
      [jar] Building jar: /home/user/eclipse-workspaces/keshmesh/plugins/noUpdateChecks/build/noUpdateChecks.jar
install:
     [copy] Copying 1 file to /home/user/eclipse-workspaces/keshmesh/findbugs/optionalPlugin
fbjars:
     [echo] Copying Findbugs libraries and classes to Eclipse plugin
    [unzip] Expanding: /home/user/eclipse-workspaces/keshmesh/findbugs/lib/findbugs.jar into /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/bin_build
     [copy] Copying 10 files to /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/lib
classes:
     [echo] Compiling FindBugs Eclipse plugin
    [javac] Compiling 133 source files to /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/bin_build
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:13: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac] import edu.illinois.keshmesh.detector.bugs.BugPatterns;
    [javac]                                           ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:14: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac] import edu.illinois.keshmesh.detector.bugs.CodePosition;
    [javac]                                           ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:15: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac] import edu.illinois.keshmesh.detector.bugs.LCK02JFixInformation;
    [javac]                                           ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:16: package edu.illinois.keshmesh.transformer.core does not exist
    [javac] import edu.illinois.keshmesh.transformer.core.LCK02JFixer;
    [javac]                                              ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:14: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac] import edu.illinois.keshmesh.detector.bugs.BugPatterns;
    [javac]                                           ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:15: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac] import edu.illinois.keshmesh.detector.bugs.CodePosition;
    [javac]                                           ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:16: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac] import edu.illinois.keshmesh.detector.bugs.LCK03JFixInformation;
    [javac]                                           ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:17: package edu.illinois.keshmesh.transformer.core does not exist
    [javac] import edu.illinois.keshmesh.transformer.core.LCK03JFixer;
    [javac]                                              ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/de/tobject/findbugs/FindbugsPlugin.java:241: warning: [deprecation] addSaveParticipant(org.eclipse.core.runtime.Plugin,org.eclipse.core.resources.ISaveParticipant) in org.eclipse.core.resources.IWorkspace has been deprecated
    [javac]         ResourcesPlugin.getWorkspace().addSaveParticipant(this, saveParticipant);
    [javac]                                       ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/de/tobject/findbugs/properties/DetectorConfigurationTab.java:110: warning: [deprecation] getSpeed() in edu.umd.cs.findbugs.DetectorFactory has been deprecated
    [javac]                 s1 = factory1.getSpeed();
    [javac]                              ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/de/tobject/findbugs/properties/DetectorConfigurationTab.java:111: warning: [deprecation] getSpeed() in edu.umd.cs.findbugs.DetectorFactory has been deprecated
    [javac]                 s2 = factory2.getSpeed();
    [javac]                              ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/de/tobject/findbugs/properties/DetectorConfigurationTab.java:238: warning: [deprecation] getSpeed() in edu.umd.cs.findbugs.DetectorFactory has been deprecated
    [javac]                 return factory.getSpeed();
    [javac]                               ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/de/tobject/findbugs/view/explorer/FilterBugsDialog.java:172: warning: [deprecation] FilteredTree(org.eclipse.swt.widgets.Composite,int,org.eclipse.ui.dialogs.PatternFilter) in org.eclipse.ui.dialogs.FilteredTree has been deprecated
    [javac]             super(parent, treeStyle, filter);
    [javac]             ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/de/tobject/findbugs/view/explorer/FilterBugsDialog.java:394: warning: [deprecation] setAllChecked(boolean) in org.eclipse.jface.viewers.CheckboxTreeViewer has been deprecated
    [javac]                     checkList.setAllChecked(true);
    [javac]                              ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/de/tobject/findbugs/view/explorer/FilterBugsDialog.java:410: warning: [deprecation] setAllChecked(boolean) in org.eclipse.jface.viewers.CheckboxTreeViewer has been deprecated
    [javac]                     checkList.setAllChecked(false);
    [javac]                              ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:32: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac]         edu.illinois.keshmesh.detector.bugs.CodePosition keshmeshPosition = new CodePosition(bug.getPrimarySourceLineAnnotation()
    [javac]                                            ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:32: cannot find symbol
    [javac] symbol  : class CodePosition
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK02JKeshmeshResolution
    [javac]         edu.illinois.keshmesh.detector.bugs.CodePosition keshmeshPosition = new CodePosition(bug.getPrimarySourceLineAnnotation()
    [javac]                                                                                 ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:39: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac]         edu.illinois.keshmesh.detector.bugs.BugInstance keshmeshBugInstance = new edu.illinois.keshmesh.detector.bugs.BugInstance(
    [javac]                                            ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:39: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac]         edu.illinois.keshmesh.detector.bugs.BugInstance keshmeshBugInstance = new edu.illinois.keshmesh.detector.bugs.BugInstance(
    [javac]                                                                                                                      ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:40: cannot find symbol
    [javac] symbol  : variable BugPatterns
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK02JKeshmeshResolution
    [javac]                 BugPatterns.LCK02J, keshmeshPosition, new LCK02JFixInformation(typeNames));
    [javac]                 ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:40: cannot find symbol
    [javac] symbol  : class LCK02JFixInformation
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK02JKeshmeshResolution
    [javac]                 BugPatterns.LCK02J, keshmeshPosition, new LCK02JFixInformation(typeNames));
    [javac]                                                           ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:43: cannot find symbol
    [javac] symbol  : class LCK02JFixer
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK02JKeshmeshResolution
    [javac]         LCK02JFixer fixer = new LCK02JFixer(keshmeshBugInstance);
    [javac]         ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK02JKeshmeshResolution.java:43: cannot find symbol
    [javac] symbol  : class LCK02JFixer
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK02JKeshmeshResolution
    [javac]         LCK02JFixer fixer = new LCK02JFixer(keshmeshBugInstance);
    [javac]                                 ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:33: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac]         edu.illinois.keshmesh.detector.bugs.CodePosition keshmeshPosition = new CodePosition(bug.getPrimarySourceLineAnnotation()
    [javac]                                            ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:33: cannot find symbol
    [javac] symbol  : class CodePosition
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK03JKeshmeshResolution
    [javac]         edu.illinois.keshmesh.detector.bugs.CodePosition keshmeshPosition = new CodePosition(bug.getPrimarySourceLineAnnotation()
    [javac]                                                                                 ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:43: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac]         edu.illinois.keshmesh.detector.bugs.BugInstance keshmeshBugInstance = new edu.illinois.keshmesh.detector.bugs.BugInstance(
    [javac]                                            ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:43: package edu.illinois.keshmesh.detector.bugs does not exist
    [javac]         edu.illinois.keshmesh.detector.bugs.BugInstance keshmeshBugInstance = new edu.illinois.keshmesh.detector.bugs.BugInstance(
    [javac]                                                                                                                      ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:44: cannot find symbol
    [javac] symbol  : variable BugPatterns
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK03JKeshmeshResolution
    [javac]                 BugPatterns.LCK03J, keshmeshPosition, new LCK03JFixInformation(typeNames, isLock));
    [javac]                 ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:44: cannot find symbol
    [javac] symbol  : class LCK03JFixInformation
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK03JKeshmeshResolution
    [javac]                 BugPatterns.LCK03J, keshmeshPosition, new LCK03JFixInformation(typeNames, isLock));
    [javac]                                                           ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:45: cannot find symbol
    [javac] symbol  : class LCK03JFixer
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK03JKeshmeshResolution
    [javac]         LCK03JFixer fixer = new LCK03JFixer(keshmeshBugInstance);
    [javac]         ^
    [javac] /home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/src/edu/umd/cs/findbugs/plugin/eclipse/quickfix/LCK03JKeshmeshResolution.java:45: cannot find symbol
    [javac] symbol  : class LCK03JFixer
    [javac] location: class edu.umd.cs.findbugs.plugin.eclipse.quickfix.LCK03JKeshmeshResolution
    [javac]         LCK03JFixer fixer = new LCK03JFixer(keshmeshBugInstance);
    [javac]                                 ^
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 24 errors
    [javac] 7 warnings

BUILD FAILED
/home/user/eclipse-workspaces/keshmesh/findBugsEclipsePlugin/build.xml:133: Compile failed; see the compiler error output for details.

Total time: 11 seconds

The above compilation problems are because the ant script of FindBugs Eclipse plug-in doesn't know about Keshmesh. However, our patch makes the FindBugs Eclipse plug-in dependent on Keshmesh. So, I removed the patched and built the update site using the "site" target of the ant script of findBugsEclipsePlugin. However, the resulting update site didn't include Keshmesh again because the ant script doesn't know about Keshmesh.

reprogrammer commented 13 years ago

Qualifying the actions in findBugsEclipsePlugin/META-INF/p2.inf by org.eclipse.equinox.p2.touchpoint.eclipse. did not help. So, I removed findBugsEclipsePlugin/META-INF/p2.inf from my workspace. As a result, the installation completed without issuing the error in the above comment. However, FindBugs didn't work because its activator failed with the following error message in the error log.

eclipse.buildId=I20100608-0911
java.version=1.6.0_23
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.rcp.product

Error
Wed Nov 23 01:28:04 CST 2011
An error occurred while automatically activating bundle edu.umd.cs.findbugs.plugin.eclipse (323).

org.osgi.framework.BundleException: The activator de.tobject.findbugs.FindbugsPlugin for bundle edu.umd.cs.findbugs.plugin.eclipse is invalid
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:156)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:751)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
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:453)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
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:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:267)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:263)
at org.eclipse.ui.internal.decorators.FullDecoratorDefinition$1.run(FullDecoratorDefinition.java:64)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.decorators.FullDecoratorDefinition.internalGetDecorator(FullDecoratorDefinition.java:59)
at org.eclipse.ui.internal.decorators.FullDecoratorDefinition.decorateText(FullDecoratorDefinition.java:132)
at org.eclipse.ui.internal.decorators.FullTextDecoratorRunnable.run(FullTextDecoratorRunnable.java:26)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.decorators.DecoratorManager.safeDecorateText(DecoratorManager.java:566)
at org.eclipse.ui.internal.decorators.DecoratorManager.decorateText(DecoratorManager.java:519)
at org.eclipse.ui.internal.decorators.DecoratorManager$ManagedWorkbenchLabelDecorator.decorateText(DecoratorManager.java:161)
at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.getStyledText(DecoratingStyledCellLabelProvider.java:200)
at org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.update(DelegatingStyledCellLabelProvider.java:103)
at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.update(DecoratingStyledCellLabelProvider.java:134)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:934)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:102)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1014)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:481)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2141)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:829)
at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2709)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1867)
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:721)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1842)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1799)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.internalRefresh(PackageExplorerPart.java:256)
at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1514)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1422)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1383)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1512)
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:548)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$3.run(PackageExplorerContentProvider.java:935)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runUpdates(PackageExplorerContentProvider.java:194)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runPendingUpdates(PackageExplorerContentProvider.java:186)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$1.runInUIThread(PackageExplorerContentProvider.java:164)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3527)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3174)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
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:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: java.lang.NoClassDefFoundError: edu/umd/cs/findbugs/IGuiCallback
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)
at java.lang.Class.getConstructor0(Class.java:2716)
at java.lang.Class.newInstance0(Class.java:343)
at java.lang.Class.newInstance(Class.java:325)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:151)
... 92 more
Caused by: java.lang.ClassNotFoundException: edu.umd.cs.findbugs.IGuiCallback
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
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:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 98 more
Root exception:
java.lang.NoClassDefFoundError: edu/umd/cs/findbugs/IGuiCallback
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)
at java.lang.Class.getConstructor0(Class.java:2716)
at java.lang.Class.newInstance0(Class.java:343)
at java.lang.Class.newInstance(Class.java:325)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:151)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:751)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
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:453)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
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:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:267)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:263)
at org.eclipse.ui.internal.decorators.FullDecoratorDefinition$1.run(FullDecoratorDefinition.java:64)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.decorators.FullDecoratorDefinition.internalGetDecorator(FullDecoratorDefinition.java:59)
at org.eclipse.ui.internal.decorators.FullDecoratorDefinition.decorateText(FullDecoratorDefinition.java:132)
at org.eclipse.ui.internal.decorators.FullTextDecoratorRunnable.run(FullTextDecoratorRunnable.java:26)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.decorators.DecoratorManager.safeDecorateText(DecoratorManager.java:566)
at org.eclipse.ui.internal.decorators.DecoratorManager.decorateText(DecoratorManager.java:519)
at org.eclipse.ui.internal.decorators.DecoratorManager$ManagedWorkbenchLabelDecorator.decorateText(DecoratorManager.java:161)
at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.getStyledText(DecoratingStyledCellLabelProvider.java:200)
at org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.update(DelegatingStyledCellLabelProvider.java:103)
at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.update(DecoratingStyledCellLabelProvider.java:134)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:934)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:102)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1014)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:481)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2141)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:829)
at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2709)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1867)
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:721)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1842)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1799)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.internalRefresh(PackageExplorerPart.java:256)
at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1514)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1422)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1383)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1512)
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:548)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$3.run(PackageExplorerContentProvider.java:935)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runUpdates(PackageExplorerContentProvider.java:194)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runPendingUpdates(PackageExplorerContentProvider.java:186)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$1.runInUIThread(PackageExplorerContentProvider.java:164)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3527)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3174)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
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:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: java.lang.ClassNotFoundException: edu.umd.cs.findbugs.IGuiCallback
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
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:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 98 more

eclipse.buildId=I20100608-0911
java.version=1.6.0_23
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.rcp.product

Error
Wed Nov 23 01:28:04 CST 2011
Plug-in edu.umd.cs.findbugs.plugin.eclipse was unable to load class de.tobject.findbugs.decorators.ResourceBugCountDecorator.

org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle edu.umd.cs.findbugs.plugin.eclipse (323).
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:121)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
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:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)
at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
at org.eclipse.ui.internal.WorkbenchPlugin$1.run(WorkbenchPlugin.java:267)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:263)
at org.eclipse.ui.internal.decorators.FullDecoratorDefinition$1.run(FullDecoratorDefinition.java:64)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.decorators.FullDecoratorDefinition.internalGetDecorator(FullDecoratorDefinition.java:59)
at org.eclipse.ui.internal.decorators.FullDecoratorDefinition.decorateText(FullDecoratorDefinition.java:132)
at org.eclipse.ui.internal.decorators.FullTextDecoratorRunnable.run(FullTextDecoratorRunnable.java:26)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.decorators.DecoratorManager.safeDecorateText(DecoratorManager.java:566)
at org.eclipse.ui.internal.decorators.DecoratorManager.decorateText(DecoratorManager.java:519)
at org.eclipse.ui.internal.decorators.DecoratorManager$ManagedWorkbenchLabelDecorator.decorateText(DecoratorManager.java:161)
at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.getStyledText(DecoratingStyledCellLabelProvider.java:200)
at org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.update(DelegatingStyledCellLabelProvider.java:103)
at org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider.update(DecoratingStyledCellLabelProvider.java:134)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:152)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:934)
at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:102)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1014)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:481)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2141)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:829)
at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2709)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1867)
at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:721)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1842)
at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1799)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$PackageExplorerProblemTreeViewer.internalRefresh(PackageExplorerPart.java:256)
at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1514)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1422)
at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1383)
at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1512)
at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:548)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$3.run(PackageExplorerContentProvider.java:935)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runUpdates(PackageExplorerContentProvider.java:194)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider.runPendingUpdates(PackageExplorerContentProvider.java:186)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerContentProvider$1.runInUIThread(PackageExplorerContentProvider.java:164)
at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:95)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3527)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3174)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2629)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2427)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:663)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
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:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: org.osgi.framework.BundleException: The activator de.tobject.findbugs.FindbugsPlugin for bundle edu.umd.cs.findbugs.plugin.eclipse is invalid
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:156)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:751)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
... 86 more
Caused by: java.lang.NoClassDefFoundError: edu/umd/cs/findbugs/IGuiCallback
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)
at java.lang.Class.getConstructor0(Class.java:2716)
at java.lang.Class.newInstance0(Class.java:343)
at java.lang.Class.newInstance(Class.java:325)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:151)
... 92 more
Caused by: java.lang.ClassNotFoundException: edu.umd.cs.findbugs.IGuiCallback
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
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:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 98 more

I added the following to findbugs/build.properties .

bin.includes = META-INF/

The above change suppressed the above exception during the activation of the plug-ing. But, I still got the following exception:

eclipse.buildId=I20100608-0911
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.rcp.product

Error
Wed Nov 23 16:20:48 CST 2011
An internal error occurred during: "Finding bugs in LCK06J...".

java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at edu.umd.cs.findbugs.DetectorFactoryCollection.getCoreResource(DetectorFactoryCollection.java:357)
at edu.umd.cs.findbugs.SystemProperties.loadPropertiesFromConfigFile(SystemProperties.java:72)
at edu.umd.cs.findbugs.SystemProperties.(SystemProperties.java:55)
at edu.umd.cs.findbugs.DetectorFactoryCollection.(DetectorFactoryCollection.java:60)
at edu.umd.cs.findbugs.config.ProjectFilterSettings.(ProjectFilterSettings.java:105)
at edu.umd.cs.findbugs.config.ProjectFilterSettings.createDefault(ProjectFilterSettings.java:134)
at edu.umd.cs.findbugs.config.UserPreferences.(UserPreferences.java:131)
at edu.umd.cs.findbugs.config.UserPreferences.createDefaultUserPreferences(UserPreferences.java:148)
at de.tobject.findbugs.preferences.FindBugsPreferenceInitializer.createDefaultUserPreferences(FindBugsPreferenceInitializer.java:75)
at de.tobject.findbugs.FindbugsPlugin.getWorkspacePreferences(FindbugsPlugin.java:910)
at de.tobject.findbugs.FindbugsPlugin.getCorePreferences(FindbugsPlugin.java:854)
at de.tobject.findbugs.FindbugsPlugin.getUserPreferences(FindbugsPlugin.java:934)
at de.tobject.findbugs.builder.FindBugsWorker.(FindBugsWorker.java:101)
at de.tobject.findbugs.actions.FindBugsAction$StartedFromViewJob.runWithProgress(FindBugsAction.java:263)
at de.tobject.findbugs.FindBugsJob.run(FindBugsJob.java:102)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.ClassNotFoundException: org.dom4j.DocumentException
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
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:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 16 more

I changed bin.includes in findbugs/build.properties to the following:

bin.includes = META-INF/,\
           lib/ant.jar,\
           lib/asm-3.3.jar,\
           lib/asm-tree-3.3.jar,\
           lib/bcel.jar,\
           lib/commons-lang-2.4.jar,\
           lib/dom4j-1.6.1.jar,\
           lib/jFormatString.jar,\
           lib/jaxen-1.1.1.jar,\
           lib/jcip-annotations.jar,\
           lib/jdepend-2.9.jar,\
           lib/jsr305.jar,\
           lib/junit.jar,\
           lib/asm-commons-3.3.jar,\
           lib/AppleJavaExtensions.jar

As a result, I got the following exception when I tried to run the installed Keshmesh on a Java project:

eclipse.buildId=I20100608-0911
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.rcp.product

Error
Wed Nov 23 16:34:51 CST 2011
An internal error occurred during: "Finding bugs in LCK06J...".

java.lang.Error: Unresolved compilation problem:

at edu.umd.cs.findbugs.ba.AnalysisContext.logError(AnalysisContext.java:316)
at edu.umd.cs.findbugs.PluginLoader.init(PluginLoader.java:769)
at edu.umd.cs.findbugs.PluginLoader.(PluginLoader.java:281)
at edu.umd.cs.findbugs.PluginLoader.loadCorePlugin(PluginLoader.java:1298)
at edu.umd.cs.findbugs.PluginLoader.loadInitialPlugins(PluginLoader.java:1253)
at edu.umd.cs.findbugs.PluginLoader.(PluginLoader.java:147)
at edu.umd.cs.findbugs.DetectorFactoryCollection.getCoreResource(DetectorFactoryCollection.java:357)
at edu.umd.cs.findbugs.SystemProperties.loadPropertiesFromConfigFile(SystemProperties.java:72)
at edu.umd.cs.findbugs.SystemProperties.(SystemProperties.java:55)
at edu.umd.cs.findbugs.DetectorFactoryCollection.(DetectorFactoryCollection.java:60)
at edu.umd.cs.findbugs.config.ProjectFilterSettings.(ProjectFilterSettings.java:105)
at edu.umd.cs.findbugs.config.ProjectFilterSettings.createDefault(ProjectFilterSettings.java:134)
at edu.umd.cs.findbugs.config.UserPreferences.(UserPreferences.java:131)
at edu.umd.cs.findbugs.config.UserPreferences.createDefaultUserPreferences(UserPreferences.java:148)
at de.tobject.findbugs.preferences.FindBugsPreferenceInitializer.createDefaultUserPreferences(FindBugsPreferenceInitializer.java:75)
at de.tobject.findbugs.FindbugsPlugin.getWorkspacePreferences(FindbugsPlugin.java:910)
at de.tobject.findbugs.FindbugsPlugin.getCorePreferences(FindbugsPlugin.java:854)
at de.tobject.findbugs.FindbugsPlugin.getUserPreferences(FindbugsPlugin.java:934)
at de.tobject.findbugs.builder.FindBugsWorker.(FindBugsWorker.java:101)
at de.tobject.findbugs.actions.FindBugsAction$StartedFromViewJob.runWithProgress(FindBugsAction.java:263)
at de.tobject.findbugs.FindBugsJob.run(FindBugsJob.java:102)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

When I examined the contents of edu.illinois.keshmesh.updatesite/logs.zip, I noticed the following compilation problems:

The import net.jcip.annotations cannot be resolved
The import jdepend cannot be resolved

I added the following lines to the Bundle-ClassPath entry in findbugs/META-INF/MANIFEST.MF:

lib/ant.jar,
lib/jcip-annotations.jar,
lib/jdepend-2.9.jar

As a result of the above change, I got the following exception when I tried to run the installed Keshmesh on a Java project:

eclipse.buildId=I20100608-0911
java.version=1.6.0_26
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.rcp.product

Error
Wed Nov 23 17:01:34 CST 2011
Failed to load plugin for custom detector: file:/home/user/apps/eclipse/downloads/3.6/rcp-helios/eclipse/plugins/edu.illinois.keshmesh.ui.findbugs_1.0.0.201111231659.jar/lib/KeshmeshDetectors.jar

edu.umd.cs.findbugs.PluginException: Failed loading manifest for plugin jar: file:/home/user/apps/eclipse/downloads/3.6/rcp-helios/eclipse/plugins/edu.illinois.keshmesh.ui.findbugs_1.0.0.201111231659.jar/lib/KeshmeshDetectors.jar
at edu.umd.cs.findbugs.PluginLoader.createClassloaderUrls(PluginLoader.java:247)
at edu.umd.cs.findbugs.PluginLoader.(PluginLoader.java:193)
at edu.umd.cs.findbugs.PluginLoader.getPluginLoader(PluginLoader.java:1183)
at edu.umd.cs.findbugs.Plugin.addCustomPlugin(Plugin.java:665)
at edu.umd.cs.findbugs.Plugin.addCustomPlugin(Plugin.java:680)
at de.tobject.findbugs.FindbugsPlugin.addCustomPlugin(FindbugsPlugin.java:366)
at de.tobject.findbugs.FindbugsPlugin.applyCustomDetectors(FindbugsPlugin.java:323)
at de.tobject.findbugs.builder.FindBugsWorker.work(FindBugsWorker.java:144)
at de.tobject.findbugs.actions.FindBugsAction$StartedFromViewJob.runWithProgress(FindBugsAction.java:265)
at de.tobject.findbugs.FindBugsJob.run(FindBugsJob.java:102)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.io.FileNotFoundException: /home/user/apps/eclipse/downloads/3.6/rcp-helios/eclipse/plugins/edu.illinois.keshmesh.ui.findbugs_1.0.0.201111231659.jar/lib/KeshmeshDetectors.jar (Not a directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:120)
at java.io.FileInputStream.(FileInputStream.java:79)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
at java.net.URL.openStream(URL.java:1010)
at edu.umd.cs.findbugs.PluginLoader.createClassloaderUrls(PluginLoader.java:228)
... 10 more
reprogrammer commented 13 years ago

The main tricks to build the update site were to include the right artifacts in the build.properties files and remove p2.inf.