chaincodelabs / libmultiprocess

C++ library and code generator making it easy to call functions and reference objects in different processes
MIT License
29 stars 20 forks source link

Fix empty exception values from bad ThrowFn declaration #33

Closed ryanofsky closed 4 years ago

ryanofsky commented 4 years ago

Also extend libmultiprocess unit test with coverage for this case.

Bad non-const ThrowFn declaration was causing ReadDestEmplace to try read exception values after throwing them instead of before (in update_fn(construct()) expression when construct() callback throws).

This was causing bitcoin functional tests to fail because JSONRPCError exceptions caught were just null UniValue objects instead of objects with code and message fields set.