3 ms·
This weekend I managed to get a test into some sort of infinite loop that didn’t overflow or time out, so I had to single-step in to figure out where the last l
by hinkley 2mo ago
This weekend I managed to get a test into some sort of infinite loop that didn’t overflow or time out, so I had to single-step in to figure out where the last line it broke on. Something to do with events propagating. Oh and someone misunderstanding an unfamiliar mocking framework and not preserving someone else’s cleanup code. I won’t name and shame but his name stars with an h and ends with inkley. Mangled someone else’s abandoned PR thinking one cleanup function was a superset of another. It was not, dumdum.
Event systems have interesting ways to fail that resist throwing good engineering at them to fix. For a long time I refused to have anything to do with them, but now we have whole companies built on them and also things like React and what can you do? There are harmonic failure modes where the system doesn’t fail but an event keeps echoing forever and using up 50% of the available compute before anyone notices it’s been like that for months and slowly getting worse. And then there’s the Poison Pill where a message crashes a process, then gets picked up by the next and kills that one too until they’re all dead.