Infinite Loop (Sonsuz Döngü), bir fonksiyonun çıkış yapmadan kendini sürekli tekrarlamak zorunda kaldığı kod parçasıdır. Loop, programlama dillerinde herhangi bir sonuca bağlanana kadar çalıştırılan bir sorgudur. Kod içindeki her sorgunun belli bir noktada sona ermesi gerekir. Örneğin sorgu bir veriyi değiştirdiğinde ya da veriyi kontrol ettiğinde sona erebilir. Eğer loop için bir bitiş sorgusu oluşturulmazsa sorgu kendi kendine aynı işlemi tekrar eder. Loop için herhangi bir bitiş noktası belirtilmediğinden dolayı bu işlem uzunca bir süre ardı ardına gerçekleşmeye devam eder. Bu yüzden bu hatalı Loop’lara Sonsuz Döngü veya Infinite Loop adı verilir.
Infinite Loop’lar birer programlama hatası sayılırlar. Örneğin oluşturulan bir kod için döngü belirlediniz fakat döngünün hangi şartta sona ereceğini belirtmediniz. Koddaki döngü nerede sonlanacağını bilmediği için sürekli olarak çalışmaya devam edecek ve sistem kaynaklarını ciddi oranda kullanıp performans kaybına neden olacaktır. Kodun sonlanacağı nokta belirsizliğini koruduğu müddetçe Infinite Loop’lar uzun bir süre çalışmaya devam edebilirler.
Yaygın olarak bilinenin aksine sonsuz döngüler sistem kaynaklarını tüketerek sonsuza kadar çalışmaya devam edemezler. Her sonsuz döngü belli bir noktaya kadar çalışacak ve ardından sistemin hata vermesine neden olacaktır. Sonsuz döngüler kodların beklendiği şekilde çalışmasının önüne geçtiği için ciddi bir problemdir ve hizmetin aksamasına neden olabilir. Infinite Loop hatalarına karşı yazılımcılar yazdıkları döngülerin bitiş noktasından emin olmalılar. Yazdığınız kodda bir Infinite Loop yanlışlıkla meydana geldiyse, yazılımı durdurduktan sonra hatayı düzeltmeye çalışmanız daha verimli sonuçlar elde etmenize yardımcı olabilir.