Git Product home page Git Product logo

Comments (16)

acanda avatar acanda commented on September 24, 2024

It seems something went wrong during the update. The easiest solution would be to try to simply uninstall and reinstall eclipse-pmd.

Before you do that you could help me figure out what caused the problem. Please open your "Host OSGI Console" and enter the command ss ch.acanda. This should list the currently installed eclipse-pmd plugins and their state. If I do this on my machine it gives me the following result:
eclipse-pmd- 21-osgi-console

Also please open the plugins folder in your Eclipse installation and check if you can find the following plugins:

  • ch.acanda.eclipse.pmd.core_1.4.0.201412211449.jar
  • ch.acanda.eclipse.pmd.java_1.4.0.201412211449.jar
  • ch.acanda.eclipse.pmd.lib_1.4.0.201412211449.jar
  • ch.acanda.eclipse.pmd.unsupported_1.4.0.201412211449.jar

from eclipse-pmd.

pminearo avatar pminearo commented on September 24, 2024

I have installed/unistalled/reinstalled it several times and every time I get the same error. For this round, I had reverted back to 1.3; and then did an upgrade. Here is the output when it first starts up:

osgi> ss ch.acanda
"Framework is launched."

id State Bundle
1064 STARTING ch.acanda.eclipse.pmd.core_1.4.0.201412211449
1065 RESOLVED ch.acanda.eclipse.pmd.java_1.4.0.201412211449
1066 RESOLVED ch.acanda.eclipse.pmd.lib_1.4.0.201412211449
1067 RESOLVED ch.acanda.eclipse.pmd.unsupported_1.4.0.201412211449

Here is the output after I get the error:
osgi> ss ch.acanda
"Framework is launched."

id State Bundle
1064 ACTIVE ch.acanda.eclipse.pmd.core_1.4.0.201412211449
1065 RESOLVED ch.acanda.eclipse.pmd.java_1.4.0.201412211449
1066 RESOLVED ch.acanda.eclipse.pmd.lib_1.4.0.201412211449
1067 RESOLVED ch.acanda.eclipse.pmd.unsupported_1.4.0.201412211449

Here is what is in the plugins folder:
6.9M ch.acanda.eclipse.pmd.core_1.3.0.201411192130.jar
6.9M ch.acanda.eclipse.pmd.core_1.4.0.201412211449.jar
77K ch.acanda.eclipse.pmd.java_1.3.0.201411192130.jar
77K ch.acanda.eclipse.pmd.java_1.4.0.201412211449.jar
2.0M ch.acanda.eclipse.pmd.lib_1.3.0.201411192130.jar
2.0M ch.acanda.eclipse.pmd.lib_1.4.0.201412211449.jar
7.3K ch.acanda.eclipse.pmd.unsupported_1.3.0.201411192130.jar
7.3K ch.acanda.eclipse.pmd.unsupported_1.4.0.201412211449.jar

from eclipse-pmd.

pminearo avatar pminearo commented on September 24, 2024

Also, I just uninstalled it to revert back to version 1.3. And the 1.4 jar files were still there. I removed them manually and am reinstalling 1.3.

I forgot to mention, I have even blown away my workspace; and tried to reinstall. I have, also, removed the eclipse installation and started from scratch with the same result.

from eclipse-pmd.

acanda avatar acanda commented on September 24, 2024

The problem is that you have two versions of the same plugins in your plugin folder. I don't know why the old version wasn't removed.

If starting with a completely new Eclipse installation is an option for you then try to install eclipse-pmd from the Eclipse Marketplace. This will install the latest version (currently 1.4.0) directly. You don't have to install version 1.3.0 before 1.4.0.

If you want to fix your current installation you could try to uninstall eclipse-pmd, close Eclipse and manually remove the left over plugins. Then check the file artifacts.xml in your Eclipse folder for any left over entries of the plugin and remove those too. Start Eclipse with the β€˜-cleanβ€˜ parameter so it updates its plugin cache. Your Eclipse might now be ready to finally install the latest eclipse-pmd from the Eclipse Marketplace.

