Luke Champine

Results 184 comments of Luke Champine

`bolt` fails the new `checkptr` check in Go 1.15. You can disable the check with `-gcflags=all=-d=checkptr=0`. The latest version of `bolt` probably works by now, so I'll see about updating...

It looks like there are two races here: - `renterhost.Session` isn't thread-safe. Specifically, it has an internal `err` field that may be either set or checked by various methods, so...

`ghost` was improperly sharing a session across goroutines, which is a bug. `HostSet` adds locking around sessions, which prevents them from being used concurrently. I've resolved the issue for now...

> I'm thus wondering if hosts remove sectors when the contract doesn't have enough funds before the period ends. In other words, if a contract has 3 month period but...

Hmm. This sounds like a host-side bug. I wonder if it's related to any recent changes in the host code. Are there any failing hosts that aren't on v1.5.5? It...

Hmm. I wonder if the problem is actually that the wrong sectors are being requested from hosts? You could check this (very inefficiently) by calling `SectorRoots` on all your hosts....

> Actually, sector roots are stored in the meta DB. I can dump them after uploads and before downloads I recommend dumping them as close to the actual `Upload`/`Download` call...

Follow up: I wasn't 100% sure that NebulousLabs/Sia was responsible for the large binaries, so I fact-checked myself using the [goweight](https://github.com/jondot/goweight) tool. This tool indicates that indeed, a sizeable percentage...

In fairness, anything that triggers a build.Critical is a developer error that I should fix immediately. But yeah, I would use a normal panic for that.

On second thought, I'm not sure any special tooling is needed here; the old contract is not deleted from the `muse` server, so if you try to use a renewed...