Symptoms
After moving the K2 db from one server to another and deploying the K2 package with PnD, some SMOs throw an error on execution:
The smartObject CR1_GetAllProgress or one of its components could not be resolved. Error details: Object not set to an instance of an object.
•Type: System.NullReferenceException
•Source: SourceCode.HostServerLib
•Stack Trace:
at SourceCode.Hosting.Client.BaseAPI.BaseAPIConnection.RemoteCall(String TypeName, String MethodName, Object ] Parameters, BooleanB] NullList, MarshalMessageType CallType)
at SourceCode.Hosting.Client.BaseAPI.BaseAPI.RemoteCall(String TypeName, String MethodName, Object ] Parameters, BooleanB] NullList, MarshalMessageType CallType)
at SourceCode.SmartObjects.Client.SmartObjectClientServer.GetSmartObject(Guid guid)
at SourceCode.Forms.AppFramework.FormRuntime.SmartObjectExecution(XPathNavigator nav, Boolean outputDependencies, SmartObjectClientServer svr)
Diagnoses
The corrupted SMOs are all store procedure based.
Resolution
Deleting the SMOs and recreating them resolved the issue.