none
Blocco webserver RRS feed

  • Domanda

  • Su di un server Windows 2008 server enterprise (SP2) abbiamo installato dei siti web sui quali gira un'applicazione scritta in visual studio 2010 (.net framework 4.0). Tutto funziona correttamente. Tuttavia periodicamente il webserver si blocca.

    Nel log degli eventi troviamo degli errori del tipo:

    Nome registro: Application
    Origine:       ASP.NET 4.0.30319.0
    Data:          05/09/2012 15:18:37
    ID evento:     1310
    Categoria attività:Evento Web
    Livello:       Avviso
    Parole chiave: Classico
    Utente:        N/D
    Computer:      WEBSERVERRADIO
    Descrizione:
    Codice evento: 3008 
    Messaggio evento: Errore di configurazione. 
    Ora evento: 05/09/2012 15.18.37 
    Ora evento (UTC): 05/09/2012 13.18.37 
    ID evento: 3e39b6fcc9ca463db5a199c6af48ad00 
    Sequenza evento: 1 
    Occorrenza evento: 1 
    Codice dettagli evento: 0 
     
    Informazioni applicazione: 
        Dominio applicazione: /LM/W3SVC/41/ROOT-38-129913246658119625 
        Livello di attendibilità: Full 
        Percorso virtuale applicazione: / 
        Percorso applicazione: C:\sites\ra-di-o_web\WEB\ 
        Nome computer: WEBSERVERRADIO 
     
    Informazioni processo: 
        ID processo: 2088 
        Nome processo: w3wp.exe 
        Nome account: NT AUTHORITY\SERVIZIO DI RETE 
     
    Informazioni eccezione: 
        Tipo di eccezione: ConfigurationErrorsException 
        Messaggio eccezione: Generata eccezione di tipo 'System.OutOfMemoryException'.
       in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
       in System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
       in System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
       in System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
       in System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies()
       in System.Web.Compilation.BuildManager.CallPreStartInitMethods()
       in System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
    
    Generata eccezione di tipo 'System.OutOfMemoryException'.
       in System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
       in System.Reflection.Assembly.Load(String assemblyString)
       in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
    
     
     
    Informazioni richiesta: 
        URL richiesta: http://www.saracena.ra-di-o.it/robots.txt 
        Percorso richiesta: /robots.txt 
        Indirizzo host utente: 37.140.141.16 
        Utente:  
        Autenticazione: False 
        Tipo di autenticazione:  
        Nome account thread: NT AUTHORITY\SERVIZIO DI RETE 
     
    Informazioni thread: 
        ID thread: 20 
        Nome account thread: NT AUTHORITY\SERVIZIO DI RETE 
        Rappresentazione: False 
        Traccia dello stack:    in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
       in System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
       in System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
       in System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
       in System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies()
       in System.Web.Compilation.BuildManager.CallPreStartInitMethods()
       in System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
     
     
    Dettagli evento personalizzato: 
    
    XML evento:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="ASP.NET 4.0.30319.0" />
        <EventID Qualifiers="32768">1310</EventID>
        <Level>3</Level>
        <Task>3</Task>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2012-09-05T13:18:37.000Z" />
        <EventRecordID>7651</EventRecordID>
        <Channel>Application</Channel>
        <Computer>WEBSERVERRADIO</Computer>
        <Security />
      </System>
      <EventData>
        <Data>3008</Data>
        <Data>Errore di configurazione.</Data>
        <Data>05/09/2012 15.18.37</Data>
        <Data>05/09/2012 13.18.37</Data>
        <Data>3e39b6fcc9ca463db5a199c6af48ad00</Data>
        <Data>1</Data>
        <Data>1</Data>
        <Data>0</Data>
        <Data>/LM/W3SVC/41/ROOT-38-129913246658119625</Data>
        <Data>Full</Data>
        <Data>/</Data>
        <Data>C:\sites\ra-di-o_web\WEB\</Data>
        <Data>WEBSERVERRADIO</Data>
        <Data>
        </Data>
        <Data>2088</Data>
        <Data>w3wp.exe</Data>
        <Data>NT AUTHORITY\SERVIZIO DI RETE</Data>
        <Data>ConfigurationErrorsException</Data>
        <Data>Generata eccezione di tipo 'System.OutOfMemoryException'.
       in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
       in System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
       in System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
       in System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
       in System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies()
       in System.Web.Compilation.BuildManager.CallPreStartInitMethods()
       in System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
    
    Generata eccezione di tipo 'System.OutOfMemoryException'.
       in System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&amp; stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&amp; stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark&amp; stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark&amp; stackMark, Boolean forIntrospection)
       in System.Reflection.Assembly.Load(String assemblyString)
       in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
    
    </Data>
        <Data>http://www.saracena.ra-di-o.it/robots.txt</Data>
        <Data>/robots.txt</Data>
        <Data>37.140.141.16</Data>
        <Data>
        </Data>
        <Data>False</Data>
        <Data>
        </Data>
        <Data>NT AUTHORITY\SERVIZIO DI RETE</Data>
        <Data>20</Data>
        <Data>NT AUTHORITY\SERVIZIO DI RETE</Data>
        <Data>False</Data>
        <Data>   in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
       in System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
       in System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
       in System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
       in System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies()
       in System.Web.Compilation.BuildManager.CallPreStartInitMethods()
       in System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
    </Data>
      </EventData>
    </Event>

    abbiamo riscontrato che talvolta il sistema dopo alcune ore si sblocca da solo, altre volte è necessario riavviare il servizio.

    Cosa possiamo fare per approfondire la questione e trovare una soluzione?

    Grazie.

    Saluti.

     

    Antonio

    mercoledì 5 settembre 2012 13:53

