無限ループ
連結リストのようなデータ構造がループを持っているのに、それに対してリストに添う繰返しを行ってしまう、というようなパターンもある。データ構造のループの検出はちょっとした練習問題として知られている。簡単な例として、12、99、37の3つの整数値を格納した循環リストの中身をひとつづつリストに沿って出力する処理をすると「12、99、37、12、99、37、12、99、37、...」と無限に出力することになる。
理論的には、すなわち、計算理論と呼ばれている分野の観点からすれば、なにかについてそれが「計算可能である」とするには、無限ループになりえないことが必要である。しかし、現実のプログラムが対象とするものは必ずしも、理論がいう「計算可能」なものとは限らないし、時にはバグなどによって、決して終了することのない無限ループが発生する。また現実にはしばしば「終了することのないコンピュータ・プログラム」は必要なものですらある。例えば表計算ソフトウェアやワープロソフトウェアは利用者からの明示的な指示がない限りは起動した状態でいなければならない。またインターネットやデータベースなどのサーバプログラムの多くは「リクエストを待ってサービスする」ことをいつまでも繰り返すし、オペーレーティングシステムのようなより低い階層のシステムではそういうものが多い。しかしほとんどの場合、そういったシステムは何らかの方法で止める手段があり、それらとは異なり「無限ループ」という言葉は意図した結果ではないため割込みや強制シャットダウンといった手段でしか止められないような状況を指して使われることが多い(すなわち、原因にバグがあるといったような場合である)。
さらに、慣用的な用法としては「ループ抜け出す条件が入り組んでいて、ループの先頭部分でも終端部分でもない手続きの中間部分でループから抜け出す必要があり、そのためループ自体は無限ループの形で書いておき、ループの途中で必要に応じてから途中脱出機能を使って脱出するというような場合を「無限ループの形」と称することもある。