Bug 852347 - SudokuExample throws IllegalArgumentException
Summary: SudokuExample throws IllegalArgumentException
Keywords:
Status: VERIFIED
Alias: None
Product: JBoss Enterprise BRMS Platform 5
Classification: JBoss
Component: Examples
Version: BRMS 5.3.0.GA
Hardware: Unspecified
OS: Linux
unspecified
low
Target Milestone: ---
: ---
Assignee: Nobody
QA Contact: Martin Vecera
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-08-28 09:01 UTC by jgargula
Modified: 2023-05-15 19:53 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
The SudokuExample threw an IllegalArgumentException when the solve button was clicked, and the solution was never submitted. The cause of the IllegalArgumentException has been fixed and the SudokuExample now works.
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description jgargula 2012-08-28 09:01:49 UTC
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.

Comment 1 jgargula 2012-08-28 09:03:41 UTC
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)

Comment 2 Geoffrey De Smet 2012-08-29 10:06:51 UTC
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

Comment 3 Geoffrey De Smet 2012-08-29 12:46:30 UTC
Backported to 5.3.x:
  https://github.com/droolsjbpm/drools/commit/f555d1da6416f1ad776d507c812d0fe5f29d889f

Comment 4 lcarlon 2012-10-18 04:47:44 UTC
The doc text has been edited for inclusion in the release notes. Thanks for providing the text, Geoffrey.

- Lee


Note You need to log in before you can comment on or make changes to this bug.