Toon posts:

ASP crashed elke dag, diverse keren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Situatie:
- Windows 2000 Server SP4 + alle huidige updates + IIS 5.0
- Small Business Server 2000 + alle huidige updates + Navision 3.7 (native database)

Probleem:
ASP (niet .NET) crashed elke dag een aantal keren. Alle HTML pagina's worden geladen, maar alles wat eindigd op .asp, wordt niet geladen. Door IIS te herstarten, werkt alles weer.
De ASP code maakt verbinding met de navision database via de ingestelde system DSN. Dit lijkt allemaal goed te werken.
Na verloop van tijd, zodra te asp pagina's niet meer worden geladen, staat dllhost.exe ontzettend veel processor kracht te gebruiken en loopt het geheugen gebruik behoorlijk op.

Wat heb ik gedaan:
- Log files bestudeerd op errors. (Dat zijn er veel, zie onde kopje log files)
- Crash/Hang agent geinstalleerd als debugger en IIS restarter. (omdat de www services niet crashen, herstart de agent iis ook niet!)
- DSN gecontroleerd.
- IIS instellingen na gelopen (ISAPI filters gecontroleerd; allemaal van microsoft)
- Gezocht op een vast patroon, maar die is er niet.
- Gezocht op virussen. (niks gevonden)

Dit VBscript geeft error na meerdere keren tegelijk laden!!:


Dim aConnectStr
Dim adoConn
Dim RecSet
Dim strSQL


aConnectStr = "DSN=Navision"

Set adoConn = CreateObject("ADODB.Connection")
Set RecSet = CreateObject("ADODB.Recordset")

adoConn.Open aConnectStr
msgbox "connectie open"
strSQL = "select ""Nr_"", ""Naam"", ""Gebruikersnaam"", ""Wachtwoord"", ""Klantkortingsgroep"", ""E-mail"" from ""Klant"""
msgbox strSQL
RecSet.Open strSQL, adoConn
msgbox "RecSet geopend"
RecSet.close
adoConn.close
msgbox "connectie dicht"



Na 3,4,5 keer laden van dit script krijg ik een error:
Afbeeldingslocatie: http://www.baljet.nl/images/winscripthosterror.bmp

Omdat dit simpele vbscript al na 3,4,5 keer vast loopt, kan MISSCHIEN ASP er ook op vast lopen omdat veel vbscript ook gebruikt wordt in de ASP files.

deel van LOG file Crash/Hang agent:

#Fields: date time src-ip src-port dst-ip dst-port cs-version cs-method cs-url sc-status s-site s-reason
2005-11-29 10:12:02 (IP adres weg gehaald) 4084 192.168.0.12 80 HTTP/1.1 GET /navigatie.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:12:02 (IP adres weg gehaald) 4084 192.168.0.12 80 HTTP/1.1 GET /navigatie.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:11:17 (IP adres weg gehaald) 61117 192.168.0.12 80 HTTP/1.1 GET /shop/login_test.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:11:17 (IP adres weg gehaald) 61117 192.168.0.12 80 HTTP/1.1 GET /shop/login_test.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:11:02 (IP adres weg gehaald) 4075 192.168.0.12 80 HTTP/1.1 GET /navigatie.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:11:02 (IP adres weg gehaald) 4075 192.168.0.12 80 HTTP/1.1 GET /navigatie.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:10:19 (IP adres weg gehaald) 4071 192.168.0.12 80 HTTP/1.1 POST /shop/login.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:10:19 (IP adres weg gehaald) 4071 192.168.0.12 80 HTTP/1.1 POST /shop/login.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:09:59 (IP adres weg gehaald) 61079 192.168.0.12 80 HTTP/1.1 GET /shop/login_test.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:09:59 (IP adres weg gehaald) 61079 192.168.0.12 80 HTTP/1.1 GET /shop/login_test.asp - 3 Connection_Abandoned_By_Inetinfo_Crash
2005-11-29 10:12:02 (IP adres weg gehaald) 4089 192.168.0.12 80 HTTP/1.1 GET /images/background.jpg 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4089 192.168.0.12 80 HTTP/1.1 GET /images/background.jpg 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 61163 192.168.0.12 80 HTTP/1.1 GET /otr/ 200 4 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 61163 192.168.0.12 80 HTTP/1.1 GET /otr/ 200 4 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4088 192.168.0.12 80 HTTP/1.1 GET /lib/css/content.css 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4088 192.168.0.12 80 HTTP/1.1 GET /lib/css/content.css 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4087 192.168.0.12 80 HTTP/1.1 GET /blank.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4087 192.168.0.12 80 HTTP/1.1 GET /blank.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4086 192.168.0.12 80 HTTP/1.1 GET /blank.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4086 192.168.0.12 80 HTTP/1.1 GET /blank.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4085 192.168.0.12 80 HTTP/1.1 GET /home.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4085 192.168.0.12 80 HTTP/1.1 GET /home.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4083 192.168.0.12 80 HTTP/1.1 GET /blank.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4083 192.168.0.12 80 HTTP/1.1 GET /blank.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4082 192.168.0.12 80 HTTP/1.1 GET /blank.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4082 192.168.0.12 80 HTTP/1.1 GET /blank.htm 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4081 192.168.0.12 80 HTTP/1.1 GET / 200 3 Request_Completed
2005-11-29 10:12:02 (IP adres weg gehaald) 4081 192.168.0.12 80 HTTP/1.1 GET / 200 3 Request_Completed


Error melding in IIS log(veel voorkomend):