I hope that helps.

from eclipse-pmd.

pminearo avatar pminearo commented on September 24, 2024

I have tried that a few times already. Still the same result.

from eclipse-pmd.

acanda avatar acanda commented on September 24, 2024

I tried to reproduce this issue and there is something wrong with eclipse-pmd 1.4.0. It seems to install only the eclipse-pmd plugins but not the its features on a fresh install. In my case the plugin worked but Eclipse won't remove the plugins when uninstalling eclipse-pmd.

If I installed 1.3.0 first and then updated to 1.4.0 it removed the eclipse-pmd 1.3.0 features, did not remove the 1.3.0 plugins, did not add the 1.4.0 features but did add the 1.4.0 plugins. I think this is what happened in your case.

I don't yet know what causes this behaviour or why you end up with both the 1.3.0 and 1.4.0 plugins when installing 1.4.0 on a fresh Eclipse installation. The eclipse-pmd from the marketplace does not reference the 1.3.0 plugins in any way. Could it be that you have an active update site pointing to eclipse-pmd 1.3.0 in your Eclipse installation?

from eclipse-pmd.

pminearo avatar pminearo commented on September 24, 2024

I manually removed the 1.3 pmd files and left the 1.4 files. I looked at what is installed and only 1.4 shows up, and still get the same result.

I have, also, gone through the scenario of a fresh install of eclipse and loaded just the 1.4 plugin and still get the same result.

from eclipse-pmd.

ianbrandt avatar ianbrandt commented on September 24, 2024

I updated from 1.2 to 1.4 via the update site, and got the same error. I tried:

  1. Adding -clean to my startup
  2. Uninstalling the plugin
  3. Restarting
  4. Installing from the marketplace
  5. Restarting again

No change in behavior. I did not appear to have any 1.2 resources in my environment per the below. I noticed that after uninstalling and restarting the plugin's JARs and artifacts.xml entries were not deleted, which I understand is to be expected per the FAQ.

I then realized I hadn't removed the PMD update site prior to installing from the marketplace, so I removed the site and repeated the above steps. That fixed the issue.

osgi> ss ch.acanda
"Framework is launched."

