Description of problem: Given a DSL configuration containing > [when]Foo with {var} bars=Foo( bars == {var} ) and a probably incorrect rule containing > when > Foo with {var} bars When this rule is expanded by org.drools.lang.dsl.DefaultExpander the expansion gets stuck in an infinite loop, probably substituting {var} with {var} again and again. Version-Release number of selected component (if applicable): BRMS 5.3.1 How reproducible: always Steps to Reproduce: see description Actual results: infinite loop Expected results: DefaultExpander.expand() should finish and should describe the errors by DefaultExpander.getErrors(). Additional info:
Test case demonstrating the defect available in https://github.com/droolsjbpm/drools/pull/180 The issue is especially harmful in Guvnor. When user tries to validate or view source of the described rule (which can happen very easily), the command will never finish and will consume entire CPU/core until the webapp is restarted.
Mario Fusco <mario.fusco> updated the status of jira DROOLS-73 to Resolved
I fixed this issue on the master and backported the fix to the 5.5.x branch. Let me know if it should be backported also on the 5.3.x branch where it has been reported.
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.