Crash report
See faster-cpython/ideas#669 (comment)
By lowering UOP_MAX_TRACE_LENGTH to 200 I managed to cause a failing assert in this line in translate_bytecode_to_trace() in optimizer.c:
if (trace[trace_length-1].opcode != _JUMP_TO_TOP) {
ADD_TO_TRACE(_EXIT_TRACE, 0, 0, target);
}
I suspect a missing RESERVE() or RESERVE_RAW() call somewhere.
While I didn't see this with higher max trace length, I suspect that the bug is universal, just harder to tickle (there aren't that many long traces).
Crash report
See faster-cpython/ideas#669 (comment)
By lowering
UOP_MAX_TRACE_LENGTHto 200 I managed to cause a failing assert in this line in translate_bytecode_to_trace() in optimizer.c:I suspect a missing
RESERVE()orRESERVE_RAW()call somewhere.While I didn't see this with higher max trace length, I suspect that the bug is universal, just harder to tickle (there aren't that many long traces).