Try our conversational search powered by Generative AI!

Huy Le
Mar 31, 2014
  4417
(5 votes)

Job Fails Issue

Here's a short note on a case we had recently, hopefully it might be useful to somebody.

A Partner had an issue with a custom EPiServer scheduled job (commerce import) that failed intermittently on their CMS 7 site, the error message that the job failed with was: "Thread was being aborted."

We suspected that the application was going down and after some pondering a colleague suggested adding this very useful tool to the site Bin folder which logs application shutdown events on the machine’s Window log:

http://epiwiki.se/tools/application-restart-detector

The tool logged the below shutdown event in the Windows logs (Application) on the machine very shortly before the job stopped running.

This was logged many times on the server:

Application restarted because:MaxRecompilationsReached
   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()
   at System.Web.HttpRuntime.ShutdownAppDomain(String stackTrace)
   at System.Web.Compilation.DiskBuildResultCache.ShutdownCallBack(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

We were still unsure what lay behind the error so we added another tool made by the same colleague, though this didn't shed any light on the issue this time:

http://epiwiki.se/tools/asseblyloaderdetector

A couple of colleagues mentioned that there was a recent bug report concerning EPiServer.Web.Hosting.VirtualPathMappedProvider

,which we saw was being used on the site in question.

The ="DynamicContentPreview" VirtualPathMappedProvider was then commented out from the episerverframework config.

After this was commented out the MaxRecompilationsReached error stopped the job has not failed since.

The cause of this issue is covered by this recently reported bug:

Bug #112977: Excessive recompilations causing performance problems

http://world.episerver.com/Documentation/Release-Notes/ReleaseNote/?releaseNoteId=112977

Thanks to all that gave assistance on this case! //Paul & co

Mar 31, 2014

Comments

Vincent
Vincent Apr 1, 2014 03:35 AM

Is EPiServer team going to release a patch for CMS 6R2?

Apr 1, 2014 03:07 PM

@code monkey: could you create a support ticket for this?

Please login to comment.
Latest blogs
Fix your Search & Navigation (Find) indexing job, please

Once upon a time, a colleague asked me to look into a customer database with weird spikes in database log usage. (You might start to wonder why I a...

Quan Mai | Apr 17, 2024 | Syndicated blog

The A/A Test: What You Need to Know

Sure, we all know what an A/B test can do. But what is an A/A test? How is it different? With an A/B test, we know that we can take a webpage (our...

Lindsey Rogers | Apr 15, 2024

.Net Core Timezone ID's Windows vs Linux

Hey all, First post here and I would like to talk about Timezone ID's and How Windows and Linux systems use different IDs. We currently run a .NET...

sheider | Apr 15, 2024

What's new in Language Manager 5.3.0

In Language Manager (LM) version 5.2.0, we added an option in appsettings.json called TranslateOrCopyContentAreaChildrenBlockForTypes . It does...

Quoc Anh Nguyen | Apr 15, 2024

Optimizely Search & Navigation: Boosting in Unified Search

In the Optimizely Search & Navigation admin view, administrators can set a certain weight of different properties (title, content, summary, or...

Tung Tran | Apr 15, 2024

Optimizely CMS – Getting all content of a specific property with a simple SQL script

When you need to retrieve all content of a specific property from a Page/Block type, normally you will use the IContentLoader or IContentRepository...

Tung Tran | Apr 15, 2024