I have 10 list items in a SharePoint 2013 list and there are 3 workflows associated with the content type of those list items. All 3 of them have a conditional start for new created items, based on the value of a column.
When monitoring the ULS, I find 163 identical errors. All of them are like this:
09/22/2014 16:10:16.90 OWSTIMER.EXE (0x2B20) 0x05A0 Nintex Workflow 2013 General 00000 Unexpected Error processing item updated event.: System.ArgumentNullException: Value cannot be null. Parameter name: s at System.IO.StringReader..ctor(String s) at Nintex.Workflow.PreviousValueRecordCollection.nxk=(String oBk=) at Nintex.Workflow.ConditionalWorkflowStartReceiver.kBk=(SPItemEventProperties kRk=, AutoStartRuleType khk=, Boolean kxk=) at Nintex.Workflow.ConditionalWorkflowStartReceiver.ItemUpdated(SPItemEventProperties properties) (Build:3080) f7fdba9c-8e28-c0b5-dbb7-a7a8cf1862d5
The workflows don't appear to be suffering from this since they just run fine. But I'm interested to know what these errors are about and if they can be avoided.
Solved! Go to Solution.
Did you create this variable name 's' anywhere? I'd be curious to see what happens if you shut off all the workflows and create a new item in the list to see if the error occurs again. You need to isolate the problem so you can see where it is coming from before you can fix it. If there is no error with no workflows running, then turn one workflow on at a time as you create an item checking for the error to see what workflow could be causing the problem. It is like a string value is null but at least may need to be set to empty or there needs to be a check for null on that string and something else done if it is null.
Another troubleshooting trick to try is to write to the workflow history log throughout your workflow to see if the error time corresponds close to one of your workflow actions.
The 's' that is null is the string parameter to the system.io.stringreader which is being called within Nintex.Workflow.PreviousValueRecordCollection to fetch a string value and it can't because it is null. This is new to 2013 as it is not in the 2010 SDK and I do not believe the 2013 SDK is available to reference. The workflow is starting up correctly, but then a value needs to be compared and it cannot. This could be anything with this much information, from a bad xml configuration, to a misconfiguration in the workflow.
Do you have any default values for variables? what is the condition for the start? what is the first action in the workflow? In the history, do you see it getting past the first action(It doesn't seem to)? Are all values in the item valid?
Already thanks for the insights.... to answer a few of the questions:
- I don't use any variable or parameter with the name 's'.
- The start condition is when a field "Blocking Scenario" equals "Q" (for new items only). Updated items are not handled
- The first action is the workflow is actually a parallel action block with 2 branches: Branch 1 calculates a variable "CurrentDateTime" to the current date and time while Branch 2 immediately has a "Wait for Item Update" action which waits until a field "Scenario" is set to "D" (choice field). Initially, this field is "N".
- The workflow actually runs perfectly. I can see it running through all actions in the history. But when monitoring the ULS, I see multiple errors popping up.
Now, I did found something regarding the Wait for Item Update action in combination with a Choice field. Look at this post:
Can this be related?
Sometimes I have had issues with some conditions being tested as the first action and setting a pause for a minute seems to always help out. But there is no requirement to add a pause as the first action. Sometimes it just let's the timing of actions to calm down before the real work get's going.
I'm getting a similar error (see below) on 2010.
The message mentions "PreviousValueRecordCollection" and "ConditionalWorkflowStartReceiver" even though this workflow has no conditions on starting (it is started automatically on item creation, or manually, possibly via a button on the item menu).
The error seems to come from an update to the current item, although the Workflow Progress page shows this having completed, and the workflow progressed to another action where a variable is set based on a different field in the current item.
Any ideas what would cause this problem?
This is the error message in the log. It appears 7 times for the same workflow.
w3wp.exe (0x1A2C) 0x2BB8 Nintex Workflow 2010 General 0000 Unexpected Error processing item updated event.: System.ArgumentNullException: Value cannot be null. Parameter name: s at System.IO.StringReader..ctor(String s) at Nintex.Workflow.PreviousValueRecordCollection.zhk=(String zxk=) at Nintex.Workflow.ConditionalWorkflowStartReceiver.oRY=(SPItemEventProperties wBk=, AutoStartRuleType wRk=, Boolean whk=) at Nintex.Workflow.ConditionalWorkflowStartReceiver.ItemUpdated(SPItemEventProperties properties) (Build:23140)
Though this has a similar message with the parameter name s error from System.IO.StringReader, it is most likely not a similar issue in your case. I'd suggest starting a new post and provide some more information around the update item actions you refer to.
Also, you could Follow this post for anything we may discover down the road in this discussion.