Bugs due to conceptual error
syntactically incorrect program, wrong or inappropriate design or concept employed.
Division by zero, arithmetic overflow or underflow, lack of arithmetic precision due to rounding etc.
infinite loops and infinite recursion.
Buffer overflow, access violations, usage of an uninitialized variable.
concurrency errors, deadlock, race condition.
non-matching of documentation and product, out-of-date comments etc.