You are passing a seq[string] in `tp.spawn processor(buffer)`. I do not know if buffer is being copied into the call or passed by reference or whatever, but that seems potentially troublesome.
Furthermore, it looks like you are using status-im/nim-taskpools, which, in the readme states: #### Non-goals The following are non-goals: * Supporting GC-ed types with Nim default GC (sequences and strings). Using no GC or --gc:arc, --gc:orc or --gc:boehm (any GC that doesn't have thread-local heaps). I actually don't quite know what that is saying (does it want or not want thread-local heaps?), however I think it basically means don't pass any GC-ed type like seq or string to spawn. * * * With the above in mind, this may be just not a correct use of the lib. My guess is you could do `move buffer` and delete the `= newSeq...` line as something to try.