Bug #1384: Deadlock with pending older transactions #1455
Bug #1384: Deadlock with pending older transactions #1455dasanra merged 10 commits intodevelopmentfrom
Conversation
|
CLA Assistant Lite All Contributors have signed the CLA. |
ESLint Summary View Full Report
Report generated by eslint-plus-action |
|
Travis automatic deployment: |
|
Travis automatic deployment: |
|
Since this issue seems to be caused by creating tx outside of the safe app I asked Dani to help me out. He created a ton of tx quickly and showed me the comparison between this PR and the dev env. The only thing that looks odd is having some tx being executed when others still were not executed yet prior to that one, this is because you have the tx ordered by date and not by nonce: We should let the user know with the "Other tx needs to be executed first" message that that "first" means the one with lower nonce and not the one with an older date of arrival |
|
I can confirm the ordering issue, however the current ordering logic is some magic I couldn’t understand, thus can’t fix it. This is definitely something we need to address |
|
I detected another bug related to this. If you have two transactions with the same nonce and one of them gets a reject signature, both will show that have a reject signature. This is caused because cancel transactions are fetched by nonce. A further refactor is needed in order to relate signature by txHash. Will create a new ticket as the bug this ticket solves is bigger than the new detected. |
|
Travis automatic deployment: |
how? |
|
Also, I'm questioning whether it's a bug at all |
|
Because even if you relate it to a safeTxHash somehow, the nonce is still the same, so canceling one transaction would still cancel the other one |
|
@mikheevm at least is a bug from the UX point of view. If I'm rejecting one transaction I don't expect to be rejecting two or more other transactions. Maybe I want to signal, hey this is the wrong transaction but both, the correct one and the one I want to reject get the reject signature. I also found what you added later, that rejecting one transaction actually cancels all transactions with the same nonce. From an user point of view this can seem confusing and worth a check. |
|
Will squash and merge this now, as some reported issues are related to this (in xDai branch) DO NOT DELETE THE BRANCH UNTIL FIX IS IN PRODUCTIONSynthetix is using this branch whenever they are locked by this bug. Will get in contact with them once this is released and branch deleted |
This PR: