of rounding errors during the iteration, the specified tolerance can never be reached, resulting in an infinite loop. Multi-party loops An infinite loop may be caused by several entities interacting. Consider a server that always replies with an error message if it does not understand the request. Even if there is no possibility for an infinite loop within the server itself, a system comprising two of them (A and B) may loop endlessly: if A receives a message of unknown type from B, then A replies with an error message to B; if B does not understand the error message, it replies to A with its own error message; if A does not understand the error message from B, it sends yet another error message, and so on. One common example of such situation is an email loop. An example of an email loop is if someone receives mail from a no reply inbox, but their auto-response is on. They will reply to the no reply inbox, triggering the "this is a no reply inbox" response. This will be sent to the user, who then sends an auto reply to the no-reply inbox, and so on and so forth. Pseudo-infinite loops A pseudo-infinite loop is a loop that appears infinite but is really just a very long loop. Very large numbers An example in bash: for x in $(seq 1000000000); do #loop code done Impossible termination condition An example for loop in C: unsigned int i; for (i = 1; i != 0; i++) { /* loop code */ } It appears that this will go on indefinitely, but in fact the value of i will eventually reach the maximum value storable in an unsigned int and adding 1 to that number will wrap-around to 0, breaking the loop. The actual limit of i depends on the details of the system and compiler used. With arbitrary-precision arithmetic, this loop would continue until the computer's memory could no longer hold i. If i was a signed integer, rather than an unsigned integer, overflow would be undefined. In this case, the compiler could optimize the code into an infinite loop. Infinite recursion Infinite recursion is a special case of an infinite loop that is caused by recursion. The following example in VBA returns a stack overflow error: Sub Test1() Call Test1 End Sub Break statement A "while (true)" loop looks infinite at