[jboss-jira] [JBoss JIRA] (DROOLS-968) Random Nullpointer

Marko Talijanac (JIRA) issues at jboss.org
Wed Jan 25 07:06:00 EST 2017


    [ https://issues.jboss.org/browse/DROOLS-968?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13353313#comment-13353313 ] 

Marko Talijanac commented on DROOLS-968:
----------------------------------------

I believe this bug is caused by running drools under IBM J9 JDK. If you follow stack, NullPointerException is caused by class name being null. Reloading drools under same classloader fixes NullPointerException. It seems to me that it is caused by some timing issue under J9 classloader where class name defaults to null for some brief period of time.

I can reproduce this behavior in two seperate enivronments:
# on AIX running  WebSphere App Server v8 on AIX with java version:
 
{noformat}
java version "1.6.0"
Java(TM) SE Runtime Environment (build pap6460_26sr8fp15ifix-20151124_01(SR8 FP15+IV79094))
IBM J9 VM (build 2.6, JRE 1.6.0 AIX ppc64-64 Compressed References 20151019_272772 (JIT enabled, AOT enabled)
J9VM - R26_Java626_SR8_20151019_2248_B272772
JIT  - tr.r11_20151005_102425.01
GC   - R26_Java626_SR8_20151019_2248_B272772_CMPRSS
J9CL - 20151019_272772)
JCL  - 20151105_01
{noformat}


# On Windows 7, running Tomcat v7 with IBM SDK

{noformat}
java version "1.7.0"
Java(TM) SE Runtime Environment (build pwi3270sr1-20120405_01(SR1))
IBM J9 VM (build 2.6, JRE 1.7.0 Windows 7 x86-32 20120322_106209 (JIT enabled, AOT enabled)
J9VM - R26_Java726_SR1_20120322_1720_B106209
JIT  - r11_20120322_22976
GC   - R26_Java726_SR1_20120322_1720_B106209
J9CL - 20120322_106209)
JCL - 20120322_01 based on Oracle 7u3-b05
{noformat}

Same tomcat running the oracle jdk doesn't produce the bug. Unfortunatly this issue prevents us from upgrading drools to 5.6.0.Final.

Example:
{noformat}
2017-01-19 16:14:05,011 ERROR [LMSI2-1-7] (LynxManagementServiceImpl2.java:522) - Error starting rule engine for lnet: 'SVK2'
java.lang.NullPointerException
	at org.drools.base.evaluators.EvaluatorRegistry.addEvaluatorDefinition(EvaluatorRegistry.java:155)
	at org.drools.base.evaluators.EvaluatorRegistry.<init>(EvaluatorRegistry.java:78)
	at org.drools.compiler.PackageBuilderConfiguration.buildEvaluatorRegistry(PackageBuilderConfiguration.java:544)
	at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:196)
	at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:170)
	at org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl.newKnowledgeBuilderConfiguration(KnowledgeBuilderFactoryServiceImpl.java:22)
	at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(KnowledgeBuilderFactory.java:74)
	at hr.ispcard.lynx.model.rule.RuleEngine.createKnowledgeBaseFromDRL(RuleEngine.java:162)
	at hr.ispcard.lynx.scoring.ScorecardManagerImpl.loadScorecardRuleEngine(ScorecardManagerImpl.java:355)
	at hr.ispcard.lynx.service.LynxManagementServiceImpl2$9.call(LynxManagementServiceImpl2.java:505)
	at hr.ispcard.lynx.service.LynxManagementServiceImpl2$9.call(LynxManagementServiceImpl2.java:498)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:314)
	at java.util.concurrent.FutureTask.run(FutureTask.java:149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:790)
{noformat}


> Random Nullpointer
> ------------------
>
>                 Key: DROOLS-968
>                 URL: https://issues.jboss.org/browse/DROOLS-968
>             Project: Drools
>          Issue Type: Bug
>    Affects Versions: 5.6.0.Final
>         Environment: Windows, Jetty
>            Reporter: Michal Letynski
>            Assignee: Mark Proctor
>
> From time to time i.m getting weird Nullpointer exception. I didn't reproduce the problem when the app is deployed on Glassfish. Only on jetty and only on windows system (with MAC OS everything is ok)
> Stacktrace:
> java.lang.NullPointerException
> 	at org.drools.base.evaluators.EvaluatorRegistry.addEvaluatorDefinition(EvaluatorRegistry.java:155)
> 	at org.drools.base.evaluators.EvaluatorRegistry.<init>(EvaluatorRegistry.java:77)
> 	at org.drools.compiler.PackageBuilderConfiguration.buildEvaluatorRegistry(PackageBuilderConfiguration.java:544)
> 	at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:196)
> 	at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:170)
> 	at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:308)
> 	at org.drools.compiler.PackageBuilder.<init>(PackageBuilder.java:236)
> And my code is a simple object creation:
> PackageBuilder packageBuilder = new PackageBuilder();
> Any hint why this might occur ? Or should i just ignore it because on production we have Glassfish server ?



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list