Try our conversational search powered by Generative AI!

Scheduled Jobs Delayed Publish and Link Validator Fail because of null refrence

Vote:
 

I'm a bit baffled by the error. Neither job completes. I'm guessing it's related, but it may not be. Any ideas on what's going on?

thanks,

System.NullReferenceException: Object reference not set to an instance of an object.
   at EPiServer.Util.DelayedPublishJob.PublishContent(JobStatus status)
   at EPiServer.Util.DelayedPublishJob.Execute()
   at EPiServer.Scheduler.Internal.DefaultScheduledJobExecutor.d__31.MoveNext())
at EPiServer.Util.DelayedPublishJob.PublishContent(JobStatus)
at EPiServer.Util.DelayedPublishJob.Execute()
at EPiServer.Scheduler.Internal.DefaultScheduledJobExecutor+d__31.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine ByRef)
at EPiServer.Scheduler.Internal.DefaultScheduledJobExecutor.Execute(EPiServer.DataAbstraction.ScheduledJob, EPiServer.Scheduler.Internal.IScheduledJob, EPiServer.Scheduler.ScheduledJobTrigger, System.Nullable`1[System.TimeSpan])
at EPiServer.Scheduler.Internal.DefaultScheduledJobExecutor+<>c__DisplayClass29_0.b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
System.NullReferenceException: Object reference not set to an instance of an object. (Job EPiServer.LinkAnalyzer.LinkValidationJob failed for the job 'Link Validation' with jobId ='6bce1827-f306-476a-b766-2b35838f6ea0' 
System.NullReferenceException: Object reference not set to an instance of an object.
   at EPiServer.LinkAnalyzer.Internal.LinkValidator.CreateAbsoluteUri(Url url)
   at EPiServer.LinkAnalyzer.Internal.LinkValidator.ValidateHttpLink(Uri url)
   at EPiServer.LinkAnalyzer.Internal.LinkValidationRunner.ValidateLink(Uri url)
   at EPiServer.LinkAnalyzer.Internal.LinkValidationRunner.CheckAndUpdateStatus(SoftLink link)
   at EPiServer.LinkAnalyzer.Internal.LinkValidationRunner.CheckAndUpdateStatus(IEnumerable`1 softLinks)
   at EPiServer.LinkAnalyzer.Internal.LinkValidationRunner.ValidateLinks()
   at EPiServer.Scheduler.Internal.DefaultScheduledJobExecutor.d__31.MoveNext())
at EPiServer.LinkAnalyzer.Internal.LinkValidator.CreateAbsoluteUri(EPiServer.Url)
at EPiServer.LinkAnalyzer.Internal.LinkValidator.ValidateHttpLink(System.Uri)
at EPiServer.LinkAnalyzer.Internal.LinkValidationRunner.ValidateLink(System.Uri)
at EPiServer.LinkAnalyzer.Internal.LinkValidationRunner.CheckAndUpdateStatus(EPiServer.DataAbstraction.SoftLink)
at EPiServer.LinkAnalyzer.Internal.LinkValidationRunner.CheckAndUpdateStatus(System.Collections.Generic.IEnumerable`1[EPiServer.DataAbstraction.SoftLink])
at EPiServer.LinkAnalyzer.Internal.LinkValidationRunner.ValidateLinks()
at EPiServer.Scheduler.Internal.DefaultScheduledJobExecutor+d__31.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine ByRef)
at EPiServer.Scheduler.Internal.DefaultScheduledJobExecutor.Execute(EPiServer.DataAbstraction.ScheduledJob, EPiServer.Scheduler.Internal.IScheduledJob, EPiServer.Scheduler.ScheduledJobTrigger, System.Nullable`1[System.TimeSpan])
at EPiServer.Scheduler.Internal.DefaultScheduledJobExecutor+<>c__DisplayClass29_0.b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
#191020
Apr 18, 2018 23:10
Vote:
 

What version of CMS are you running? And do you have multiple languages defined? The Delayed Publish job had a bug in 10 and 11, that were fixed recently.

CMS 10:
https://world.episerver.com/documentation/Release-Notes/ReleaseNote/?releaseNoteId=CMS-10026

CMS 11:
https://world.episerver.com/documentation/Release-Notes/ReleaseNote/?releaseNoteId=CMS-9903

The Link Validator job has had a bug introduced recently, where URLs of unexpected format makes the job crash. I have reported this as a bug (CMS-9930) that has been accepted, but it has not been made public. If you get lucky, you could perhaps exclude some URL patterns and make the job run for the rest of the links. Explaination her:
https://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2015/2/link-validation---this-operation-is-not-supported-for-a-relative-uri/

#191021
Apr 19, 2018 7:30
Vote:
 

Thank You! We're using CMS 11.3.2 so we have not gotten the bug fix.

#191070
Apr 19, 2018 16:37
Vote:
 

Hi Marcus,

In my opinion, "Object reference error" seems to be related to your content. 

My suggestions:

1. Check the CMS > Reports > Link Status report to see if you find anything there.

2. Check the tblContentSoftLink table in SQL to see if there's something funky going on.

#191091
Apr 19, 2018 22:56
* 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.