omni / poa-bridge

POA <-> Ethereum bridge for self transfers of POA native token to POA20 (ERC20 representation). Not supported. Use TokenBridge instead
https://github.com/poanetwork/token-bridge
GNU General Public License v3.0
79 stars 38 forks source link

Root Cause Analysis of unprocessed tx #105

Closed rstormsf closed 6 years ago

rstormsf commented 6 years ago

https://etherscan.io/tx/0xca1e73891a0634867e14f42ac3c48c50f5b6ce95d51ff3f5c107844f4437f9b4

yrashk commented 6 years ago

In order to make sure I can do the best job here, can you please provide your specific expectations and how did they fail?

Also, a specific version of the bridge used will be helpful to have.

rstormsf commented 6 years ago

1 updated bridge node successfully processed it.

2 other old May 10th bridge rust node missed it.

yrashk commented 6 years ago

Ok, so you expected old bridge to work, but it didn't. You also expected the new bridge to work, and it did. Correct?

rstormsf commented 6 years ago

Looking more into it, looks like it is problem with new bridge rust node

yrashk commented 6 years ago

Please specify what seems to be the problem, as precisely as reasonably possible.

rstormsf commented 6 years ago

CollectedSignatures event was fired and the node that was responsible for it - send a tx to Home bridge which failed https://poaexplorer.com/tx/0x669b271f4526ea44fc3a62986604a9105c00d8a739554eef45c0a4f0ad1de7fb

yrashk commented 6 years ago

Problem was resolved. Relaying the analysis by @rstormsf: default gas limit for withdraw_relay was set to 100k in the configuration, updating it to 300k resolved the issue.

rstormsf commented 6 years ago

yes, also if the bridge was using estimateGas without relying on those hard coded values, we wouldn't have this issue as well