Description of problem: IllegalArgumentException is thrown instead of solving sudoku. Version-Release number of selected component (if applicable): BRMS 5.3.0.GA How reproducible: Follow next steps Steps to Reproduce: 1. run runExample.sh script 2. click on SudokuExample button 3. choose menu File -> Samples -> Simple 4. press "Step" button while sudoku is not resolved 5. choose menu File -> Samples -> Hard 4 6. click "Solve" button 7. IllegalArgumentException is thrown and shown on the standard output Actual results: Thrown IllegalArgumentException Expected results: solved sudoku Additional info: After this exception no other sudoku is solved.
Stacktrace of thrown exception: Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Invalid Entry Point. You updated the FactHandle on entry point 'DEFAULT' instead of 'DEFAULT' at org.drools.common.NamedEntryPoint.retract(NamedEntryPoint.java:527) at org.drools.common.AbstractWorkingMemory.retract(AbstractWorkingMemory.java:919) at org.drools.common.AbstractWorkingMemory.retract(AbstractWorkingMemory.java:907) at org.drools.impl.StatefulKnowledgeSessionImpl.retract(StatefulKnowledgeSessionImpl.java:271) at org.drools.examples.sudoku.Sudoku.solve(Sudoku.java:192) at org.drools.examples.sudoku.SudokuExample.actionPerformed(SudokuExample.java:163) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6505) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6270) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4861) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703) at java.awt.EventQueue.access$000(EventQueue.java:102) at java.awt.EventQueue$3.run(EventQueue.java:662) at java.awt.EventQueue$3.run(EventQueue.java:660) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:676) at java.awt.EventQueue$4.run(EventQueue.java:674) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:673) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139) at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
I got a 1 line, no risk fix for it (pushed on master and 5.4.x). Get pm+ and dev+ and I 'll backport it to 5.3.x. https://github.com/droolsjbpm/drools/commit/83d945e6e365f52d474317da46ba1d49ecec00c1
Backported to 5.3.x: https://github.com/droolsjbpm/drools/commit/f555d1da6416f1ad776d507c812d0fe5f29d889f
The doc text has been edited for inclusion in the release notes. Thanks for providing the text, Geoffrey. - Lee