Closed mmarx closed 3 years ago
The actual problem is that there is a frontier variable (F) in the second atom in the head. The bug is triggered by my pull request, where I tried to fix another issue, but I am wrongly assuming the rule is single head, so when I try to access the variable at position 5 (globally in the head), which is F, I do that on the first head atom, which does not have such a position. The fix should be easy: simply pick the variable from the right atom.
Thanks for looking into this, I can confirm that with #87 in place, I can no longer trigger the bug.
Thanks Marco!
On 09b32fa6ed316a74515872aa8706e041d7859dd2 and later, the rulewerk unit tests VLogReasonerWriteInferencesTest sometimes cause a segmentation fault in ChaseMgmt::getNewOrExistingIDs.
Usually, running the tests a few times in a loop is sufficient to trigger the bug:
Sometimes, the bug also triggers in the Github CI action. I have not been able to trigger the bug on c1f2d88f56959d4fcd8945c3bb3561c52278d1d6.
The ruleset used by the test looks like this:
I suspect that the repeated existential in the different head atoms might be the problem.