Streamwrite async calls create a seperate thread for data transfer and calmemcpy is called in this thread. calmemcpy is not thread safe if it is used with the same context in multiple threads.
How manny times do you call streamWrite with async option in your application? There was a bug in Brook+ 1.4.1 that caused this error with multiple async streamwrites. The fix was committed in sourceforge but, the Brook+ library was not updated.You can try to compile the latest code.
Another workaround for this is that you can call stream.finish() method to make sure prevoius streamwrite is finished before invoking another streamwrite.
Originally posted by: gaurav.garg
Looks like an interoperability issue that is reprducible if we run calmemcpy in a different thread.
Can you post a simple test case?