IIS 7'De HTTP Error 503. Hatası

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    Aylardır cayır cayır çalışan windows server 2008 sunucu bugün uçtu. Sayfaya erişmeye çalıştığımızdan "Service Unavailable ----- HTTP Error 503. The service is unavailable." hatası veriyordu. Uzaktan erişim şansı olmadığı için sunucuyu panelden restart ettim ancak düzelmedi. Daha sonra sunucuya bağlanma şansı yakaladığımda sunucunun saatinin 1-2 saat farklı olduğunu fark ettim. Onu direk Windows Update'den güncelledim. Stop olan Application pool'u enable ettim ancak ardından tekrar disable olmaya başladı. Server Manager'da IIS ile ilgili aşağıdaki hatalar loglanmış:

    Error-----

    Application pool 'Classic .NET AppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

    Warning-----

    A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '424'. The data field contains the error number.

    Warnings-----

    A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '3564'. The data field contains the error number.

    Warnings-----

    A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '1552'. The data field contains the error number.

     

    Daha sonra event viewer'dada aşağıdaki hayatları yakaladım:

    Information---

    Fault bucket , type 0

    Event Name: APPCRASH

    Response: Not available

    Cab Id: 0

     

    Problem signature:

    P1: w3wp.exe

    P2: 7.5.7601.17514

    P3: 4ce7afa2

    P4: clr.dll

    P5: 4.0.30319.1022

    P6: 52ccf00f

    P7: c00000fd

    P8: 0000000000002184

    P9: 

    P10: 

     

    Attached files:

     

    These files may be available here:

    C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_3950b72f36827f17f10bb911c46eedd424a6d60_0e6212c5

     

    Analysis symbol: 

    Rechecking for solution: 0

    Report Id: 387cbe82-997a-11e3-9230-e5c74c4d8294

    Report Status: 0

     

    Information------

    Fault bucket , type 0

    Event Name: APPCRASH

    Response: Not available

    Cab Id: 0

     

    Problem signature:

    P1: w3wp.exe

    P2: 7.5.7601.17514

    P3: 4ce7afa2

    P4: clr.dll

    P5: 4.0.30319.1022

    P6: 52ccf00f

    P7: c00000fd

    P8: 0000000000002184

    P9: 

    P10: 

     

    Attached files:

     

    These files may be available here:

    C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_3950b72f36827f17f10bb911c46eedd424a6d60_0e6212c5

     

    Analysis symbol: 

    Rechecking for solution: 0

    Report Id: 387cbe82-997a-11e3-9230-e5c74c4d8294

    Report Status: 4

     

    Error-----

    Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2

    Faulting module name: clr.dll, version: 4.0.30319.1022, time stamp: 0x52ccf00f

    Exception code: 0xc00000fd

    Fault offset: 0x0000000000002184

    Faulting process id: 0x1a8

    Faulting application start time: 0x01cf2d86ea305136

    Faulting application path: c:\windows\system32\inetsrv\w3wp.exe

    Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll

    Report Id: 387cbe82-997a-11e3-9230-e5c74c4d8294

     

     

     

    Sizce bunların sebebi nedir hacılar?

     


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SPY-CX5
    SPY-CX5's avatar
    Savaş Madalyası Üstün Hizmet Madalyası Savaş Madalyası
    Kayıt Tarihi: 03/Mart/2007
    Erkek

    Hocam remote desktop olmadan  sorun çözülmez gibime geliyor.

    Sunucuda aşırı bir yoğunluk veya saldırı olabilir. Serveri reboot ettin mi yoksa iis yimi reboot ettin?

    Edit: ayrıca sunucuda kaç site var, siteleri farklı farklı application poollara bölüp dener misin? Birde CPU Ram ve ethernet kullanımı ne durumda?

    SPY-CX5 tarafından 19/Şub/14 20:44 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    output cache mekanizması kullanıyorsun muhtemelen ?

    asp.net altındaki framework klasöründe temporary file ların hepsini temizle daha sonra appoolu restart et ve sistemi tekrar çalıştır.

     

    eğer uzak masaüstü bağlantın yoksa. output cache mekanizmasını komple devre dışı bırak ve serveri yne uzaktan restart et.

    %90 düzelir.

     ilk izlenimim bu şekilde. paylaşabileceğin başka done varsa paylaş bakalım.

    ------------------

     

    FATAL EDIT:

    yukarıdakileri unut site ile alakalı değil. son updateleri kaldır bir kaç kişide daha benzer şeyler olmuş. mümkünse uzak masasütüne bağlan ve auto updateleri disable et.

    sonra restart et serveri.

    manglerman tarafından 19/Şub/14 20:48 tarihinde düzenlenmiştir

    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    IIS ve netframeworkleri kaldırdım bir süre düzeldi ancak tekrar aynısı oldu.

     

    Sunucuya şuanda erişimim var. 

     

    Windows updateleri kaldırmaya çalışacam şimdi.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    Updatelerin bir kısmını kaldırdım restart ettim RDP uçtu, "configuring remote session" derken kendi kendine kapatıyor RDP bağlantısını.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SPY-CX5
    SPY-CX5's avatar
    Savaş Madalyası Üstün Hizmet Madalyası Savaş Madalyası
    Kayıt Tarihi: 03/Mart/2007
    Erkek

    Server update yapınca belli bir süre RDP bağlantısını kesiyor.

    Muhtemelen silinen updatelerin işlemlerini yapıyordur. Servera saldırı var mı baktın mı?

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    amq kaç saattir uğraşıyorum. Neredeyse 18 saattir sistem kesik anca düzeltebildim.

    Sebep?

    Infinite recursively function :)

    Sistemde parent-subproject mantığı var. Bir fonksyionda bu projeleri parent-sub diye listeliyor. Akıllı kullanıcının biri projenin birini kendine parent proje diye ekleyince işler karışmış. Infinite loop meydana geldiğinde deadlock oluşuyor ve deadlock sistemi tamamen kitlemesin diye ilgili application pool'u disable ediyor.

    Tabi application pool disable olunca herhangi bir exception filan gözükmüyor. Bunun üzerine http://stackoverflow.com/questions/18335678/how-to-debug-w3wp-clr-dll-error/ linkindeki işlemi yapmaya çalıştım ama bi boka yaramadı. Bende sistemin veritabanının kendi makinama indirip Visual Studio'da debug ile açınca siteyi sorun ortaya kabak gibi patladı.

    Şimdilik sorunu düzelttim ancak recursive funtion'da infinite loop'dan kaçınmak için biraz araştırma yapmam gerekecek. Çünkü sadece A->A bir infinite loop değil, A->B->C->D->B gibi sikim sokim şeylerle infinite loop dönüşebiliyor. Bunu hem baştan engellemek hemde böyle bir loop oluştuğunda kaçınmak için çareler lazım şimdi.

     

    Bu arada bu mevzulara bakarken event logları karıştırınca gördüm makinaya baya bruteforce saldırısı gelmiş. İşin garibi windows sunucuda SSHD'nin ne işi var? SSHD nedir tam olarak anlayamadım.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    hocam recursive functionlarlarda maximum deep belirle.

     

    eğer kendi yazdığın bir recursive function ise ek parametre olarak sürekli deep tutan bir değişken gönder. her bir derinliğe indiğinde o sayıyı bir arttırarak gönder.

    functionun başında da maximum deep sayısını sabit bir yerden çek (functionun içine de yazabilirsin const olarak)

    mantıklı bir sayı olsun. mesela ürün kategorisi tutuyorsan en fazla 100 deep olabilir gibi bir mantık belirle.

     

    eğer eklediğin deep parametresi 100 den fazlaysa orda kes at. sonsuz döngüye girmesini engelle.


    çok araştırma yapmadn direk bu şekilde engelleyebilirsin.

     


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    manglerman bunu yazdı

    hocam recursive functionlarlarda maximum deep belirle.

     

    eğer kendi yazdığın bir recursive function ise ek parametre olarak sürekli deep tutan bir değişken gönder. her bir derinliğe indiğinde o sayıyı bir arttırarak gönder.

    functionun başında da maximum deep sayısını sabit bir yerden çek (functionun içine de yazabilirsin const olarak)

    mantıklı bir sayı olsun. mesela ürün kategorisi tutuyorsan en fazla 100 deep olabilir gibi bir mantık belirle.

     

    eğer eklediğin deep parametresi 100 den fazlaysa orda kes at. sonsuz döngüye girmesini engelle.


    çok araştırma yapmadn direk bu şekilde engelleyebilirsin.

     

    ilk o aklıma geldi, hatta depth hali hazırda zaten var fonksiyonda. ama şöyle daha sofistike bir çözüm varmıdır diye düşünüyordum :)


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek

    fonksiyon mssql de olsaydı max_recursion değeriyle oynayıp işini görürdün ama kod kısmında bunu kısıtlayan birşey yok muhtemeln

     

    (varsada ben bilmiyorum :) )


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
Toplam Hit: 2142 Toplam Mesaj: 10