[JBoss JIRA] Created: (JBRULES-2223) ArrayIndexOutOfBoundsException in AbstractRuleBase.getStatefulSessions()
by Assen Todorov (JIRA)
ArrayIndexOutOfBoundsException in AbstractRuleBase.getStatefulSessions()
------------------------------------------------------------------------
Key: JBRULES-2223
URL: https://jira.jboss.org/jira/browse/JBRULES-2223
Project: JBoss Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.0.7
Reporter: Assen Todorov
Assignee: Mark Proctor
The following exception is thrown on a multithreaded application, based on Terracotta & JBoss Drools (4.0.7).
{code}
java.lang.ArrayIndexOutOfBoundsException: 0
at org.drools.util.ObjectHashSet.toArray(ObjectHashSet.java:152)
at org.drools.common.AbstractRuleBase.getStatefulSessions(AbstractRuleBase.java:724)
.......
{code}
The code :
{code}
/**
* Creates a new rule base if necesarry.
* @param aRuleSet the rule set for the new rule base.
* @throws RuleConversionException if the rule engine has a problem with rule set compilation and loading.
*/
private void createRuleBase(final RuleSet aRuleSet) throws RuleConversionException
{
Check.notNull(aRuleSet, "aRuleSet");
final String code = aRuleSet.getCode();
Check.notNull(code, "aRuleSet.getCode()");
Check.notEmpty(code, "aRuleSet.getCode()");
final ECRC ecrc = new ECRC();
ecrc.update(code);
final long crc = ecrc.getValue();
synchronized(ruleBaseCache)
{
ruleBase = ruleBaseCache.get(crc);
if(ruleBase == null)
{
ruleBase = loadRuleBaseFromCode(code);
ruleBaseCache.put(crc, ruleBase);
}
else {
// rulebase already exist
final StatefulSession[] sessions = ruleBase.getStatefulSessions();
if(sessions.length > 0) {
// old sessions (working memories exist)
for(StatefulSession session: sessions) {
// clear the working memory
session.dispose();
}
}
}
}
}
{code}
The class where this method is defined, is declared as _instrumented-classes_ in the Terracotta configuration.
Hope this helps !
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 3 months
[JBoss JIRA] Commented: (JBRULES-2273) setting the Conflictresolver when you get a KnowledgeBase using KnowledgeAgent
by Mark Proctor (JIRA)
[ https://issues.jboss.org/browse/JBRULES-2273?page=com.atlassian.jira.plug... ]
Mark Proctor commented on JBRULES-2273:
---------------------------------------
As the javadocs say for KnowledgeBaseConfiguration:
* <p>
* The follow properties have not yet been migrated from the Drools 4.0 api:
* <ul>
* <li>drools.executorService = <qualified class name></li>
* <li>drools.conflictResolver = <qualified class name></li>
* <li>drools.ruleBaseUpdateHandler = <qualified class name></li>
* </ul>
* </p>
At the moment I have no plans to expose this as a stable feature in 5.0.
> setting the Conflictresolver when you get a KnowledgeBase using KnowledgeAgent
> ------------------------------------------------------------------------------
>
> Key: JBRULES-2273
> URL: https://issues.jboss.org/browse/JBRULES-2273
> Project: Drools
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: drools-core (expert)
> Affects Versions: 5.0.1.FINAL
> Reporter: Edgardo Carena
> Assignee: Mark Proctor
> Priority: Critical
> Labels: agent, conflict, resolver
>
> a feature or at least a work-around to set a specific ConflictResolver when you set up a KnowledgeBase using the KnowledgeAgentFactory and a ResourceFactory.
> Currently your apidocs (http://downloads.jboss.com/drools/docs/5.0.1.26597.FINAL/apidocs/org/droo...) state:
> "The follow properties have not yet been migrated from the Drools 4.0 api:
> * drools.executorService = <qualified class name>
> * drools.conflictResolver = <qualified class name>
> * drools.ruleBaseUpdateHandler = <qualified class name>"
> The only known work-around is to set up a RuleBaseConfiguration in this way:
> conf = new RuleBaseConfiguration();
> conf.setConflictResolver(new FifoConflictResolver());
> and then use it to get a KnowledgeBase using KnowledgeBaseFactory.newKnowledgeBase(conf), however this cannot be applied when you are using the KnowledgeAgentFactory.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 3 months
[JBoss JIRA] Created: (JBRULES-2979) Error in 5.2.0.M2 accumulate function. Works in 5.0 and 5.2.0.M1
by Joe White (JIRA)
Error in 5.2.0.M2 accumulate function. Works in 5.0 and 5.2.0.M1
----------------------------------------------------------------
Key: JBRULES-2979
URL: https://issues.jboss.org/browse/JBRULES-2979
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 5.2.0.M2
Environment: Windows. Java 5.
Reporter: Joe White
Assignee: Mark Proctor
When loading the rule below the exception below occurs. The rule works and test passes in 5.0.1 and in 5.2.0.M1. A self contained unit test has been emailed to the development team.
**********************Rule*************************************
package accumsTest
import java.util.Map;
import java.util.ArrayList;
dialect "mvel"
rule "Accum test rule"
salience 155
when
$episode: Map()
$commonVisits : ArrayList() from accumulate( Map( $selectedCv : this["KEY"] != null) from $episode
init(ArrayList selIns = new ArrayList();),
action(selIns.addAll($selectedCv);),
result(selIns)
)
then
System.out.println("HIT");
retract($episode);
end
****************************Exception********************************
[15,21]: [ERR 102] Line 15:21 mismatched input 'init' in rule "Accum test rule"
java.lang.IllegalArgumentException: Could not parse knowledge.
at com.recondotech.droolsTest.AccumTest.readKnowledgeBase(AccumTest.java:40)
at com.recondotech.droolsTest.AccumTest.testUpdate(AccumTest.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 3 months
[JBoss JIRA] Created: (JBAS-9380) Struts Link causes NP
by Martin Suhrcke (JIRA)
Struts Link causes NP
---------------------
Key: JBAS-9380
URL: https://issues.jboss.org/browse/JBAS-9380
Project: Legacy JBoss Application Server 6
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: EJB
Affects Versions: 6.0.0.Final
Environment: Win XP, JVM 1.6
Reporter: Martin Suhrcke
Assignee: Carlo de Wolf
I'm working with Struts 1 The following lines in my welcome jsp are working with AS 5.0 fine (showing a help jsp page):
<html:link href="javascript:popUp('/diaryinfo/welcome.jspa?method=showWelcomeHelp')">
<html:img page="/images/b_info_gruen.gif" alt="info" border="0"/></html:link>
Now I want to change to AS 6.0.0, but I get the following exception after calling the start welcome page. Without this link the welcome page is shown:
18:37:26,562 INFO [com.mediit.diaryinfo.web.filter.SignOnFilter] ...uri=welcome.jspa
18:37:26,578 INFO [com.mediit.diaryinfo.web.action.WelcomeAction] welcome()
18:37:26,625 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/diaryinfo].[jsp]] Servlet.service() for servlet jsp threw exception: java.lang.NullPointerException
at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1598) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:976) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1247) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1633) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:976) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1247) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parse(Parser.java:130) [:6.0.0.Final]
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255) [:6.0.0.Final]
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103) [:6.0.0.Final]
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:196) [:6.0.0.Final]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:358) [:6.0.0.Final]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:338) [:6.0.0.Final]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:325) [:6.0.0.Final]
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:607) [:6.0.0.Final]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312) [:6.0.0.Final]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [:6.0.0.Final]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [:6.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:541) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.0.0.Final]
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085) [:1.2.9]
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398) [:1.2.9]
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) [:1.2.9]
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) [:1.2.9]
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) [:1.2.9]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [:1.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at com.mediit.diaryinfo.web.filter.SignOnFilter.doFilter(SignOnFilter.java:156) [:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(Unknown Source) [:]
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(Unknown Source) [:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]
at java.lang.Thread.run(Thread.java:619) [:1.6.0_05]
18:37:26,687 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/diaryinfo].[action]] Servlet.service() for servlet action threw exception: java.lang.NullPointerException
at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1598) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:976) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1247) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseBody(Parser.java:1633) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:976) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1247) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421) [:6.0.0.Final]
at org.apache.jasper.compiler.Parser.parse(Parser.java:130) [:6.0.0.Final]
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255) [:6.0.0.Final]
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103) [:6.0.0.Final]
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:196) [:6.0.0.Final]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:358) [:6.0.0.Final]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:338) [:6.0.0.Final]
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:325) [:6.0.0.Final]
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:607) [:6.0.0.Final]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312) [:6.0.0.Final]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [:6.0.0.Final]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [:6.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:541) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407) [:6.0.0.Final]
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085) [:1.2.9]
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398) [:1.2.9]
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) [:1.2.9]
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) [:1.2.9]
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) [:1.2.9]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [:1.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at com.mediit.diaryinfo.web.filter.SignOnFilter.doFilter(SignOnFilter.java:156) [:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(Unknown Source) [:]
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(Unknown Source) [:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]
at java.lang.Thread.run(Thread.java:619) [:1.6.0_05]
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 3 months