005-11-29 11:00:17 (IP adres weg gehaald)- 192.168.0.12 80 GET /shop/get_image.asp ProductCode=62079|-|ASP_0113|Script_timed_out 500 0 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322)
2005-11-29 11:00:17 (IP adres weg gehaald)- 192.168.0.12 80 GET /shop/detail.asp ProductCode=62000|-|ASP_0147|500_Server_Error 500 0 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;+.NET+CLR+1.1.4322)


Vragen:
- Herkend iemand dit probleem?
- Weet iemand een oplossing?
- Weet iemand waarom het VBscript vastloopt?

Verwijderd

Topicstarter
Kan iemand mij hier mee helpen??!

Verwijderd

Voeg eens toe aan het eind:

Set RecSet = Nothing
Set adoConn = Nothing

Verwijderd

Topicstarter
Deze heb ik zojuist geinstalleerd, helaas crashed hij nog steeds. Waarschijnlijk verkeerd geconfigureerd. Kun je een tip geven hoe ik deze moet configureren.

  • party42
  • Registratie: Oktober 2000
  • Laatst online: 21-08 10:50
Verwijderd schreef op donderdag 01 december 2005 @ 08:40:
Voeg eens toe aan het eind:

Set RecSet = Nothing
Set adoConn = Nothing
TS: Ik zie hier ook wel wat in. Ik weet niet hoe "groot" de connecties zijn die je naar de databse maakt maar je sluit ze alleen maar af. Vervolgens blijft het object bestaan in het geheugen. In ieder geval een typisch voorbeeld van hoe je de dllhost kan laten vollopen.

Everyday's an endless stream, of cigarettes and magazines...


Verwijderd

Topicstarter
Update:

Na veel/lang onderzoek, lijkt het erop dat ALLEEN asp vastloop. Dit lijkt te gebeuren als alle licenties van navision in gebruik zijn! Oftewel, de ODBC kan geen verbinding maken met navision.
DLLHOST.exe gaat er dan vandoor met de processor.

Deze error handler moet nu voorkomen dat DLLhost.exe vastloopt en dat men een foutmelding krijgt op de website:

Sub ab_OpenADOConn (adoConn, aConnectStr)

Dim myCounter, maxCounter
Dim startTime

myCounter = 0
maxCounter = 50
startTime = Now()

On Error Resume Next
Do While adoConn.state <> 1 AND myCounter < maxCounter ' DateDiff("s", Now(), startTime) < 5
myCounter = myCounter + 1
'Response.Write("<!-- ADO-Connection no. " & myCounter & " (" & adoConn.state & ") -->")
adoConn.Open aConnectStr
Loop
On Error GoTo 0
If adoConn.state <> 1 Then
'Log de gegevens in een logbestand
Const ForAppending = 8
Const Create = true

Dim FSO
Dim TS
Dim MyFileName
Dim strLog

MyFileName = Server.MapPath("maxLicenseLog.txt")

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set TS = FSO.OpenTextFile(MyFileName, ForAppending, Create)

strLog = Chr(13) & NOW() & Chr(9)
strLog = strLog & Request.ServerVariables("URL") & Chr(9)
strLog = strLog & Request.ServerVariables("PATH_INFO") & Chr(9)
strLog = strLog & Request.ServerVariables("SERVER_NAME") & Chr(9)
strLog = strLog & Request.ServerVariables("SCRIPT_NAME") & Chr(9)
strLog = strLog & Request.ServerVariables("QUERY_STRING") & Chr(9)
strLog = strLog & Request.ServerVariables("REMOTE_ADDR") & Chr(9)
strLog = strLog & Request.ServerVariables("HTTP_REFERER") & Chr(9)
strLog = strLog & Request.ServerVariables("HTTP_USER_AGENT") & Chr(9)
strLog = strLog & Session("UserID") & Chr(9)
strLog = strLog & Session("UserName") & Chr(9)
strLog = strLog & " - connection failed after " & maxCounter & " times."

' Write current information to Log Text File.
TS.write strLog
TS.Writeline ""

' Now Create a session varialbe to check next time for ValidEntry
Session("LogIn") = "yes"

Set TS = Nothing
Set FSO = Nothing

%>
<script language="javascript">
alert('Bericht aan gebruiker\n\nEr is een onverwachte fout opgetreden waardoor geen verbinding kan worden gemaakt met de database.\nGa terug in uw browser en probeer het opnieuw.');
</script>
<%


Verwijderd

Topicstarter
party42 schreef op donderdag 01 december 2005 @ 12:17:
[...]


TS: Ik zie hier ook wel wat in. Ik weet niet hoe "groot" de connecties zijn die je naar de databse maakt maar je sluit ze alleen maar af. Vervolgens blijft het object bestaan in het geheugen. In ieder geval een typisch voorbeeld van hoe je de dllhost kan laten vollopen.
In alle asp pagina's die verbinding maken met de database staan die twee regels al. Ik ben ze alleen vergeten in het VBscript te zetten. Echter maakt dit niks uit. De melding komt nog steeds. Ik denk ook nog steeds dat dit komt omdat alle licenties in navision in gebruik zijn.
Dit baseer ik op het volgende:
Zodra alle licenties in gebruik zijn en ik open het vbscript, dan krijg ik DIRECT de ISAM error.

Als er 5 van de 10 licenties in gebruik zijn, dan kan ik 5 keer simultaan het vbscript laden, de 6e keer geeft weer de ISAM error.

Kan ik op basis van deze gegevens concluderen dat ook het hele ASP verhaal vastloopt door deze issue?

Verwijderd

Topicstarter
Iemand... HELP!
Pagina: 1