Clarification to this - it does also happen when we run our server. So this is preventing us from upgrading to 5.2<div><br></div><div>My guess is that getResources should return getParent().getResources() rather than null.</div>
<div><br></div><div>regards</div><div>Steve<br><div><br><div class="gmail_quote">On Wed, Jul 6, 2011 at 1:42 PM, Steven Williams <span dir="ltr">&lt;<a href="mailto:stevearoonie@gmail.com">stevearoonie@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">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>







<p><span>java.lang.NullPointerException</span></p>
<p><span>        </span>at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.parseDefinitions(<span>ClassLoaderWeavingAdaptor.java:251</span>)</p>
<p><span>        </span>at org.aspectj.weaver.loadtime.DefaultWeavingContext.getDefinitions(<span>DefaultWeavingContext.java:130</span>)</p>
<p><span>        </span>at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(<span>ClassLoaderWeavingAdaptor.java:161</span>)</p>
<p><span>        </span>at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.initialize(<span>Aj.java:271</span>)</p>
<p><span>        </span>at org.aspectj.weaver.loadtime.Aj$ExplicitlyInitializedClassLoaderWeavingAdaptor.getWeavingAdaptor(<span>Aj.java:276</span>)</p>
<p><span>        </span>at org.aspectj.weaver.loadtime.Aj$WeaverContainer.getWeaver(<span>Aj.java:254</span>)</p>
<p><span>        </span>at org.aspectj.weaver.loadtime.Aj.preProcess(<span>Aj.java:90</span>)</p>
<p><span>        </span>at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(<span>ClassPreProcessorAgentAdapter.java:54</span>)</p>
<p><span>        </span>at sun.instrument.TransformerManager.transform(<span>TransformerManager.java:169</span>)</p>
<p><span>        </span>at sun.instrument.InstrumentationImpl.transform(<span>InstrumentationImpl.java:365</span>)</p>
<p><span>        </span>at java.lang.ClassLoader.defineClass1(<span>Native Method</span>)</p>
<p><span>        </span>at java.lang.ClassLoader.defineClassCond(<span>ClassLoader.java:632</span>)</p>
<p><span>        </span>at java.lang.ClassLoader.defineClass(<span>ClassLoader.java:616</span>)</p>
<p><span>        </span>at org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(<span>JavaDialectRuntimeData.java:570</span>)</p>
<p><span>        </span>at org.drools.util.CompositeClassLoader$CachingLoader.load(<span>CompositeClassLoader.java:258</span>)</p>
<p><span>        </span>at org.drools.util.CompositeClassLoader$CachingLoader.load(<span>CompositeClassLoader.java:241</span>)</p>
<p><span>        </span>at org.drools.util.CompositeClassLoader.loadClass(<span>CompositeClassLoader.java:88</span>)</p>
<p><span>        </span>at java.lang.ClassLoader.loadClass(<span>ClassLoader.java:248</span>)</p>
<p><span>        </span>at org.drools.rule.JavaDialectRuntimeData.wire(<span>JavaDialectRuntimeData.java:405</span>)</p>
<p><span>        </span>at org.drools.rule.JavaDialectRuntimeData.wire(<span>JavaDialectRuntimeData.java:396</span>)</p>
<p><span>        </span>at org.drools.rule.JavaDialectRuntimeData.onBeforeExecute(<span>JavaDialectRuntimeData.java:237</span>)</p>
<p><span>        </span>at org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(<span>DialectRuntimeRegistry.java:132</span>)</p>
<p><span>        </span>at org.drools.compiler.PackageBuilder.reloadAll(<span>PackageBuilder.java:796</span>)</p>
<p><span>        </span>at org.drools.compiler.PackageBuilder.addPackage(<span>PackageBuilder.java:751</span>)</p>
<p><span>        </span>at org.drools.compiler.PackageBuilder.addPackageFromDrl(<span>PackageBuilder.java:360</span>)</p>
<p><span>        </span>at org.drools.compiler.PackageBuilder.addKnowledgeResource(<span>PackageBuilder.java:538</span>)</p>
<p><span>        </span>at org.drools.builder.impl.KnowledgeBuilderImpl.add(<span>KnowledgeBuilderImpl.java:28</span>)</p>
<p><span>        </span>at au.com.promedicus.rules.KnowledgeBaseBuilder.addPackagesFromList(<span>KnowledgeBaseBuilder.java:108</span>)</p>
<p><span>        </span>at au.com.promedicus.rules.KnowledgeBaseBuilder.build(<span>KnowledgeBaseBuilder.java:69</span>)</p>
<p><span>        </span>at au.com.promedicus.rules.KnowledgeBaseBuilder.build(<span>KnowledgeBaseBuilder.java:54</span>)</p><p><br></p><div>I have traced the problem to <span style="color:rgb(29, 0, 147);font-family:Monaco;font-size:11px">org.drools.rule.</span><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&#39;t upgrade unless our unit tests pass and we can&#39;t easily turn off aspectj for these.</div>

<div> </div>regards
</div><div>Steve</div>
</blockquote></div><br></div></div>