hostd
hostd copied to clipboard
New Failed Contract on Old Renewed ContractID
Current Behavior
I saw a +1 in the failed category in hostd's dashboard filtered to 24hrs. The only error entry in the log for the last 24 hrs is
{"level":"warn","ts":"2025-09-23T00:42:10Z","logger":"contracts.lifecycle.v2Expiration","caller":"contracts/update.go:331","msg":"failed to broadcast v2 expiration","index":"542225::3e4b44b5","contractID":"fb87216d3c53e4ddad2c2096a02014de4bf7ccaff2f3e707cbed29c9afd09e9f","error":"failed to get transaction set parents: failed to update transaction set basis: transaction 9ab8f0175720e1c4968103162f10c78145c32cd5cd7ca20363093bc3b2386894 is invalid: file contract resolution parent has invalid Merkle proof"}
However the specified contract id seems to have already renewed, and it looks like the subsequent contract ended with a storage proof. ( https://siascan.com/contract/d56df453bddbc759e67867bb98074d03875fa71ba858466ac183acc2188f21f8 )
Expected Behavior
It's expected that completed/renewed contracts do not eventually add to the Failed contract tally
Steps to Reproduce
No response
Version
v2.4.1
Anything else?
No response
Can you verify that fb87216d3c53e4ddad2c2096a02014de4bf7ccaff2f3e707cbed29c9afd09e9f shows as failed in the UI or API?
In the UI, it shows as active https://ibb.co/twftt0mq
I'm still getting new log entries about it too {"level":"warn","ts":"2025-09-25T00:57:24Z","logger":"contracts.lifecycle.v2Expiration","caller":"contracts/update.go:331","msg":"failed to broadcast v2 expiration","index":"542502::fb7897c4","contractID":"fb87216d3c53e4ddad2c2096a02014de4bf7ccaff2f3e707cbed29c9afd09e9f","error":"failed to get transaction set parents: failed to update transaction set basis: transaction 7698e32fddb9701bd67cf4db3d0db635c445facab2b86a23b08162cc1cf37d6e is invalid: file contract resolution parent has invalid Merkle proof"} {"level":"warn","ts":"2025-09-25T01:00:00Z","logger":"contracts.lifecycle.v2Expiration","caller":"contracts/update.go:331","msg":"failed to broadcast v2 expiration","index":"542503::ed41757c","contractID":"fb87216d3c53e4ddad2c2096a02014de4bf7ccaff2f3e707cbed29c9afd09e9f","error":"failed to get transaction set parents: failed to update transaction set basis: transaction 7698e32fddb9701bd67cf4db3d0db635c445facab2b86a23b08162cc1cf37d6e is invalid: file contract resolution parent has invalid Merkle proof"}
That is unlikely to be the source of your failed contract, but definitely a bug.