id  State       Bundle
5   ACTIVE      ch.acanda.eclipse.pmd.core_1.4.0.201412211449
6   RESOLVED    ch.acanda.eclipse.pmd.java_1.4.0.201412211449
7   RESOLVED    ch.acanda.eclipse.pmd.lib_1.4.0.201412211449
8   RESOLVED    ch.acanda.eclipse.pmd.unsupported_1.4.0.201412211449
$ find . -name '*pmd*'
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-core-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-cpp-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-cs-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-fortran-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-go-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-java-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-javascript-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-jsp-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-php-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-plsql-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-ruby-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-vm-5.2.2.jar
./configuration/org.eclipse.osgi/5/0/.cp/lib/pmd-xml-5.2.2.jar
./features/ch.acanda.eclipse.pmd.core.feature_1.4.0.201412211449
./features/ch.acanda.eclipse.pmd.core.feature_1.4.0.201412211449/META-INF/maven/ch.acanda.eclipse.pmd
./features/ch.acanda.eclipse.pmd.core.feature_1.4.0.201412211449/META-INF/maven/ch.acanda.eclipse.pmd/ch.acanda.eclipse.pmd.core.feature
./features/ch.acanda.eclipse.pmd.feature_1.4.0.201412211449
./features/ch.acanda.eclipse.pmd.feature_1.4.0.201412211449/META-INF/maven/ch.acanda.eclipse.pmd
./features/ch.acanda.eclipse.pmd.feature_1.4.0.201412211449/META-INF/maven/ch.acanda.eclipse.pmd/ch.acanda.eclipse.pmd.feature
./features/ch.acanda.eclipse.pmd.java.feature_1.4.0.201412211449
./features/ch.acanda.eclipse.pmd.java.feature_1.4.0.201412211449/META-INF/maven/ch.acanda.eclipse.pmd
./features/ch.acanda.eclipse.pmd.java.feature_1.4.0.201412211449/META-INF/maven/ch.acanda.eclipse.pmd/ch.acanda.eclipse.pmd.java.feature
./plugins/ch.acanda.eclipse.pmd.core_1.4.0.201412211449.jar
./plugins/ch.acanda.eclipse.pmd.java_1.4.0.201412211449.jar
./plugins/ch.acanda.eclipse.pmd.lib_1.4.0.201412211449.jar
./plugins/ch.acanda.eclipse.pmd.unsupported_1.4.0.201412211449.jar
$ grep pmd artifacts.xml
    <artifact classifier='osgi.bundle' id='ch.acanda.eclipse.pmd.unsupported' version='1.4.0.201412211449'>
    <artifact classifier='osgi.bundle' id='ch.acanda.eclipse.pmd.lib' version='1.4.0.201412211449'>
    <artifact classifier='org.eclipse.update.feature' id='ch.acanda.eclipse.pmd.feature' version='1.4.0.201412211449'>
    <artifact classifier='osgi.bundle' id='ch.acanda.eclipse.pmd.core' version='1.4.0.201412211449'>
    <artifact classifier='org.eclipse.update.feature' id='ch.acanda.eclipse.pmd.java.feature' version='1.4.0.201412211449'>
    <artifact classifier='org.eclipse.update.feature' id='ch.acanda.eclipse.pmd.core.feature' version='1.4.0.201412211449'>
    <artifact classifier='osgi.bundle' id='ch.acanda.eclipse.pmd.java' version='1.4.0.201412211449'>

from eclipse-pmd.

ianbrandt avatar ianbrandt commented on September 24, 2024

Strike that, the issue is still occurring. Although seemingly intermittently now, and only for some of the modules that have the PMD nature enabled in my multi-module Maven project. As best I can recall all my PMD enabled modules would fail prior to my reinstalling from the marketplace as outlined above.

eclipse.buildId=3.6.3.201501121239-SR1-e44
java.version=1.8.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -product org.springsource.sts.ide -keyring /Users/ibrandt/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.springsource.sts.ide -keyring /Users/ibrandt/.eclipse_keyring -showlocation -clean

ch.acanda.eclipse.pmd.core
Error
Mon Mar 09 15:10:29 PDT 2015
Errors running builder 'PMD Builder' on project 'myproject-web'.

com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: Unknown Language 'java' for Rule JumbledIncrementer, supported Languages are 
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4830)
    at ch.acanda.eclipse.pmd.cache.RuleSetsCache.getRuleSets(RuleSetsCache.java:127)
    at ch.acanda.eclipse.pmd.builder.PMDBuilder.analyze(PMDBuilder.java:74)
    at ch.acanda.eclipse.pmd.builder.PMDBuilder$DeltaVisitor.visit(PMDBuilder.java:86)
    at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:69)
    at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
    at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
    at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
    at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
    at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
    at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:49)
    at ch.acanda.eclipse.pmd.builder.PMDBuilder.incrementalBuild(PMDBuilder.java:69)
    at ch.acanda.eclipse.pmd.builder.PMDBuilder.build(PMDBuilder.java:54)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.IllegalArgumentException: Unknown Language 'java' for Rule JumbledIncrementer, supported Languages are 
    at net.sourceforge.pmd.RuleSetFactory.parseSingleRuleNode(RuleSetFactory.java:355)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:265)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:220)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:165)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:304)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:263)
    at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:220)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:165)
    at net.sourceforge.pmd.RuleSetFactory.createRuleSets(RuleSetFactory.java:130)
    at ch.acanda.eclipse.pmd.cache.RuleSetsCacheLoader.load(RuleSetsCacheLoader.java:46)
    at ch.acanda.eclipse.pmd.cache.RuleSetsCacheLoader.load(RuleSetsCacheLoader.java:1)
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
    ... 28 more

