serai-dex / serai

Other
255 stars 47 forks source link

monero-serai may break atomicity for non-atomic RPC calls #529

Closed kayabaNerve closed 2 months ago

kayabaNerve commented 7 months ago

If "generateblocks" has an error, it'll be called again (as we have re-attempts due to infrequent IncompleteMessage errors), potentially generating more blocks than intended. This is possible with any RPC call which isn't "atomic", "atomic" here being defined as having differing effects despite identical calls.

kayabaNerve commented 7 months ago

I'm unsure if this is its own bug. My guess is it's classifiable as a side effect of the underlying IncompleteMessage bug and the re-attempts used to mitigate it.

kayabaNerve commented 7 months ago

This can also happen when talking to an unauthenticated RPC while believing it's authenticated.

kayabaNerve commented 2 months ago

Marking this won't fix. Very few calls aren't atomic and part of this is a transport bug outside of our control (as I've had another developer confirm the same behavior when working with monerod).