Hi,<div><br></div><div>I have just upgraded to Drools 5.2.0.Final and am getting a weird error when running unit tests.</div><div><br></div><div><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Generator" content="Cocoa HTML Writer">
<meta name="CocoaVersion" content="1038.35">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #1d0093}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #f5201b}
span.s1 {text-decoration: underline}
span.s2 {text-decoration: underline ; color: #1d0093}
span.Apple-tab-span {white-space:pre}
</style>
<p class="p1"><span class="s1">java.lang.NullPointerException</span></p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions(<span class="s2">ClassLoaderWeavingAdaptor.java:251</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.aspectj.weaver.loadtime.DefaultWeavingContext.getDefinitions(<span class="s2">DefaultWeavingContext.java:130</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(<span class="s2">ClassLoaderWeavingAdaptor.java:161</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(<span class="s2">Aj.java:271</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(<span class="s2">Aj.java:276</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(<span class="s2">Aj.java:254</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.aspectj.weaver.loadtime.Aj.preProcess(<span class="s2">Aj.java:90</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(<span class="s2">ClassPreProcessorAgentAdapter.java:54</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at sun.instrument.TransformerManager.transform(<span class="s2">TransformerManager.java:169</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at sun.instrument.InstrumentationImpl.transform(<span class="s2">InstrumentationImpl.java:365</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at java.lang.ClassLoader.defineClass1(<span class="s2">Native Method</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at java.lang.ClassLoader.defineClassCond(<span class="s2">ClassLoader.java:632</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at java.lang.ClassLoader.defineClass(<span class="s2">ClassLoader.java:616</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(<span class="s2">JavaDialectRuntimeData.java:570</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.util.CompositeClassLoader$CachingLoader.load(<span class="s2">CompositeClassLoader.java:258</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.util.CompositeClassLoader$CachingLoader.load(<span class="s2">CompositeClassLoader.java:241</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.util.CompositeClassLoader.loadClass(<span class="s2">CompositeClassLoader.java:88</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at java.lang.ClassLoader.loadClass(<span class="s2">ClassLoader.java:248</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.rule.JavaDialectRuntimeData.wire(<span class="s2">JavaDialectRuntimeData.java:405</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.rule.JavaDialectRuntimeData.wire(<span class="s2">JavaDialectRuntimeData.java:396</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.rule.JavaDialectRuntimeData.onBeforeExecute(<span class="s2">JavaDialectRuntimeData.java:237</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(<span class="s2">DialectRuntimeRegistry.java:132</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.compiler.PackageBuilder.reloadAll(<span class="s2">PackageBuilder.java:796</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.compiler.PackageBuilder.addPackage(<span class="s2">PackageBuilder.java:751</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.compiler.PackageBuilder.addPackageFromDrl(<span class="s2">PackageBuilder.java:360</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.compiler.PackageBuilder.addKnowledgeResource(<span class="s2">PackageBuilder.java:538</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at org.drools.builder.impl.KnowledgeBuilderImpl.add(<span class="s2">KnowledgeBuilderImpl.java:28</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at au.com.promedicus.rules.KnowledgeBaseBuilder.addPackagesFromList(<span class="s2">KnowledgeBaseBuilder.java:108</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at au.com.promedicus.rules.KnowledgeBaseBuilder.build(<span class="s2">KnowledgeBaseBuilder.java:69</span>)</p>
<p class="p2"><span class="Apple-tab-span">        </span>at au.com.promedicus.rules.KnowledgeBaseBuilder.build(<span class="s2">KnowledgeBaseBuilder.java:54</span>)</p><p class="p2"><br></p><div>I have traced the problem to <span class="Apple-style-span" style="color: rgb(29, 0, 147); font-family: Monaco; font-size: 11px; ">org.drools.rule.</span><span class="Apple-style-span" style="color: rgb(29, 0, 147); font-family: Monaco; font-size: 11px; ">JavaDialectRuntimeData$PackageClassLoader.getResources</span>. This returns null whereas AspectJ expects it to at least return an empty enumeration - hence the NPE. Interestingly the problem does not occur when running our server, however we can't upgrade unless our unit tests pass and we can't easily turn off aspectj for these.</div>
<meta charset="utf-8"><div> </div>regards
</div><div>Steve</div>