4 ms·
This remembers me a bug I came across while developing a game for an <old game console here>. Implementing a network feature, I had to poke a service server. B
by jdright 6y ago
This remembers me a bug I came across while developing a game for an <old game console here>.
Implementing a network feature, I had to poke a service server. But the OS DNS resolver returned broken results and sometimes hanged or crashed the system.
After a lot of head scratching and exchanges with the first party support, we found the issue to be a misread of the cache line of the CPU, delivering broken data to the OS and causing havok.
The problem was that as the cache line was 32 bytes, if the url being resolved was exactly 32 bytes long, it would trigger this edge case (probably the OS missing the ending null character).
The first party support said there was nothing they would do to solve this and suggested creating an DNS alias, but the domain was a third party address specific per project which in our case with our project codename was 32 bytes, they also were unwilling to modify or create aliases.
My solution was to add a dot in the address and this fixed it, as now the address was 33 bytes and the CPU fetched two cache lines. The first party technical support was surprised by the fix and called it "sneaky ;)"
Fun times.