Hi!
I'm running into some weird threading issue with vibe.
My app basically listens for HTTP requests, and each request pushes a task into the worker-thread queues with runWorkerTask(), saves a file to disk using vibe's non-blocking FileStream.write(), and then waits for the task to finish with receiveOnly().
The worker task basically does some blocking IO through a foreign library, and then sends the results back to the request fiber with send();
This approach should be solid, right?
This all works fine as long as there is only one request at any given time. When I introduce concurrent requests, as little as 2, it immediately crashes, with no callstack or error message on Linux. On Windows I get a "Resuming task in foreign thread." assert.
I was wondering what is the best way to debug these? Workarounds? Ideas? :)
Cheers,
-M