Recently I ran across a really tough issue that I had with one of my workflows that kept failing right before the approval step of the workflow was being sent.
Below is an example of the workflow I had with the listing of the error I was getting:
I tried going over this many times and even went and created a whole new list for this and imported the workflow into this new list with a newly build form to make sure I could minimize any other variables in the error.
Well the bad news was even in the new list I created and imported the workflow into, I still got the same error. So, I started digging in with some help, and was ultimately able to find the source of the issue on the step of the set item permissions in the workflow.
It turns out that when this workflow was originally created the set item permissions had several users explicitly defined in it to grant permissions to the item on before an approval would take place.
What I didn’t realize until I looked deeper into who all was being given access to this item was that one user who was specifically designated in the action was no longer with the company.
So, when the workflow would go out and try to match this person with a valid AD account, it would error out and not allow the workflow to go any further.
The location of the error was in the ULS of SharePoint, but only when verbose logging was turned on, of course…
So in the future I will always from now on, check to make sure that all users being granted access to items in workflows have valid accounts.
If you ever run across something like this I hope this tip will save you sometime and allow you to get right to the solution.