Check if renewalSet contract was marked !GFR
MERGE REQUEST
Overview
This MR adds another GFR
check in managedRenewContract
. The contractor lock is held while the renew set is created but not in the time renewals are being performed. It's possible in the time in between a contract was marked !GFR
even though it was in the renew set.
Example for Visual changes (ie Screenshot)
Issues Closed
Mar 06 04:11:25 F8CF88D siad[14105]: goroutine 79707911 [running]:
Mar 06 04:11:25 F8CF88D siad[14105]: runtime/debug.Stack(0x44aa27, 0x0, 0xc313346920)
Mar 06 04:11:25 F8CF88D siad[14105]: runtime/debug/stack.go:24 +0x9d
Mar 06 04:11:25 F8CF88D siad[14105]: runtime/debug.PrintStack()
Mar 06 04:11:25 F8CF88D siad[14105]: runtime/debug/stack.go:16 +0x22
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia/build.Critical(0xc313347470, 0x1, 0x1)
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia@/build/critical.go:16 +0xaa
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia/persist.(*Logger).Critical(0xc0168f5ac0, 0xc313347470, 0x1, 0x1)
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia@/persist/log.go:37 +0xcc
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia/modules/renter/contractor.(*Contractor).managedRenew(0xc0002af180, 0xc00f529400, 0x9fcfc29ec74d8500, 0xc04db2eb40, 0x2, 0x6, 0x42121, 0x0, 0x0, 0x0, ...)
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia@/modules/renter/contractor/contractmaintenance.go:529 +0x160a
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia/modules/renter/contractor.(*Contractor).managedRenewContract(0xc0002af180, 0xcec8e1a985c85e27, 0x9fcfc29ec74d85c0, 0x4be83a22a5221ef9, 0xb7baae1bd7087bd2, 0x0, 0xc04db2eb40, 0x2, 0x6, 0x3cf01, ...)
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia@/modules/renter/contractor/contractmaintenance.go:698 +0x5c9
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia/modules/renter/contractor.(*Contractor).threadedContractMaintenance(0xc0002af180)
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia@/modules/renter/contractor/contractmaintenance.go:1104 +0x51b5
Mar 06 04:11:25 F8CF88D siad[14105]: created by gitlab.com/NebulousLabs/Sia/modules/renter/contractor.(*Contractor).ProcessConsensusChange
Mar 06 04:11:25 F8CF88D siad[14105]: gitlab.com/NebulousLabs/Sia@/modules/renter/contractor/update.go:168 +0x59a
Mar 06 04:11:25 F8CF88D siad[14105]: Critical error: Renewing a contract that has been marked as !GoodForRenew true/false
Mar 06 04:11:25 F8CF88D siad[14105]: Please submit a bug report here: https://gitlab.com/NebulousLabs/Sia/issues
Mar 06 04:11:27 F8CF88D siad[14105]: goroutine 79707911 [running]:
Checklist
Review and complete the checklist to ensure that the MR is complete before assigned to an approver.
-
All new methods, or updating methods have clear docstrings -
Testing added or updated for new methods -
Any new packages are added to Makefile and .gitlab-ci.yml -
API documentation updated for API updates -
Module README.md updated for changes to work flow -
Issue added to Sia-UI repo for new supporting features -
Changelog updated
Edited by Marcin Jachymiak