Off-by-one errors
An off by one error could mean the difference between zero and one. Or zero and 4294967295. Or a and b. True or False.
They are often subtle to human perception but can have drastic implications for code execution.
They appear often when dealing with ranges and indexing. Does the programming language index from 0 or 1? Did you mix up > with >=? Ceil and floor?
They result in the wrong object being retrieved (id index). An element not processed (iterator index). A buffer overrun (incorrect len or end).
They can also result in performance issues like “taking the slow path”. Something just-too-large to fit into a cache. Something just-to-large triggers an array resize and all the accompanying allocations and copies. Textures that are 256x256 can go straight into video memory without rescaling, but 257x256 have to be scaled up first and then occupy a lot more memory. The dependency version that is one-off and brings in the entirely wrong and incompatible version.
One-off errors are tricky and pervasive. We need all the tools from language design, checks, and tests to keep them away.