There's a bug. It looks like a bad bug, in the sense of being hard to find.
The symptom occurs twenty-five minutes into the run. It looks like... ugh... some kind of memory trashing, or a cache issue, or a volatile/nonvolatile issue. The actual problem could have occurred within seconds of starting; I can't tell yet. I cannot use a debugger. I cannot add print statements. I have four pins I can toggle and for all I know, adding pin-toggle instructions will change the symptoms. (My code and my data are adjacent in memory, y'see. Any change to the code rearranges how things are laid out. Heck, one may even be overwriting the other... stack over data, or bad data accesses over code.)
Some days I think my job is mindnumbingly easy. Other days I remember it's not always like that. Days like today I am thankful that I've been doing this more than a decade. Experience gives me at least a hunch of what KIND of bug this is, and talking to a smart person last night gave me some ideas of what to try.
It's stressful, though. If I don't find and fix this before I fly overseas, somebody else is going to have to do it, because there will be immense pressure not to wait. The rest of the team is less familiar with this chunk of code. I feel like it's my mess and I should clean it up.
HAH. Found a smaller test case... bye for now!
The symptom occurs twenty-five minutes into the run. It looks like... ugh... some kind of memory trashing, or a cache issue, or a volatile/nonvolatile issue. The actual problem could have occurred within seconds of starting; I can't tell yet. I cannot use a debugger. I cannot add print statements. I have four pins I can toggle and for all I know, adding pin-toggle instructions will change the symptoms. (My code and my data are adjacent in memory, y'see. Any change to the code rearranges how things are laid out. Heck, one may even be overwriting the other... stack over data, or bad data accesses over code.)
Some days I think my job is mindnumbingly easy. Other days I remember it's not always like that. Days like today I am thankful that I've been doing this more than a decade. Experience gives me at least a hunch of what KIND of bug this is, and talking to a smart person last night gave me some ideas of what to try.
It's stressful, though. If I don't find and fix this before I fly overseas, somebody else is going to have to do it, because there will be immense pressure not to wait. The rest of the team is less familiar with this chunk of code. I feel like it's my mess and I should clean it up.
HAH. Found a smaller test case... bye for now!