Open rensink opened 12 years ago
Original comment by: maartenm42
Original comment by: rensink
Original comment by: rensink
I'm adding a much simpler rule that has the same effect.
The bug is due to the fact that, when building a network for a subcondition, root nodes (whose matching is inherited from the parent) are not recognised as already having been matched; if they are isolated (from the point of view of the subcondition) variable nodes, then this gives rise to the assertion error.
Original comment by: rensink
Original comment by: rensink
Original comment by: rensink
Depends on https://sourceforge.net/tracker/?func=detail&aid=3532396&group\_id=119225&atid=2099479
Original comment by: rensink
In the attached grammar, running RETE DFS with 10x10_1 as start graph causes the assertion error below: Exception in thread "Thread-4" java.lang.AssertionError at groove.match.rete.ReteNetwork.findNodeCheckerForNode(ReteNetwork.java:905) at groove.match.rete.ReteNetwork.mapEdgesAndNodes(ReteNetwork.java:691) at groove.match.rete.ReteNetwork.addConditionToNetwork(ReteNetwork.java:162) at groove.match.rete.ReteNetwork.addConditionToNetwork(ReteNetwork.java:373) at groove.match.rete.ReteNetwork.build(ReteNetwork.java:138) at groove.match.rete.ReteNetwork.<init>(ReteNetwork.java:125) at groove.match.rete.ReteSearchEngine.<init>(ReteSearchEngine.java:46) at groove.explore.strategy.ReteStrategy.prepare(ReteStrategy.java:78) at groove.explore.Exploration.play(Exploration.java:208) at groove.gui.action.ExploreAction$ExploreThread.run(ExploreAction.java:330)
Reported by: maartenm42