Leonardo Rochael Almeida wrote From my mile-high look at the issues, it seems like the cycle-gc asks for an object where to look for for it's references (at least thats what the tp_traverse function looks like it does). So, if your tp_traverse sends the gc somewhere it shouldn't go (or if tp_traverse itself is not some C function pointer), you get a crash.
When I look at it, I see the GC hitting an object with a null tp_type, and a refcount of 1. This is monster bogus - but normally (non-GC) it would just be ignored and sit there as a small memory leak.
import gc gc.disable() also stops the SIG11 without the need of a python recompile, but I'll only be sure when the server gets office-hours-traffic tomorrow morning.
I find that if I do this I get a vast vast number of RestrictedPython cycles leaking (according to the manage_debug screen) and memory consumption goes through the roof.