Tutte le risposte

  • quanta ram ha questo server ?

    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org

    mercoledì 5 settembre 2012 14:19
    Moderatore
  • E' una macchina virtuale con assegnati 4 GB di RAM.

    Antonio

    mercoledì 5 settembre 2012 14:36
  • provate a tenere monitorata la ram cn il task manager perchè l'errore sembrare indirizzare verso quella

    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org

    mercoledì 5 settembre 2012 14:46
    Moderatore
  • Scusa, non sono un esperto sistemista.

    Una volta aperto il taskmanager come debbo procedere?

    Ho aperto "Monitoraggio risorse" ed ho selezionato la sezione relativa alla memoria.

    Adesso cosa faccio?


    Antonio

    mercoledì 5 settembre 2012 14:53
  • aspetta.

    ho provato a verificare anche altre ipotesi.

    mi puoi scrivere in particolare cosa fa il codice dell'applicazione e se c'è un sql server che usa i reporting services ?


    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org

    mercoledì 5 settembre 2012 15:09
    Moderatore
  • In effetti è un'applicazione molto articolata con decine di pagine.

    Come database utilizziamo Postgresql. Non utilizziamo quindi i reporting services di sql server.

    Quello che ti posso dire è che  il blocco del webserver non avviene all'apertura di una specifica pagina.

     


    Antonio

    mercoledì 5 settembre 2012 15:20
  • torniamo alla prima ipotesi che avevo fatto.

    http://forums.iis.net/t/1167044.aspx

    dal task manager vai sulla scheda processi, clicca sull'intestazione della colonna ram per ordinare i processi in modo che in testa ci sia quello che utilizza la maggior quantità di ram e cominciate a stressare la webapp.


    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org

    mercoledì 5 settembre 2012 15:42
    Moderatore
  • OK.

    Domani mattina faccio un test di uso intensivo della webapp.

    Cosa debbo controllare, la quantità di RAM utilizzata?


    Antonio

    mercoledì 5 settembre 2012 15:58
  • Ciao,

    in questo momento il sistema è bloccato e ricevo il solito errore (vedi sotto).

    Ti allego la scheramata di task manager.

    Nome registro: Application
    Origine:       ASP.NET 4.0.30319.0
    Data:          06/09/2012 08:44:18
    ID evento:     1310
    Categoria attività:Evento Web
    Livello:       Avviso
    Parole chiave: Classico
    Utente:        N/D
    Computer:      WEBSERVERRADIO
    Descrizione:
    Codice evento: 3008 
    Messaggio evento: Errore di configurazione. 
    Ora evento: 06/09/2012 8.44.18 
    Ora evento (UTC): 06/09/2012 6.44.18 
    ID evento: e8beb7db274b404fb8244e88de92a6f8 
    Sequenza evento: 108 
    Occorrenza evento: 35 
    Codice dettagli evento: 0 
     
    Informazioni applicazione: 
        Dominio applicazione: /LM/W3SVC/28/ROOT-12-129913335074657870 
        Livello di attendibilità: Full 
        Percorso virtuale applicazione: / 
        Percorso applicazione: C:\sites\ra-di-o_web\WEB\ 
        Nome computer: WEBSERVERRADIO 
     
    Informazioni processo: 
        ID processo: 2832 
        Nome processo: w3wp.exe 
        Nome account: NT AUTHORITY\SERVIZIO DI RETE 
     
    Informazioni eccezione: 
        Tipo di eccezione: ConfigurationErrorsException 
        Messaggio eccezione: Generata eccezione di tipo 'System.OutOfMemoryException'.
       in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
       in System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
       in System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
       in System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
       in System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir)
       in System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors)
       in System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors)
       in System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
       in System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
       in System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
       in System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
       in System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
       in System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
       in System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)
       in System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       in System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    
    Generata eccezione di tipo 'System.OutOfMemoryException'.
       in System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
       in System.Reflection.Assembly.Load(String assemblyString)
       in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
    
     
     
    Informazioni richiesta: 
        URL richiesta: http://www.torreannunziata.ra-di-o.it/Account/Login.aspx 
        Percorso richiesta: /Account/Login.aspx 
        Indirizzo host utente: 217.20.0.177 
        Utente:  
        Autenticazione: False 
        Tipo di autenticazione:  
        Nome account thread: NT AUTHORITY\SERVIZIO DI RETE 
     
    Informazioni thread: 
        ID thread: 16 
        Nome account thread: NT AUTHORITY\SERVIZIO DI RETE 
        Rappresentazione: False 
        Traccia dello stack:    in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
       in System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
       in System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
       in System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
       in System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir)
       in System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors)
       in System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors)
       in System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
       in System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
       in System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
       in System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
       in System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
       in System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
       in System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)
       in System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       in System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
     
     
    Dettagli evento personalizzato: 
    
    XML evento:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="ASP.NET 4.0.30319.0" />
        <EventID Qualifiers="32768">1310</EventID>
        <Level>3</Level>
        <Task>3</Task>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2012-09-06T06:44:18.000Z" />
        <EventRecordID>7693</EventRecordID>
        <Channel>Application</Channel>
        <Computer>WEBSERVERRADIO</Computer>
        <Security />
      </System>
      <EventData>
        <Data>3008</Data>
        <Data>Errore di configurazione.</Data>
        <Data>06/09/2012 8.44.18</Data>
        <Data>06/09/2012 6.44.18</Data>
        <Data>e8beb7db274b404fb8244e88de92a6f8</Data>
        <Data>108</Data>
        <Data>35</Data>
        <Data>0</Data>
        <Data>/LM/W3SVC/28/ROOT-12-129913335074657870</Data>
        <Data>Full</Data>
        <Data>/</Data>
        <Data>C:\sites\ra-di-o_web\WEB\</Data>
        <Data>WEBSERVERRADIO</Data>
        <Data>
        </Data>
        <Data>2832</Data>
        <Data>w3wp.exe</Data>
        <Data>NT AUTHORITY\SERVIZIO DI RETE</Data>
        <Data>ConfigurationErrorsException</Data>
        <Data>Generata eccezione di tipo 'System.OutOfMemoryException'.
       in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
       in System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
       in System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
       in System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
       in System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir)
       in System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors)
       in System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors)
       in System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
       in System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
       in System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
       in System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
       in System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
       in System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
       in System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)
       in System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       in System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)
    
    Generata eccezione di tipo 'System.OutOfMemoryException'.
       in System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&amp; stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&amp; stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark&amp; stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
       in System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark&amp; stackMark, Boolean forIntrospection)
       in System.Reflection.Assembly.Load(String assemblyString)
       in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
    
    </Data>
        <Data>http://www.torreannunziata.ra-di-o.it/Account/Login.aspx</Data>
        <Data>/Account/Login.aspx</Data>
        <Data>217.20.0.177</Data>
        <Data>
        </Data>
        <Data>False</Data>
        <Data>
        </Data>
        <Data>NT AUTHORITY\SERVIZIO DI RETE</Data>
        <Data>16</Data>
        <Data>NT AUTHORITY\SERVIZIO DI RETE</Data>
        <Data>False</Data>
        <Data>   in System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
       in System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory()
       in System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai)
       in System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig)
       in System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir)
       in System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors)
       in System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors)
       in System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
       in System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
       in System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
       in System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
       in System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
       in System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
       in System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)
       in System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       in System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)
    </Data>
      </EventData>
    </Event>


    Antonio

    giovedì 6 settembre 2012 06:52
  • due domande:

    1) per poter attribuire il problema alla configurazione del server (IIS e quant'altro) sarebbe opportuno testare l'applicazione su un altro web server e vedere se si comporta allo stesso modo. hai questa possibilità ?

    2) il suggerimento che Gian Maria ti ha dato qui http://social.msdn.microsoft.com/Forums/it-IT/vstfsit/thread/cdbd2112-d28f-4f62-a5f5-a97decb44b63/ hai provato a seguirlo ?


    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org

    giovedì 6 settembre 2012 09:10
    Moderatore
  • Ciao,

    avrei la possibilità di spostare il tutto su di un altro webserver ma lo cosa non è immediata. Mi organizzo e ti tengo aggiornato.

    Per quanto riguarda il suggerimento di Gian Maria non sono riuscito a far partire Fuslogvw (non sono riuscito a trovarlo, sulla macchina non è installato visual studio e non so  se è installato windows SDK)  e quindi ho desistito. Adesso approfondisco la questione. Al riguardo potresti darmi indicazioni su come verificare se è installato o meno windows SDK e nel caso in cui non lo sia dove trovarlo per installarlo?

    Un ultimo aspetto che avevo dimenticato di segnalarti, sul server ci sono circa 50 siti i quali hanno un unico sorgente posto in una cartella a cui puntano tutti (spero di essere stato chiaro). Questo potrebbe in qualche modo contribuire a determinare l'anomalia?

    Grazie per la tua disponibilità.

    Saluti.


    Antonio

    giovedì 6 settembre 2012 09:41
  • Solo una domanda: è una macchina virtuale dotata di memoria dinamica oppure sono 4 GB fissi?
    giovedì 6 settembre 2012 12:00
    Moderatore
  • I 4 GB sono fissi.


    Antonio

    giovedì 6 settembre 2012 14:41
  • entrambe le prove (spostamento webapp e test dell'assembly) vanno fatte.

    non ho capito bene il concetto dei 50 siti con un unico sorgente, me lo spieghi meglio ?


    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org

    venerdì 7 settembre 2012 07:26
    Moderatore
  • Per lo spostamento mi sto organizzando.

    Per quanto riguarda Fuslogvw ho trovato in occasione di un blocco verificatosi pochi minuti fa i seguenti errori:

    *** Voce di registro binder di assembly  (07/09/2012 @ 9.05.45) ***
    
    Operazione non riuscita.
    Risultato associazione: hr = 0x8007000e. Memoria disponibile insufficiente per completare l'operazione.
    
    Gestore assembly caricato da:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
    In esecuzione con l'eseguibile  c:\windows\system32\inetsrv\w3wp.exe
    --- Segue registro dettagliato degli errori. 
    
    === Informazioni sullo stato di preassociazione ===
    REG: Utente = NT AUTHORITY\SERVIZIO DI RETE
    REG: DisplayName = Radio, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
     (Fully-specified)
    REG: Appbase = file:///C:/sites/ra-di-o_web/WEB/
    REG: PrivatePath iniziale = C:\sites\ra-di-o_web\WEB\bin
    REG: base dinamica = C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\187fab75
    REG: base della cache = C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\187fab75
    REG: AppName = ff7815e3
    Assembly chiamante: (Unknown).
    ===
    REG: l'associazione ha origine nel contesto di caricamento di default.
    REG: utilizzo del file di configurazione dell'applicazione: C:\sites\ra-di-o_web\WEB\web.config
    REG: utilizzo del file di configurazione host: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
    REG: utilizzo del file di configurazione computer da C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
    REG: criteri attualmente non applicati al riferimento (associazione di assembly privati, personalizzati, parziali o basati su percorsi).
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/Radio.DLL.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/Radio/Radio.DLL.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/Radio.DLL.
    REG: download dell'assembly completato. Tentativo di installazione del file: C:\sites\ra-di-o_web\WEB\bin\Radio.dll
    REG: ingresso nella fase di installazione relativa alla Download Cache.
    ERR: errore durante l'estrazione dell'importazione del manifesto dal file (hr = 0x8007000e).
    ERR: installazione non riuscita con hr = 0x8007000e.
    ERR: impossibile completare l'installazione dell'assembly (hr = 0x8007000e). Sondaggio terminato.
    
    
    


    *** Voce di registro binder di assembly  (07/09/2012 @ 9.07.28) ***
    
    Operazione non riuscita.
    Risultato associazione: hr = 0x80070002. Impossibile trovare il file specificato.
    
    Gestore assembly caricato da:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
    In esecuzione con l'eseguibile  c:\windows\system32\inetsrv\w3wp.exe
    --- Segue registro dettagliato degli errori. 
    
    === Informazioni sullo stato di preassociazione ===
    REG: Utente = NT AUTHORITY\SERVIZIO DI RETE
    REG: DisplayName = VJSharpCodeProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
     (Fully-specified)
    REG: Appbase = file:///C:/sites/ra-di-o_web/WEB/
    REG: PrivatePath iniziale = C:\sites\ra-di-o_web\WEB\bin
    REG: base dinamica = C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\187fab75
    REG: base della cache = C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\187fab75
    REG: AppName = ff7815e3
    Assembly chiamante: (Unknown).
    ===
    REG: l'associazione ha origine nel contesto di caricamento di default.
    REG: utilizzo del file di configurazione dell'applicazione: C:\sites\ra-di-o_web\WEB\web.config
    REG: utilizzo del file di configurazione host: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
    REG: utilizzo del file di configurazione computer da C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
    REG: riferimento post-criteri: VJSharpCodeProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    REG: ricerca nella cache globale (GAC) non riuscita.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/VJSharpCodeProvider.DLL.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/VJSharpCodeProvider/VJSharpCodeProvider.DLL.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/VJSharpCodeProvider.DLL.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/VJSharpCodeProvider/VJSharpCodeProvider.DLL.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/VJSharpCodeProvider.EXE.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/VJSharpCodeProvider/VJSharpCodeProvider.EXE.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/VJSharpCodeProvider.EXE.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/VJSharpCodeProvider/VJSharpCodeProvider.EXE.
    REG: tutti i tentativi degli URL di sondaggio sono falliti.
    
    
    


    *** Voce di registro binder di assembly  (07/09/2012 @ 9.07.28) ***
    
    Operazione non riuscita.
    Risultato associazione: hr = 0x80070002. Impossibile trovare il file specificato.
    
    Gestore assembly caricato da:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
    In esecuzione con l'eseguibile  c:\windows\system32\inetsrv\w3wp.exe
    --- Segue registro dettagliato degli errori. 
    
    === Informazioni sullo stato di preassociazione ===
    REG: Utente = NT AUTHORITY\SERVIZIO DI RETE
    REG: DisplayName = CppCodeProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
     (Fully-specified)
    REG: Appbase = file:///C:/sites/ra-di-o_web/WEB/
    REG: PrivatePath iniziale = C:\sites\ra-di-o_web\WEB\bin
    REG: base dinamica = C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\187fab75
    REG: base della cache = C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\187fab75
    REG: AppName = ff7815e3
    Assembly chiamante: (Unknown).
    ===
    REG: l'associazione ha origine nel contesto di caricamento di default.
    REG: utilizzo del file di configurazione dell'applicazione: C:\sites\ra-di-o_web\WEB\web.config
    REG: utilizzo del file di configurazione host: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
    REG: utilizzo del file di configurazione computer da C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
    REG: riferimento post-criteri: CppCodeProvider, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    REG: ricerca nella cache globale (GAC) non riuscita.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/CppCodeProvider.DLL.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/CppCodeProvider/CppCodeProvider.DLL.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/CppCodeProvider.DLL.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/CppCodeProvider/CppCodeProvider.DLL.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/CppCodeProvider.EXE.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/CppCodeProvider/CppCodeProvider.EXE.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/CppCodeProvider.EXE.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/CppCodeProvider/CppCodeProvider.EXE.
    REG: tutti i tentativi degli URL di sondaggio sono falliti.
    
    
    


    *** Voce di registro binder di assembly  (07/09/2012 @ 9.07.28) ***
    
    Operazione non riuscita.
    Risultato associazione: hr = 0x8007000e. Memoria disponibile insufficiente per completare l'operazione.
    
    Gestore assembly caricato da:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
    In esecuzione con l'eseguibile  c:\windows\system32\inetsrv\w3wp.exe
    --- Segue registro dettagliato degli errori. 
    
    === Informazioni sullo stato di preassociazione ===
    REG: Utente = NT AUTHORITY\SERVIZIO DI RETE
    REG: DisplayName = AjaxControlToolkit
     (Partial)
    AVV: informazioni di associazione parziali specificate per un assembly:
    AVV: nome assembly: AjaxControlToolkit | ID dominio: 25
    AVV: un'associazione parziale si verifica quando viene specificata solo una parte del nome visualizzato dell'assembly.
    AVV: ciò potrebbe determinare il caricamento di un assembly non corretto da parte del gestore di associazione.
    AVV: è consigliabile specificare un'identità testuale completa per l'assembly,
    AVV: costituita dal nome semplice, dalla versione, dalle impostazioni cultura e dal token di chiave pubblica.
    AVV: per ulteriori informazioni e soluzioni comuni relative a questo problema, vedere il white paper http://go.microsoft.com/fwlink/?LinkId=109270.
    REG: Appbase = file:///C:/sites/ra-di-o_web/WEB/
    REG: PrivatePath iniziale = C:\sites\ra-di-o_web\WEB\bin
    REG: base dinamica = C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\187fab75
    REG: base della cache = C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\187fab75
    REG: AppName = ff7815e3
    Assembly chiamante: (Unknown).
    ===
    REG: l'associazione ha origine nel contesto di caricamento di default.
    REG: utilizzo del file di configurazione dell'applicazione: C:\sites\ra-di-o_web\WEB\web.config
    REG: utilizzo del file di configurazione host: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
    REG: utilizzo del file di configurazione computer da C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
    REG: criteri attualmente non applicati al riferimento (associazione di assembly privati, personalizzati, parziali o basati su percorsi).
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/AjaxControlToolkit.DLL.
    REG: tentativo di download del nuovo URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/187fab75/ff7815e3/AjaxControlToolkit/AjaxControlToolkit.DLL.
    REG: tentativo di download del nuovo URL file:///C:/sites/ra-di-o_web/WEB/bin/AjaxControlToolkit.DLL.
    REG: download dell'assembly completato. Tentativo di installazione del file: C:\sites\ra-di-o_web\WEB\bin\AjaxControlToolkit.dll
    REG: ingresso nella fase di installazione relativa alla Download Cache.
    ERR: errore durante l'estrazione dell'importazione del manifesto dal file (hr = 0x8007000e).
    ERR: installazione non riuscita con hr = 0x8007000e.
    ERR: impossibile completare l'installazione dell'assembly (hr = 0x8007000e). Sondaggio terminato.
    

    >non ho capito bene il concetto dei 50 siti con un unico sorgente, me lo spieghi meglio ?

    I 50 siti condividono tutti la stessa cartella dei sorgenti (vedi sotto). Il "percorso fisico" è sempre lo stesso per tutti.


    Antonio

    venerdì 7 settembre 2012 07:41
  • hai qualche novità ? hai fatto le prove in un altro ambiente ?

    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org

    giovedì 20 settembre 2012 09:17
    Moderatore
  • Si. Scusami se non ti ho aggiornato ma sono stato preso da altre cose.

    Allora, ho provato su di un altro server windows 2008 server facendo girare un solo sito (e non tutti i 50 di cui ti ho parlato).

    Su tale server tutto fila liscio e non ho avuto mai alcun blocco.

    Ho fatto anche un altro esperimento. Sul server dove sono rimasti gli altri siti ho impostato il parametro di riciclo del pool di applicazioni a 120 minuti invece che i 1740 minuti di default. Con questa impostazione non ho avuto più blocchi neppure sull'altro server. Forzare il riciclo del pool mi comporta lo svantaggio che se qualcuno sta operando nel momento del riciclo perdo le variabili "Session" che stava utilizzando. In pratica questo si traduce nel fatto che l'utente deve uscire e rientrare nella mia applicazione. Questo però è per me accettabile tenendo conto che l'alternativa è il blocco completo del sito.

    Cosa ne pensi?

    Grazie.

     

    Antonio

    giovedì 20 settembre 2012 09:38
  • penso che farei  ancora una prova:

    farei in modo che ciascuno dei 50 siti giri con un differente application pool, lascerei il parametro di riciclo al default per tutti gli application pool ad eccezione di quello che ha manifestato il problema e, se così va, credo che hai raggiunto un buon compromesso al di là del fatto che tenere in piedi le session variables per oltre 2 ore è praticamente inutile per una web app che dovrebbe essere abbastanza rapida (di solito io faccio restare le sessioni autenticate per 30 minuti).

    ciao.


    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org

    giovedì 20 settembre 2012 10:06
    Moderatore