from eclipse-pmd.

acanda avatar acanda commented on September 24, 2024

@ianbrandt Thank you for reporting and helping to fix this issue.

Although seemingly intermittently now, and only for some of the modules that have the PMD nature enabled in my multi-module Maven project.
Do you mean it works for some modules while it doesn't work for other modules at the same time or it works for all modules until you restart Eclipse and then it does not work for any modules?

Until this issue is fixed you could go back to an earlier version of eclipse-pmd by useing the update site http://www.acanda.ch/eclipse-pmd/release/1.3 or even http://www.acanda.ch/eclipse-pmd/release/1.2 (don't forget to deactivate the update site http://www.acanda.ch/eclipse-pmd/release/latest or it will install eclipse-pmd 1.4 again).

from eclipse-pmd.

pminearo avatar pminearo commented on September 24, 2024

I have an update. I downloaded the latest version of Eclipse (Version: Luna Service Release 2 (4.4.2) Build id: 20150219-0600) , installed the latest PMD plugin, and imported our code base into the workspace. I have yet to see any PMD errors.

Originally, I was using STS (Spring Tool Suite: https://spring.io/tools ) which is built on top of Eclipse (not sure of the version, though). From this observation, there is something between STS and the plugin. We may need to get the STS developers involved to help find out what is going on.

from eclipse-pmd.

ianbrandt avatar ianbrandt commented on September 24, 2024

@acanda:

Do you mean it works for some modules while it doesn't work for other modules at the same time or it works for all modules until you restart Eclipse and then it does not work for any modules?

  • If I start STS and do a "Project > Clean > Clean all projects..." I do now get the error for every module that has the PMD nature enabled.
  • If I open a Java file that has a PMD marker and make a trivial change unrelated to the marker I get the error.
  • If I open a Java file without any PMD markers in the same module and make a similar trivial change I get the error.

So now I'm a bit stumped as to how I was seeing intermittent failures the other day. I'm sure all the PMD markers were cleared before I reinstalled eclipse-pmd 1.4 from the marketplace, so how did all my current markers get there in the first place if eclipse-pmd 1.4 builds didn't succeed at least some of the time?

I'm not familiar enough with Eclipse/OSGi plugin and classloader workings to know if this "plain old Java" analogy applies, but this feels like the case when you have two different versions of the same library in your classpath, and depending on load order you intermittently get different behavior from one or the other. Here is a grep of all "pmd" related artifacts in my installation: https://gist.github.com/ianbrandt/8a5c349e4e9ee123fbcb.

from eclipse-pmd.

pminearo avatar pminearo commented on September 24, 2024

I just got the same JumbledIncrementer error with Eclipse Luna. If you compare the stack traces, you will see slightly different line numbers.

osgi> ss ch.acanda
"Framework is launched."

id State Bundle
843 ACTIVE ch.acanda.eclipse.pmd.core_1.4.0.201412211449
844 RESOLVED ch.acanda.eclipse.pmd.java_1.4.0.201412211449
845 RESOLVED ch.acanda.eclipse.pmd.lib_1.4.0.201412211449
846 RESOLVED ch.acanda.eclipse.pmd.unsupported_1.4.0.201412211449

eclipse/plugins> ls -lh acanda
-rw-r--r-- 1 Minearo staff 6.9M Mar 5 11:17 ch.acanda.eclipse.pmd.core_1.4.0.201412211449.jar
-rw-r--r-- 1 Minearo staff 77K Mar 5 11:16 ch.acanda.eclipse.pmd.java_1.4.0.201412211449.jar
-rw-r--r-- 1 Minearo staff 2.0M Mar 5 11:17 ch.acanda.eclipse.pmd.lib_1.4.0.201412211449.jar
-rw-r--r-- 1 Minearo staff 7.3K Mar 5 11:16 ch.acanda.eclipse.pmd.unsupported_1.4.0.201412211449.jar

eclipse.buildId=4.4.2.M20150204-1700
java.version=1.8.0_20
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product -keyring /Users/Minearo/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -keyring /Users/Minearo/.eclipse_keyring -showlocation

ch.acanda.eclipse.pmd.core
Error
Fri Mar 13 10:02:35 PDT 2015
Errors running builder 'PMD Builder' on project 'etouchpoint-db'.

com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: Unknown Language 'java' for Rule JumbledIncrementer, supported Languages are
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203)
at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4830)
at ch.acanda.eclipse.pmd.cache.RuleSetsCache.getRuleSets(RuleSetsCache.java:127)
at ch.acanda.eclipse.pmd.builder.PMDBuilder.analyze(PMDBuilder.java:74)
at ch.acanda.eclipse.pmd.builder.PMDBuilder$DeltaVisitor.visit(PMDBuilder.java:86)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:69)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:80)
at org.eclipse.core.internal.events.ResourceDelta.accept(ResourceDelta.java:49)
at ch.acanda.eclipse.pmd.builder.PMDBuilder.incrementalBuild(PMDBuilder.java:69)
at ch.acanda.eclipse.pmd.builder.PMDBuilder.build(PMDBuilder.java:54)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.IllegalArgumentException: Unknown Language 'java' for Rule JumbledIncrementer, supported Languages are
at net.sourceforge.pmd.RuleSetFactory.parseSingleRuleNode(RuleSetFactory.java:355)
at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:265)
at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:220)
at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:165)
at net.sourceforge.pmd.RuleSetFactory.parseRuleSetReferenceNode(RuleSetFactory.java:304)
at net.sourceforge.pmd.RuleSetFactory.parseRuleNode(RuleSetFactory.java:263)
at net.sourceforge.pmd.RuleSetFactory.parseRuleSetNode(RuleSetFactory.java:220)
at net.sourceforge.pmd.RuleSetFactory.createRuleSet(RuleSetFactory.java:165)
at net.sourceforge.pmd.RuleSetFactory.createRuleSets(RuleSetFactory.java:130)
at ch.acanda.eclipse.pmd.cache.RuleSetsCacheLoader.load(RuleSetsCacheLoader.java:46)
at ch.acanda.eclipse.pmd.cache.RuleSetsCacheLoader.load(RuleSetsCacheLoader.java:1)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
... 27 more

