'Object_f48709db_36a1_45ca_a7c1_1c5edbc79b5e' does not have an ID and cannot be tracked in a catalog.

We have been getting a number of these errors recently. Whenever we get one, it crashes the entire DAEService and we have to restart the service to get it back to a good state. The only way I've been able to suppress them is by surrounding the code within the scripts with try/catch blocks, but then the error pops up in a different place. We have gotten this error in 5 different, distinct places so far. Each time I place the try/catch bandaid on one, it pops up in a different place. I have included two such errors, along with the source code where the error is happening for each. If you want more, let me know.

Thanx,
--Spencer

---------------------------------------------------------------------------------------------
---- Server Context ----
at Alphora.Dataphor.Error.Fail(String AMessage, Object[] AArguments)
at Alphora.Dataphor.Error.AssertFail(Boolean ACondition, String AMessage, Object[] AArguments)
at Alphora.Dataphor.DAE.Schema.Catalog.Validate(Object AItem)
at Alphora.Dataphor.DAE.Schema.Objects.InternalInsert(Int32 AIndex, Object AItem)
at Alphora.Dataphor.DAE.Schema.Objects.Add(Object AItem)
at Alphora.Dataphor.DAE.Schema.TableVar.IncludeDependencies(ServerProcess AProcess, Catalog ASourceCatalog, Catalog ATargetCatalog, EmitMode AMode)
at Alphora.Dataphor.DAE.Schema.Catalog.IncludeDependencies(ServerProcess AProcess, Catalog ASourceCatalog, Object AObject, EmitMode AMode)
at Alphora.Dataphor.DAE.Server.ServerProcess.CopyDataType(ServerPlanBase APlan, DerivedTableVar ATableVar)
at Alphora.Dataphor.DAE.Server.ServerProcess.Compile(ServerPlanBase AServerPlan, Statement AStatement, DataParams AParams, Boolean AIsExpression)
at Alphora.Dataphor.DAE.Server.ServerProcess.CompileRemoteExpression(Statement AExpression, ParserMessages AMessages, RemoteParam[] AParams)
at Alphora.Dataphor.DAE.Server.ServerProcess.InternalPrepareRemoteExpression(String AExpression, RemoteParam[] AParams, ProcessCleanupInfo ACleanupInfo)
at Alphora.Dataphor.DAE.Server.ServerProcess.Alphora.Dataphor.DAE.IRemoteServerProcess.PrepareExpression(String AExpression, RemoteParam[] AParams, PlanDescriptor& APlanDescriptor, ProcessCleanupInfo ACleanupInfo)
Application:201143 --->
Errors occurred while executing the script for ScriptAction "GetWarnings".
---- Server Context ----
at Alphora.Dataphor.Frontend.Client.Node.AfterActivate()
at Alphora.Dataphor.Frontend.Client.Host.Open(Boolean ADeferAfterActivate)
at Alphora.Dataphor.Frontend.Client.Host.Open()
at Alphora.Dataphor.Frontend.Client.Session.LoadForm(INode ANode, String ADocument, FormInterfaceHandler ABeforeActivate)
at Alphora.Dataphor.Frontend.Client.ShowFormAction.InternalExecute(INode ASender, EventParams AParams)
at Alphora.Dataphor.Frontend.Client.Action.Execute(INode ASender, EventParams AParams)
at Alphora.Dataphor.Frontend.Client.Windows.FormInterface.PerformDefaultAction()
at Alphora.Dataphor.Frontend.Client.Windows.FormInterface.FormDefaultAction(Object ASender, EventArgs AArgs)
at Alphora.Dataphor.Frontend.Client.Windows.BaseForm.OnDefaultAction()
at Alphora.Dataphor.Frontend.Client.Windows.BaseForm.ProcessEnter(Form AForm, Keys AKey)
at Alphora.Dataphor.Frontend.Client.Windows.BaseForm.ProcessDialogKey(Keys AKeyData)
at System.Windows.Forms.Control.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.Control.ProcessDialogKey(Keys keyData)
at Alphora.Dataphor.DAE.Client.Controls.IncrementalSearch.ProcessDialogKey(Keys AKey)
at System.Windows.Forms.Control.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.Control.ProcessDialogKey(Keys keyData)
at System.Windows.Forms.TextBoxBase.ProcessDialogKey(Keys keyData)
at Alphora.Dataphor.DAE.Client.Controls.IncrementalTextBox.ProcessDialogKey(Keys AKey)
at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)

