Forward chainer is not stable against library changes.
linas opened this issue · 3 comments
The ForewardChainerUTest
sometimes passes, and sometimes fails, depending on how the AtomSpace has been built, and depending on the random number generator. Changing the initial random see at line 111 causes the unit test to pass/fail randomly. In particular, the test_negation_conflict
is the most sensitive to this.
ure/tests/ure/forwardchainer/ForwardChainerUTest.cxxtest
Lines 103 to 111 in a88b4df
Needless to say, this comes as an unhappy surprise. I lost two hours tracking this down.
@ngeiswei the situation is getting worse -- I am no longer able to find any random seed that allows this unit test to pass. I am disabling it, for now.
Wrapping a PresentLink
around the non-virtual clauses fixes the problem. However it probably exposes a bug in the pattern matcher, so I'm gonna try to hunt that first.
Yes, opencog/atomspace#2934 fixes this bug.
I will re-enable the test, with the hunt for the random seed. You might want to rip that out.