[
https://issues.jboss.org/browse/DROOLS-785?page=com.atlassian.jira.plugin...
]
Peter Durica commented on DROOLS-785:
-------------------------------------
Drools version 6.5.0.Final, Eclipse 4.6 Neon:
The problem is in this class:
{{org.drools.core.base.mvel.MVELDebugHandler}}
This class is a Debug bridge between the Drools and MVEL engine. It registers the debugger
instance (MVELDebugger) to the MVEL engine:
{{ public static void setDebugMode(boolean b) {
debugMode = Boolean.valueOf( b );
if (debugMode) {
if (!MVELRuntime.hasDebuggerContext()) {
MVELRuntime.setThreadDebugger(new MVELDebugger());
}
} else {
MVELRuntime.resetDebugger();
}
System.setProperty( DEBUG_LAUNCH_KEY, debugMode.toString());
} }}
The problem is with the line {{MVELRuntime.hasDebuggerContext()}} it always returns true
as the MVELRuntime is initialized with the default context so the Drools debugger is never
set. After patching this class the debugging seems to work:
{{public static void setDebugMode(boolean b) {
debugMode = Boolean.valueOf( b );
if (debugMode) {
MVELRuntime.setThreadDebugger(new MVELDebugger());
} else {
MVELRuntime.resetDebugger();
}
System.setProperty( DEBUG_LAUNCH_KEY, debugMode.toString());
}}}
If somebody finds a better solution for this problem, please post it here.
no MVEL debugger registered to handle breakpoint
------------------------------------------------
Key: DROOLS-785
URL:
https://issues.jboss.org/browse/DROOLS-785
Project: Drools
Issue Type: Bug
Components: core engine, eclipse plugin
Affects Versions: 6.2.0.Final, 6.3.0.Final
Environment: Win 7 64, JBoss Developer Studio Version: 8.1.0.GA, JBossAS Tools
3.0.3.Final-v20150325-0035-B129, Java 1.7.0_76
Reporter: Maurice Betzel
Assignee: Petr Široký
Executing Drools-Examples 6.0.2.Final from github containing MVEL dialect resulted in
runtime exception:
2015-05-16 14:35:28,603 [main] INFO Found kmodule:
file:/C:/Users/x3.mbetzel/Development/workspaces/jboss-drools/drools-examples-62/target/classes/META-INF/kmodule.xml
2015-05-16 14:35:28,999 [main] INFO KieModule was added:
FileKieModule[releaseId=org.drools:drools-examples:6.2.0.Final,file=C:\Users\x3.mbetzel\Development\workspaces\jboss-drools\drools-examples-62\target\classes]
Exception in thread "main" java.lang.RuntimeException: no debugger registered
to handle breakpoint
at org.mvel2.debug.DebuggerContext.checkBreak(DebuggerContext.java:98)
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:76)
at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
at org.mvel2.MVEL.executeExpression(MVEL.java:930)
at
org.drools.core.util.MVELSafeHelper$RawMVELEvaluator.executeExpression(MVELSafeHelper.java:481)
at
org.drools.core.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:77)
at
org.drools.core.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:62)
at org.drools.core.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:230)
at org.drools.core.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:187)
at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:141)
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:504)
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:379)
at org.drools.core.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:290)
at org.drools.core.reteoo.EntryPointNode.assertObject(EntryPointNode.java:253)
at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:370)
at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:289)
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:1480)
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:1422)
at org.drools.examples.helloworld.HelloWorldExample.main(HelloWorldExample.java:65)
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)