I've been using Umbraco for years and I have my business site running with Umbraco in an Azure web app. Everything is great except every now and again the site goes down.
I looked in the logs this morning and there was this entry logged, I don't know if anyone has any ideas how to fix it?
Exception
Umbraco.Core.Exceptions.BootFailedException: Boot failed: Umbraco cannot run. See Umbraco's log file for more details.
-> Umbraco.Core.Exceptions.BootFailedException: Boot failed.
-> System.IO.IOException: The process cannot access the file 'D:\home\site\wwwroot\App_Data\TEMP\NuCache\NuCache.Content.db' because it is being used by another process.
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, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at CSharpTest.Net.IO.TransactedCompoundFile..ctor(Options options)
at CSharpTest.Net.Storage.BTreeFileStoreV2..ctor(Options options)
at CSharpTest.Net.Collections.BPlusTree`2.OptionsV2.CreateStorage()
at CSharpTest.Net.Collections.BPlusTree`2.NodeCacheBase..ctor(BPlusTreeOptions`2 options)
at CSharpTest.Net.Collections.BPlusTree`2.NodeCacheNone..ctor(BPlusTreeOptions`2 options)
at CSharpTest.Net.Collections.BPlusTree`2..ctor(BPlusTreeOptions`2 ioptions)
at Umbraco.Web.PublishedCache.NuCache.DataSource.BTree.GetTree(String filepath, Boolean exists)
at Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService.MainDomRegister()
at Umbraco.Core.MainDom.Register(Action install, Action release, Int32 weight)
at Umbraco.Web.PublishedCache.NuCache.PublishedSnapshotService..ctor(PublishedSnapshotServiceOptions options, IMainDom mainDom, IRuntimeState runtime, ServiceContext serviceContext, IPublishedContentTypeFactory publishedContentTypeFactory, IdkMap idkMap, IPublishedSnapshotAccessor publishedSnapshotAccessor, IVariationContextAccessor variationContextAccessor, IProfilingLogger logger, IScopeProvider scopeProvider, IDocumentRepository documentRepository, IMediaRepository mediaRepository, IMemberRepository memberRepository, IDefaultCultureAccessor defaultCultureAccessor, IDataSource dataSource, IGlobalSettings globalSettings, IEntityXmlSerializer entitySerializer, IPublishedModelFactory publishedModelFactory, UrlSegmentProviderCollection urlSegmentProviders)
at DynamicMethod(Object[] )
at LightInject.ServiceContainer.<>c__DisplayClass150_0.<WrapAsFuncDelegate>b__0()
at LightInject.ServiceContainer.<>c__DisplayClass198_0.<EmitLifetime>b__1()
at LightInject.PerContainerLifetime.GetInstance(Func`1 createInstance, Scope scope)
at LightInject.ServiceContainer.EmitLifetime(ServiceRegistration serviceRegistration, Action`1 emitMethod, IEmitter emitter)
at LightInject.ServiceContainer.<>c__DisplayClass197_0.<ResolveEmitMethod>b__1(IEmitter methodSkeleton)
at LightInject.ServiceContainer.<>c__DisplayClass153_0.<CreateEmitMethodWrapper>b__0(IEmitter ms)
at LightInject.ServiceContainer.EmitConstructorDependency(IEmitter emitter, Dependency dependency)
at LightInject.ServiceContainer.EmitConstructorDependencies(ConstructionInfo constructionInfo, IEmitter emitter, Action`1 decoratorTargetEmitter)
at LightInject.ServiceContainer.EmitNewInstanceUsingImplementingType(IEmitter emitter, ConstructionInfo constructionInfo, Action`1 decoratorTargetEmitMethod)
at LightInject.ServiceContainer.EmitNewInstance(ServiceRegistration serviceRegistration, IEmitter emitter)
at LightInject.ServiceContainer.EmitNewInstanceWithDecorators(ServiceRegistration serviceRegistration, IEmitter emitter)
at LightInject.ServiceContainer.<>c__DisplayClass197_0.<ResolveEmitMethod>b__2(IEmitter ms)
at LightInject.ServiceContainer.CreateDynamicMethodDelegate(Action`1 serviceEmitter)
at LightInject.ServiceContainer.<>c__DisplayClass198_0.<EmitLifetime>b__1()
at LightInject.PerContainerLifetime.GetInstance(Func`1 createInstance, Scope scope)
at LightInject.ServiceContainer.EmitLifetime(ServiceRegistration serviceRegistration, Action`1 emitMethod, IEmitter emitter)
at LightInject.ServiceContainer.<>c__DisplayClass197_0.<ResolveEmitMethod>b__1(IEmitter methodSkeleton)
at LightInject.ServiceContainer.<>c__DisplayClass153_0.<CreateEmitMethodWrapper>b__0(IEmitter ms)
at LightInject.ServiceContainer.EmitConstructorDependency(IEmitter emitter, Dependency dependency)
at LightInject.ServiceContainer.EmitConstructorDependencies(ConstructionInfo constructionInfo, IEmitter emitter, Action`1 decoratorTargetEmitter)
at LightInject.ServiceContainer.EmitNewInstanceUsingImplementingType(IEmitter emitter, ConstructionInfo constructionInfo, Action`1 decoratorTargetEmitMethod)
at LightInject.ServiceContainer.EmitNewInstance(ServiceRegistration serviceRegistration, IEmitter emitter)
at LightInject.ServiceContainer.EmitNewInstanceWithDecorators(ServiceRegistration serviceRegistration, IEmitter emitter)
at LightInject.ServiceContainer.<>c__DisplayClass197_0.<ResolveEmitMethod>b__2(IEmitter ms)
at LightInject.ServiceContainer.CreateDynamicMethodDelegate(Action`1 serviceEmitter)
at LightInject.ServiceContainer.<>c__DisplayClass198_0.<EmitLifetime>b__1()
at LightInject.PerContainerLifetime.GetInstance(Func`1 createInstance, Scope scope)
at LightInject.ServiceContainer.EmitLifetime(ServiceRegistration serviceRegistration, Action`1 emitMethod, IEmitter emitter)
at LightInject.ServiceContainer.<>c__DisplayClass197_0.<ResolveEmitMethod>b__1(IEmitter methodSkeleton)
at LightInject.ServiceContainer.<>c__DisplayClass153_0.<CreateEmitMethodWrapper>b__0(IEmitter ms)
at LightInject.ServiceContainer.EmitConstructorDependency(IEmitter emitter, Dependency dependency)
at LightInject.ServiceContainer.EmitConstructorDependencies(ConstructionInfo constructionInfo, IEmitter emitter, Action`1 decoratorTargetEmitter)
at LightInject.ServiceContainer.EmitNewInstanceUsingImplementingType(IEmitter emitter, ConstructionInfo constructionInfo, Action`1 decoratorTargetEmitMethod)
at LightInject.ServiceContainer.EmitNewInstance(ServiceRegistration serviceRegistration, IEmitter emitter)
at LightInject.ServiceContainer.EmitNewInstanceWithDecorators(ServiceRegistration serviceRegistration, IEmitter emitter)
at LightInject.ServiceContainer.<>c__DisplayClass197_0.<ResolveEmitMethod>b__0(IEmitter methodSkeleton)
at LightInject.ServiceContainer.<>c__DisplayClass153_0.<CreateEmitMethodWrapper>b__0(IEmitter ms)
at LightInject.ServiceContainer.CreateDynamicMethodDelegate(Action`1 serviceEmitter)
at LightInject.ServiceContainer.CreateDelegate(Type serviceType, String serviceName, Boolean throwError)
at LightInject.ServiceContainer.CreateDefaultDelegate(Type serviceType, Boolean throwError)
at LightInject.ServiceContainer.GetInstance(Type serviceType)
at Umbraco.Core.Composing.LightInject.LightInjectContainer.GetInstance(Type type)
at Umbraco.Core.Composing.ComponentCollectionBuilder.CreateItem(IFactory factory, Type itemType)
at Umbraco.Core.Composing.CollectionBuilderBase`3.<>c__DisplayClass10_0.<CreateItems>b__0(Type x)
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Umbraco.Core.Composing.CollectionBuilderBase`3.CreateItems(IFactory factory)
at Umbraco.Core.Composing.ComponentCollectionBuilder.CreateItems(IFactory factory)
at Umbraco.Core.Composing.CollectionBuilderBase`3.CreateCollection(IFactory factory)
at Umbraco.Core.Composing.LightInject.LightInjectContainer.<>c__DisplayClass20_0`1.<Register>b__0(IServiceFactory f)
at DynamicMethod(Object[] )
at LightInject.ServiceContainer.<>c__DisplayClass150_0.<WrapAsFuncDelegate>b__0()
at LightInject.ServiceContainer.<>c__DisplayClass198_0.<EmitLifetime>b__1()
at LightInject.PerContainerLifetime.GetInstance(Func`1 createInstance, Scope scope)
at LightInject.ServiceContainer.EmitLifetime(ServiceRegistration serviceRegistration, Action`1 emitMethod, IEmitter emitter)
at LightInject.ServiceContainer.<>c__DisplayClass197_0.<ResolveEmitMethod>b__1(IEmitter methodSkeleton)
at LightInject.ServiceContainer.<>c__DisplayClass153_0.<CreateEmitMethodWrapper>b__0(IEmitter ms)
at LightInject.ServiceContainer.CreateDynamicMethodDelegate(Action`1 serviceEmitter)
at LightInject.ServiceContainer.CreateDelegate(Type serviceType, String serviceName, Boolean throwError)
at LightInject.ServiceContainer.CreateDefaultDelegate(Type serviceType, Boolean throwError)
at LightInject.ServiceContainer.GetInstance(Type serviceType)
at Umbraco.Core.Composing.LightInject.LightInjectContainer.GetInstance(Type type)
at Umbraco.Core.FactoryExtensions.GetInstance[T](IFactory factory)
at Umbraco.Core.Runtime.CoreRuntime.Boot(IRegister register, DisposableTimer timer)
at Umbraco.Core.Exceptions.BootFailedException.Rethrow(BootFailedException bootFailedException)
at Umbraco.Web.UmbracoInjectedModule.<>c.<Init>b__18_0(Object sender, EventArgs args)
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.<>c__DisplayClass285_0.<ExecuteStepImpl>b__0()
at System.Web.HttpApplication.StepInvoker.Invoke(Action executionStep)
at System.Web.HttpApplication.StepInvoker.<>c__DisplayClass4_0.<Invoke>b__0()
at Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule.OnExecuteRequestStep(HttpContextBase context, Action step)
at System.Web.HttpApplication.<>c__DisplayClass284_0.<OnExecuteRequestStep>b__0(Action nextStepAction)
at System.Web.HttpApplication.StepInvoker.Invoke(Action executionStep)
at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Properties
Timestamp 2020-05-13T08:29:08.8449513+00:00
@MessageTemplate An unhandled exception occurred
SourceContext Umbraco.Web.UmbracoApplicationBase
ProcessId 38776
ProcessName w3wp
ThreadId 12
AppDomainId 2
AppDomainAppId LMW3SVC797657936ROOT
MachineName RD00155D02C52C
Log4NetLevel ERROR
HttpRequestNumber 23
HttpRequestId cf607c93-53a3-4dee-a421-8031d4a9d8a4
I fixed on 8.4 site using the suggestion on that issue, good to see its fixed in 8.6 we will upgrade at some point, the issue for us was with slots in azure we would get issue on deploy to slot.
This is a known issue with version 8 lower than version 8.6. Please upgrade to 8.6+ and follow the guide in the docs for a new setting to overcome this issue.
It's related to MainDom locking and file locking and how Azure doesn't behave how local windows does. Essentially after upgrading to v8.6+ you need to add a new app setting to change the type of MainDom lock used.
However if you are using your site in a load balanced environment as well then there is still an issue related to it that is due to be fixed.
Umbraco 8 in Azure Web App - Random .NET Error
Hi,
I've been using Umbraco for years and I have my business site running with Umbraco in an Azure web app. Everything is great except every now and again the site goes down.
I looked in the logs this morning and there was this entry logged, I don't know if anyone has any ideas how to fix it?
Thanks B
Hold the phone, I just found this on Github.. https://github.com/umbraco/Umbraco-CMS/issues/5035
I fixed on 8.4 site using the suggestion on that issue, good to see its fixed in 8.6 we will upgrade at some point, the issue for us was with slots in azure we would get issue on deploy to slot.
Good to know it works in 8.4, thanks! I'll do this first then look at doing a proper upgrade later on.
Hi Brent,
This is a known issue with version 8 lower than version 8.6. Please upgrade to 8.6+ and follow the guide in the docs for a new setting to overcome this issue.
It's related to MainDom locking and file locking and how Azure doesn't behave how local windows does. Essentially after upgrading to v8.6+ you need to add a new app setting to change the type of MainDom lock used.
However if you are using your site in a load balanced environment as well then there is still an issue related to it that is due to be fixed.
https://our.umbraco.com/documentation/Getting-Started/Setup/Server-Setup/azure-web-apps
Thanks
Nik
Thanks Nik.. I've seen the popup message that there's a new version of Umbraco but what's the best way to upgrade it in an Azure web app?
Hi Brent,
Erm, that's a tough one and it depends how your site is built. Normally you do it all locally and then deploy it to your hosting environment.
All sites I work on are built using Visual Studio and NuGet so it's a case of updating via NuGet and then deploy out.
Sometimes people build sites with out Visual Studio in which case it is a manual update process.
Nik
In the past that's how I would have done it but in Azure it's easier to install it from the marketplace.
The Umbraco popup message says "click to install" (or something like that) but there's no link.
In Azure, it is possible to access the files directly (although it's a bit clunky) so it might be feasible to upgrade it manually.
Thanks B
is working on a reply...
This forum is in read-only mode while we transition to the new forum.
You can continue this topic on the new forum by tapping the "Continue discussion" link below.