CODE CAUSING CRASH:
//GetWarnings:
if (Main.DataView != null && Main.DataView.Active && !Main.DataView.IsEmpty())
{
string LContactID = Main.DataView["Main.ID"].AsString;
string LHandle = GetWarnings.HostNode.Session.Evaluate("GetWarnings('" + LContactID + "')").AsString;
Warnings.Filter = "WV.WarningHandle = '" + LHandle + "'";
ClearWarnings.Script = "delete WarningView where WarningHandle = '" + LHandle + "'";
}
else
ClearWarnings.Execute();

-------------------------------------------------------------------------
Application:500000 --->
Internal Error: Object 'Object_5d430ed5_416f_4035_8b40_fa951680da9a' does not have an ID and cannot be tracked in a catalog.
---- Server Context ----
at Alphora.Dataphor.Error.Fail(String AMessage, Object[] AArguments)
at Alphora.Dataphor.Error.AssertFail(Boolean ACondition, String AMessage, Object[] AArguments)
at Alphora.Dataphor.DAE.Schema.Catalog.Validate(Object AItem)
at Alphora.Dataphor.DAE.Schema.Objects.InternalInsert(Int32 AIndex, Object AItem)
at Alphora.Dataphor.DAE.Schema.Objects.Add(Object AItem)
at Alphora.Dataphor.DAE.Schema.TableVar.IncludeDependencies(ServerProcess AProcess, Catalog ASourceCatalog, Catalog ATargetCatalog, EmitMode AMode)
at Alphora.Dataphor.DAE.Schema.Catalog.IncludeDependencies(ServerProcess AProcess, Catalog ASourceCatalog, Object AObject, EmitMode AMode)
at Alphora.Dataphor.DAE.Server.ServerProcess.CopyDataType(ServerPlanBase APlan, DerivedTableVar ATableVar)
at Alphora.Dataphor.DAE.Server.ServerProcess.Compile(ServerPlanBase AServerPlan, Statement AStatement, DataParams AParams, Boolean AIsExpression)
at Alphora.Dataphor.DAE.Server.ServerProcess.CompileRemoteExpression(Statement AExpression, ParserMessages AMessages, RemoteParam[] AParams)
at Alphora.Dataphor.DAE.Server.ServerProcess.InternalPrepareRemoteExpression(String AExpression, RemoteParam[] AParams, ProcessCleanupInfo ACleanupInfo)
at Alphora.Dataphor.DAE.Server.ServerProcess.Alphora.Dataphor.DAE.IRemoteServerProcess.PrepareExpression(String AExpression, RemoteParam[] AParams, PlanDescriptor& APlanDescriptor, ProcessCleanupInfo ACleanupInfo)
Application:201143 --->
Errors occurred while executing the script for ScriptAction "CheckProcessExists".
---- Server Context ----
at Alphora.Dataphor.Frontend.Client.ScriptAction.InternalExecute(INode ASender, EventParams AParams)
at Alphora.Dataphor.Frontend.Client.Action.Execute(INode ASender, EventParams AParams)
at Alphora.Dataphor.Frontend.Client.Action.DoBeforeExecute(EventParams AParams)
at Alphora.Dataphor.Frontend.Client.Action.Execute(INode ASender, EventParams AParams)
at Alphora.Dataphor.Frontend.Client.Windows.Trigger.ButtonClicked(Object ASender, EventArgs AArgs)

CODE CAUSING CRASH:
//CheckProcessExists:
string LProcess_ID = (ShowWorkProcess.SourceLink.Source == ProcessAssignment) ? ProcessAssignment["Process_ID"].AsString : Search["Process_ID"].AsString;
string LExpression = String.Format("exists(ProcessComplete where Process_ID = '{0}')", LProcess_ID);
Alphora.Dataphor.DAE.Runtime.Data.DataValue LDataValue = Host.Session.Evaluate(LExpression);
if (LDataValue.AsBoolean)
{
Refresh.Execute();
throw new Exception("This Process has already been completed.");
}
else
ProceedProcessAction.Execute();

More details

Hi Spencer,

Apologies for the delayed response. Can you tell me what version of the server you are running? The first thing I would recommend trying would be to see if using parameters rather than constructing string literals in the Evaluate call has any effect. Also, are the tables and views using user-defined types, or are they system types?

Regards,
Bryn Rhodes
Database Consulting Group LLC