Fix GC race condition#21
Conversation
|
Each thread has its own Here's the corruption sequence:
The sendLock fix didn't help because the issue isn't concurrent access — it's stale cache entries surviving across messages. The GC fixup fix didn't help because the buffer pointers are correct; only the receiver's local cache is wrong. The fix was to clear all caches in the |
|
For those following along at home, this PR is in a complete and mergable state. I started having other issues related to This was not my preferred solution because I'm re-creating what could be persistent workers and I had to write my own semaphore logic to limit concurrent workers but dealing with |
May fix #20
(not 100% sure yet)Nope, the serialization of deeply nested objects into the SharedJSONBuffer is corrupting the data at write time, before it even reaches the receiver.