First, yes, that's one of the problems with `spawn`: I don't know what thread I'm on. That limits the value of _threadpool_.
But my crashes are gone when I stop using thread-local `nre.Regex`. Now I create it locally always. A bit expensive, but safe. I've also dropped my other thread-local var. So thread-local is not the main problem for me. My problems are runtime on Linux, and memory in general. Maybe memory allocation harms runtime, so I'd like to solve memory first. The problem is, when I print all, occupied, and free memory, I see all and free grow almost continuously. I've tried capping available memory (including virtual memory) with `ulimit`. Nothing I've tried has helped. This happens even single-threaded. It's not a "leak", since "occupied memory" is stable. I have no runtime errors in debug-mode, and I've gotten rid of calloc everywhere in my code. So far, I've been unable to produce a small test-case which reproduces the problem. I'll keep trying to repro with a small example this weekend. But here is my main question: When freelists are re-used in the default memory manager? I could use a way to dump freelist sizes. Would that be a fair request on GitHub?
