Found the root of the issue. Still weird that it was only affecting one data series, but I'm pretty confident that this is fully fixed now.
Finally got a good read on the problematic state triggering the bug I was working on yesterday and it was not quite what I expected. It is still a complete mystery to me how the problem was only manifesting on a single channel so I may want to dig into that a little more, but there's a fast and easy check that prevents the issue from spreading into the rest of the program so I'll take that as a win for now and keep exercising the new code to make sure there's nothing else I'm missing.
I'm almost certain I know what the problem really is now, but I'd like to see the full details of the failure before working out what the fix needs to be.
Lately I've been trying to track down a calculation problem in one of my programs. It's the obnoxious sort that sometimes happens a lot and sometimes runs for hours without issue. I've at least gotten as far as identifying what I think is the first place in the code the issue can be detected, but after putting in more extensive debug output to capture erroneous state without interfering with live use, the problem stopped again. I'll keep checking back with it over the next couple days.
Author of Typica software for coffee roasters.