Open Kristopher38 opened 9 hours ago
Even if the limit is raised via sys.setrecursionlimit(100000)
, a different exception is thrown:
Traceback (most recent call last):
File "/home/kris/fuzzing/run.py", line 15, in <module>
print(solver.mutate(dt))
^^^^^^^^^^^^^^^^^
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/solver.py", line 911, in mutate
maybe_fixed = self.repair(mutated, fix_timeout_seconds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/solver.py", line 806, in repair
if self.check(inp) or not is_successful(self.top_constant):
^^^^^^^^^^^^^^^
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/solver.py", line 735, in check
result = evaluate(self.formula, inp, self.grammar)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/evaluator.py", line 182, in evaluate
without_predicates: Formula = replace_formula(
^^^^^^^^^^^^^^^^
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/language.py", line 2283, in replace_formula
replace_formula(child, to_replace, replace_with)
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/language.py", line 2283, in replace_formula
replace_formula(child, to_replace, replace_with)
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/language.py", line 2283, in replace_formula
replace_formula(child, to_replace, replace_with)
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/language.py", line 2268, in replace_formula
result = to_replace(in_formula)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/evaluator.py", line 184, in <lambda>
lambda f: evaluate_predicates_action(f, reference_tree, graph),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/kris/fuzzing/venv/lib/python3.12/site-packages/isla/evaluator.py", line 249, in evaluate_predicates_action
assert all(
^^^^
AssertionError
Still, it shouldn't be required to raise the recursion depth limit.
Describe the bug Hi, I'm hitting a recursion limit when I try to generate a tar derivation tree and then mutate it.
To Reproduce Run this minimum reproducible example:
Expected behavior I should get a mutated derivation tree.
System/Installation Specs:
main
(commit1a04b7833d2960cffe037fb88826111769fefbeb
)3.12
5.15.167-1-MANJARO x86_64 GNU/Linux