Hello,
I have recently installed PMD with a ruleset that can be loaded. When trying to use "check code" I receive an NPE:
ava.lang.NullPointerException
at net.sourceforge.pmd.RuleSet.hashCode(RuleSet.java:542)
at java.util.HashMap.hash(HashMap.java:338)
at java.util.HashMap.containsKey(HashMap.java:595)
at net.sourceforge.pmd.lang.rule.AbstractRuleChainVisitor.add(AbstractRuleChainVisitor.java:46)
at net.sourceforge.pmd.RuleChain.add(RuleChain.java:49)
at net.sourceforge.pmd.RuleChain.add(RuleChain.java:34)
at net.sourceforge.pmd.RuleSets.addRuleSet(RuleSets.java:61)
at net.sourceforge.pmd.RuleSets.<init>(RuleSets.java:48)
at net.sourceforge.pmd.eclipse.runtime.cmd.BaseVisitor$1.createRuleSets(BaseVisitor.java:304)
at net.sourceforge.pmd.RulesetsFactoryUtils.getRuleSets(RulesetsFactoryUtils.java:36)
at net.sourceforge.pmd.processor.AbstractPMDProcessor.createRuleSets(AbstractPMDProcessor.java:63)
at net.sourceforge.pmd.processor.AbstractPMDProcessor.processFiles(AbstractPMDProcessor.java:68)
at net.sourceforge.pmd.eclipse.runtime.cmd.BaseVisitor.reviewResource(BaseVisitor.java:351)
at net.sourceforge.pmd.eclipse.runtime.cmd.ResourceVisitor.visit(ResourceVisitor.java:29)
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:120)
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:84)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:129)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:94)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:52)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:117)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:105)
at net.sourceforge.pmd.eclipse.runtime.cmd.ReviewCodeCmd.processResource(ReviewCodeCmd.java:424)
at net.sourceforge.pmd.eclipse.runtime.cmd.ReviewCodeCmd.processResources(ReviewCodeCmd.java:373)
at net.sourceforge.pmd.eclipse.runtime.cmd.ReviewCodeCmd.execute(ReviewCodeCmd.java:191)
at net.sourceforge.pmd.eclipse.runtime.cmd.JobCommandProcessor$1.run(JobCommandProcessor.java:90)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
I checked out the code and I suspect that somehow the name or the rules are null in the hashcode() implementation of the Rule.
I am not sure if this is to do with my rules, the plugin or the core code. It appears to be an issue in the core code, and I thought I would post it simply because an NPE is likely not planned to happen on that call :)
I am using:
PMD: 5.6.1
Eclipse Neon.3
Plugin version: 4.0.13.v20170429-1921
Ubuntu 16.04.2 LTS
Please let me know if there is more info I can provide
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4