Skip to main content

I have a workflow that routes a list item for approval to 3 different levels. On the 3rd level the workflow keeps getting suspended with the below error message and I cannot figure out why as it does not happen every time. I have about 10 items that it keeps happening on and I have been able to get 9 of them to go through by terminating the workflow and starting it over from the beginning but 1 continues to fail. (It took multiple attempts to get the others to go through.)

RequestorId: ab792796-6574-13d1-0000-000000000000. Details: An unhandled exception occurred during the execution of the workflow instance. Exception details: System.InvalidOperationException: The DelayUntil date cannot be DateTime.MinValue. at Microsoft.Activities.Expressions.DelayUntil.Execute(NativeActivityContext context) at System.Activities.NativeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) Exception from activity DelayUntil Microsoft.SharePoint.WorkflowServices.Activities.DelayUntil PickBranch Pick If Sequence While Wait for Task Sequence SingleTask_CreateListItemCancellationScope Sequence Microsoft.SharePoint.WorkflowServices.Activities.OperatingWebContextScope NintexActivities.WorkflowXaml_f6a19ad8_fae9_46e2_88bb_539a99b9e906 Assign to AP Approved ControlFlowStep Assign to GM Submit for Approval ControlFlowStep Assign to Ordering Manager Sequence If While State Machine Sequence Flowchart SWG CAP AP WORK FLOW REVISED.WorkflowXaml_c399eaf7_ee60_457a_a9c1_6dc7efa6950f

It sounds like you might have a "Pause Until" step.  Is it possible it is using a field or variable which is uninitialized or sometimes can return DateTime.MinValue?


Seems like there's a case where DelayUntil evaluates to DateTime.MinValue. I'd start by double checking how the value for DelayUntil is calculated.
Any idea how to do that?
I'd have to see the solution. If it's a variable, then you can check how the value is calculated. Otherwise, David's approach is the way to go. Good luck!

Reply