rust/Go Pointer Sharing Issue
Closed this issue · 0 comments
loloicci commented
https://github.com/line/wasmvm/actions/runs/4300130935/jobs/7496102345?pr=89#step:7:105
GetContractEnv Api has a race error in the way to share the pointer of cache
between rust and go.
How to solve
Change how to call callable points in the dynamic link.
Now: rust gets a cache pointer from Go and rust uses it to make a callee instance.
Suggestion: rust requests Go to make callee instance and call a callable point.
- Implement
CallCallablePoint
to wasmvm (Finschia/wasmvm#97) - Implement Go/rust relay API for
CallCallablePoint
- cosmwasm (#283)
- wasmvm (Finschia/wasmvm#103)
- wasmd (Finschia/wasmd#26)
- Implement GoAPI to call
CallCallablePoint
from rust (#283) - Implement
ValidateDynamicLinkInterface
to wasmvm (Finschia/wasmvm#99) - Implement Go/rust relay API for
ValidateDynamicLinkInterface
(Finschia/wasmvm#99) - Implement GoAPI to call
ValidateDynamicLinkInterface
from rust (#283) - remove traditional dynamic call
- cosmwasm (#286)
- wasmvm (Finschia/wasmvm#106)
- wasmd (Finschia/wasmd#29)