This is strange-looking code, because `evaluator` is getting `expr` passed twice. You have `evaluator(expr, self, frame, expr)` (see Uniform Function Call Syntax) Include a minimal but complete working example for better help.
- How to debug: SIGBUS: Illegal storage access. (Attempt to read... gcao
- How to debug: SIGBUS: Illegal storage access. (Attempt to... ggibson