[jboss-jira] [JBoss JIRA] Created: (JBRULES-1279) Memory leak in release 4.0.2
Paul Jackson (JIRA)
jira-events at lists.jboss.org
Mon Oct 15 11:13:04 EDT 2007
Memory leak in release 4.0.2
----------------------------
Key: JBRULES-1279
URL: http://jira.jboss.com/jira/browse/JBRULES-1279
Project: JBoss Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.0.2
Environment: tested with windows jdk5 and jdk6
Reporter: Paul Jackson
Assigned To: Mark Proctor
I have observed memory leaks in our application after upgrading to the latest 4.0.2 release. I have replicated the problem with the sample code below:
DroolsTest.java
import java.io.InputStreamReader;
import java.io.Reader;
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.StatefulSession;
import org.drools.compiler.PackageBuilder;
import org.drools.rule.Package;
public class DroolsTest {
public void run() throws Exception {
RuleBase ruleBase = createRuleBase();
long counter = 0;
while(true) {
StatefulSession session = ruleBase.newStatefulSession(false);
if(++counter % 100 == 0) {
System.out.println(counter);
}
session.dispose();
}
}
private RuleBase createRuleBase() throws Exception {
Reader source = new InputStreamReader( this.getClass().getResourceAsStream( "HelloWorld.drl" ) );
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( source );
if ( builder.hasErrors() ) {
System.out.println( builder.getErrors().toString() );
throw new RuntimeException( "Unable to compile \"HelloWorld.drl\".");
}
Package pkg = builder.getPackage();
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( pkg );
return ruleBase;
}
public static void main(String[] args) throws Exception {
new DroolsTest().run();
}
}
HelloWorld.drl
#list any import classes here.
#declare any global variables here
rule "Your First Rule"
when
#conditions
then
#actions
end
rule "Your Second Rule"
#include attributes such as "salience" here...
when
#conditions
then
#actions
end
When I run this with release 4.0.1 I have to manually break the program to get it to stop.
When I run with release 4.0.2 it reaches about 14000 iterations before crashing with an out of memory error.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list