Skip to content
This repository has been archived by the owner on Mar 28, 2023. It is now read-only.

(ETH) Unable to resolve dispute due to absence of vendor contract #2006

Closed
drwasho opened this issue Feb 27, 2020 · 3 comments · Fixed by #2018
Closed

(ETH) Unable to resolve dispute due to absence of vendor contract #2006

drwasho opened this issue Feb 27, 2020 · 3 comments · Fixed by #2018
Assignees
Labels
bug ethereum Ethereum integration-related issues. 🔍 readyForReview Issue or PR ready for code review prior to closing.

Comments

@drwasho
Copy link
Member

drwasho commented Feb 27, 2020

This is expected behaviour, but we should really consider removing this as sometimes there are errors in either delivering the vendor contrac to the moderator or the data is received by the moderator but incorrectly processed, leading to an unrecoverable state.

This is what I managed to glean from the logs:

2020-02-27 21:47:56.383 [DEBUG] [core/SendProcessingError] sending ORDER_PROCESSING_ERROR to peer (QmRGCvxohRX7NtAHJ2vziW6DTitCDJxSsJ3QG7GsJeLgpi)
2020-02-27 21:47:56.383 [DEBUG] [service/SendMessage] Sending ORDER_PROCESSING_FAILURE message to QmRGCvxohRX7NtAHJ2vziW6DTitCDJxSsJ3QG7GsJeLgpi
2020-02-27 21:47:56.383 [DEBUG] [service/messageSenderForPeer] Found existing message sender for: QmRGCvxohRX7NtAHJ2vziW6DTitCDJxSsJ3QG7GsJeLgpi
2020-02-27 21:47:56.383 [DEBUG] [service/handleNewMessage] DISPUTE_UPDATE handle message error from QmRGCvxohRX7NtAHJ2vziW6DTitCDJxSsJ3QG7GsJeLgpi: message arrived out of order
2020-02-27 21:47:56.638 [DEBUG] [service/handleDisputeOpen] received DISPUTE_OPEN message from QmW1fE8BeHQGup7gaNLXx2gM1JP27fyxCaHZDoor5F5WGF

I believe the code handling this is in ../core/disputes.go:507-509

As for the root cause of this problem, I repeatedly see this in the logs when this problem occurs:

[ERROR] [service/handleDisputeOpen] failed calc orderID

@drwasho drwasho added bug ethereum Ethereum integration-related issues. labels Feb 27, 2020
@hoffmabc
Copy link
Member

What would be the downfall of letting this go through instead of killing it here @cpacia @jjeffryes ?

if dispute.VendorContract == nil && vendorPercentage > 0 {
	return errors.New("vendor must provide his copy of the contract before you can release funds to the vendor")
}

@drwasho
Copy link
Member Author

drwasho commented Feb 27, 2020

@hoffmabc I commented out this code and tried it, but I run into some other errors, so ultimately getting to the root cause would be the best solution to fix the bug... but I also think we should remove this code anyway since it's more likely than not to prevent a moderator from splitting funds.

@drwasho drwasho added this to 🐞Bugs in ethereum-master Feb 28, 2020
@hoffmabc hoffmabc moved this from 🐞Bugs to 🥃Ashwin in ethereum-master Mar 2, 2020
@drwasho drwasho linked a pull request Mar 4, 2020 that will close this issue
@drwasho drwasho moved this from 🥃Ashwin to 🚧In review (PRs) in ethereum-master Mar 4, 2020
@drwasho drwasho moved this from 🚧In review to In progress in ethereum-master Mar 4, 2020
@drwasho drwasho added the 🔍 readyForReview Issue or PR ready for code review prior to closing. label Mar 4, 2020
@drwasho drwasho moved this from In progress to 🚧In review in ethereum-master Mar 4, 2020
@drwasho drwasho moved this from 🚧In review to In progress in ethereum-master Mar 4, 2020
@cpacia
Copy link
Member

cpacia commented Mar 6, 2020

Done

@cpacia cpacia closed this as completed Mar 6, 2020
ethereum-master automation moved this from In progress issues to ✅Completed Mar 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug ethereum Ethereum integration-related issues. 🔍 readyForReview Issue or PR ready for code review prior to closing.
Projects
ethereum-master
  
✅Completed
Development

Successfully merging a pull request may close this issue.

4 participants