November Happy Hour will be moved to Thursday December 5th.

Website crashing on startup. Could not find file 'C:\WINDOWS\TEMP\abcdef.dll'

Vote:
 

We have started to experience a problem with one of our episerver websites which sometimes fails to start when either performing an applicaiton pool rececly or is awaking from being idle.

The errors appear to be around XML Serilization processes in the core of EPiServer when starting the website. Here is an example error and stack trace.

Exception: System.IO.FileNotFoundException

Message: Could not find file 'C:\WINDOWS\TEMP\rdwddlb6.dll'.

StackTrace: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames)
at Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources)
at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources)
at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources)
at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type)
at EPiServer.Data.Cache.CacheChangedEventArgs.Serialize(CacheChangedEventArgs item)
at EPiServer.Data.Cache.CacheEventNotifier.Send(CacheChangedEventArgs eventData)
at EPiServer.Data.Cache.CacheProvider.Remove(String key)
at EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.<>c__DisplayClass14.<Save>b__13()
at EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.<>c__DisplayClass7.<ExecuteTransaction>b__6()
at EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.InternalExecute[TResult](Func`1 method)
at EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.ExecuteTransaction(Action action)
at EPiServer.Data.Dynamic.Providers.DbDataStoreProvider.Save(ProviderCallContext context)
at EPiServer.Data.Dynamic.DynamicDataStore.InternalSave(Identity id, Object value, TypeToStoreMapper typeToStoreMapper, ProviderCallContext parentContext)
at EPiServer.Data.Dynamic.EPiServerDynamicDataStore.Save(Object value)
at EPiServer.TaskManager.TaskManager.SaveData()
at EPiServer.TaskManager.TaskManager.InternalRun(Object state, Boolean timeOut)
at System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context(Object state, Boolean timedOut)
at System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context_f(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(Object state, Boolean timedOut)

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.


The errors can in their source, but all appear to be orientatneted around xml serilization.

The problem has onlt recently started to occur and typically an application pool recycle will resolve the issue.

The website is running on EPiServer 6 R2, Windows 2003, .NET 2.0.

Has anybody else encoutered this happening before of have any suggestions of a solution?

 
#61987
Oct 09, 2012 13:34
Vote:
 

Hi Adam,

 

Have you tried setting the apppool to never idle?

 

I have had some strange problems (not this specific one) with sites that had the idle option set. But after switching it of and just adding a recycling each night it all worked itself out.

/Petter

#61990
Oct 09, 2012 14:18
Vote:
 

Thanks Petter, I will look into trying that. Currently I am looking at the XML Serilization diagnostics as per here:

http://blogs.msdn.com/b/andreal/archive/2009/04/18/could-not-find-file-c-windows-temp-dll.aspx

 

The server has alot of webites running on it and the article stage 'too many application pools/web applications and/or you’re overloading the desktop heap' could be causing the issue.

#61992
Oct 09, 2012 14:54
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.