from eclipse-pmd.

acanda avatar acanda commented on September 24, 2024

I might have found the source of the problem. It involves OSGi ClassLoaders, the Java Service Provider Interface, PMD's internal language handler cache and when exactly Eclipse or STS tries to run PMD the first time after start up.
The fix for this is available at the Eclipse update site http://www.acanda.ch/eclipse-pmd/preview/issue21. It doesn't matter whether you have eclipse-pmd already installed or not. Please install this version and check if it really fixes your problems. If it does I'll release version 1.4.1 with the fix as soon as possible.

from eclipse-pmd.

ianbrandt avatar ianbrandt commented on September 24, 2024

@acanda: Coincidentally I was right in the middle of a fresh install of the new 3.6.4 version of STS when I saw your latest update. I installed eclipse-pmd from the "issue21" update site instead of the regular one. This was the first eclipse-pmd install into this new STS installation and fresh workspace. I imported my projects, and the initial PMD build completed without error. I then ran "Clean all projects", and the build succeeded again. Finally I restarted STS, and ran another clean build. It too succeeded, so it's looking so far.

Thank you for your time spent tracking down and fixing what sounds like a particularly gnarly bug. Impressive work!

from eclipse-pmd.

acanda avatar acanda commented on September 24, 2024

I released eclipse-pmd 1.4.1 with the fix for this issue and am therefore closing it now. If any of you have still the same problems with 1.4.1 then feel free to add a comment and reopen the issue. Thanks everyone for helping me tracking down this gnarly bug!

from eclipse-pmd.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.