When debugging a flow service, on calling another flow service an error dialog pops up with a null pointer error. No other information is displayed. On dismissing the dialog, the debugging session is terminated. This does not occur for calls to all flow services.
Running the same flow service does not cause the bug.
If I select ‘Validate Input’ and save the flow service that was not able to be called, the null pointer error does not occur. If I then deselect ‘Validate Input’ and save, the null pointer does not occur.
I ran all three scenarios with the same pipeline information.
Given the above I assume it is the act of saving the file that causes the null pointer to disappear.
Why does the error occur in the first place and why does saving the file fix the issue?
null pointer happens when a underlying java service is called, and the parameter it expects is not passed in.
try to catch the exception and call pub.flow:getLastError
to get the callStack, so you will know in which class the null pointer happened.
Thanks Tong. I’m not calling any Java flow services though. To recap:
It’s one flow service from another.
I can run the flow service with the same pipeline data and it works. Only during debug was there an error.
The error is manifested as an error dialog. The flow service terminates immediately and there is no opportunity to get the last error.
If I save the flow service that causes the null pointer after selecting and deselecting (or even just selecting) ‘Validate Input’ the error does not occur.
Because of the above it cannot be a null parameter being passed into a Java service.
Check if the child flow service has pipeline debug property set to restore. If there is no pipeline file and the service property pipeline debug is set to restore then in that scenario you will see something similar to what you are seeing now.