FYI There is indeed a memory leak on a circular reference.<br><br>import gc<br>import resource<br>import stackless<br>import weakref<br>gc.disable()<br>resource.setrlimit(resource.RLIMIT_AS, (200 << 20, 200 << 20))  # 200 MB<br>
while True:<br>  t = stackless.tasklet(stackless.schedule)()<br>  assert t.alive<br>  stackless.schedule()<br>  assert t.alive<br>  assert t is t.tempval  # Circular reference: t --> t.tempval --> t<br>  t.remove()<br>
<br>Solution to avoid using unnecessary memory: always call stackless.schedule(None) instead of stackless.schedule(); also for stackless.schedule_remove().<br>