When the SMP tries to register to itself as a Task Server, the following error occurs:
Failed to register task server: 1e6157c7-651e-45d7-8b09-e7510d1f1688
Database context invalidated by inner exception
[Altiris.Database.InvalidDatabaseContextException @ Altiris.Database]
at Altiris.Database.DatabaseContext`1.ProcessException(Exception exception)
at Altiris.NS.ResourceManagement.Database.SqlClientConnectionBase.ExecuteSQLNoResults(String query, Int32& rowsAffected)
at Altiris.NS.ResourceManagement.Database.SqlClientConnectionBase.ExecuteSQLNoResults(String query)
at Altiris.NS.ResourceManagement.Database.GluedSqlCalls.System.IDisposable.Dispose()
at Altiris.NS.ResourceManagement.DataClassRowCollection.InventoryLoader.FixResourceUpdateSummaries(DataClass dataClass, NullableDictionary`2 mapResourceInsertInfo, IDataLoaderConnection connection, QueryCacheEntry e)
at Altiris.NS.ResourceManagement.DataClassRowCollection.InventoryLoader.Update(DataClass dataClass, DataClassRows rows, NullableDictionary`2 mapResourceInsertInfo, Boolean historyEnabled, Dictionary`2 resourceGuidToResourceTypeGuid, IDataLoaderConnection connection, Guid& updateInstanceGuid, List`1& fixedResources)
at Altiris.NS.ResourceManagement.DataClassRowCollection.Loader.Update(DataClass dataClass, DataClassRows rows, NullableDictionary`2 mapResourceInsertInfo, Boolean historyEnabled, Dictionary`2 resourceGuidToResourceTypeGuid, IDataLoaderConnection connection)
at Altiris.NS.ResourceManagement.DataClassRowCollection.TryCommit(IDataLoaderConnection connection, Boolean isInvAeXAcClientAgentGuid, ICollection`1 resourcesToActivate, ICollection`1 skipResources)
at Altiris.NS.ResourceManagement.DataClassRowCollection.<>c__DisplayClass25_0.<Commit>b__0(IDatabaseContext ctx)
at Altiris.NS.ContextManagement.AdminDatabaseContext.<>c__DisplayClass26_0`1.<PerformTransactedDeadlockRetry>b__0(IDatabaseContext ctx)
at Altiris.Database.DatabaseContext`1.RetryAction(Int32 retries, Boolean transacted, Getter`1 getContext, Action`1 action, Action`1 retry, DeadlockRetryArgs& re, Exception& exception, Boolean inTransaction)
at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Boolean inTransaction, Getter`1 getContext, Action`1 action, Action`1 retry, Boolean transacted)
at Altiris.Database.DatabaseContext`1.PerformTransactedDeadlockRetry(Int32 retries, Getter`1 getContext, Action`1 action, Action`1 retry)
at Altiris.NS.ResourceManagement.DataClassRowCollection.Commit(IDataLoaderConnection connection)
at Altiris.NS.ResourceManagement.DataClassRowCollection.OnCommitHandler(DCCommitEventArgs commitArgs)
at Altiris.Database.DatabaseContext`1.RetryAction(Int32 retries, Boolean transacted, Getter`1 getContext, Action`1 action, Action`1 retry, DeadlockRetryArgs& re, Exception& exception, Boolean inTransaction)
at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Boolean inTransaction, Getter`1 getContext, Action`1 action, Action`1 retry, Boolean transacted)
at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, Nullable`1 isolationLevel, Boolean independentContext, Action`1 action, Action`1 retry)
at Altiris.NS.ResourceManagement.DataClassRowCollection.CommitData(IDataLoaderConnection connection)
at Altiris.TaskManagement.ClientTask.AgentWeb.ClientTaskServersHelper.<>c__DisplayClass9_0.<Commit>b__0(IDatabaseContext ctx)
at Altiris.NS.ContextManagement.AdminDatabaseContext.<>c__DisplayClass31_0`1.<PerformWithDeadlockRetry>b__0(IDatabaseContext ctx)
at Altiris.Database.DatabaseContext`1.RetryAction(Int32 retries, Boolean transacted, Getter`1 getContext, Action`1 action, Action`1 retry, DeadlockRetryArgs& re, Exception& exception, Boolean inTransaction)
at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Boolean inTransaction, Getter`1 getContext, Action`1 action, Action`1 retry, Boolean transacted)
at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, Nullable`1 isolationLevel, Boolean independentContext, Action`1 action, Action`1 retry)
at Altiris.TaskManagement.ClientTask.AgentWeb.ClientTaskServersHelper.Commit(DataClassRowCollection& rows, Int32 batchSize)
at Altiris.TaskManagement.ClientTask.AgentWeb.ClientTaskServersHelper.SetTaskServerStatusOn(Guid notificationServerGuid, Guid taskServerGuid, Guid resourceGuid, Guid secretToken, String version, Int32 buildNumber, Nullable`1 httpPort, Nullable`1 httpsPort, Nullable`1 cemPort, Boolean isWssEnabled, Boolean isWssActive)
at Altiris.TaskManagement.ClientTask.AgentWeb.ClientTaskServersHelper.RegisterTaskServer(Guid notificationServerGuid, Guid taskServerGuid, Guid resourceGuid, Guid secretToken, String version, Int32 buildNumber, Nullable`1 httpPort, Nullable`1 httpsPort, Nullable`1 cemPort, Boolean isWssEnabled, Boolean isWssActive)
Internal Query Processor Error: The query processor encountered an unexpected error during execution (HRESULT = 0x80040e19).
[System.Data.SqlClient.SqlException @ .Net SqlClient Data Provider]
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Altiris.NS.ResourceManagement.Database.SqlClientConnectionBase.ExecuteSQLNoResults(String query, Int32& rowsAffected)
SQL Exception details: code=8630, line=61, procedure=spResourceUpdateSummary
Exception logged from:
at Altiris.TaskManagement.ClientTask.AgentWeb.ClientTaskServersHelper.RegisterTaskServer(System.Guid, System.Guid, System.Guid, System.Guid, String, Int32, System.Nullable<Int32>, System.Nullable<Int32>, System.Nullable<Int32>, Boolean, Boolean)
at Altiris.TaskManagement.Data.NotificationServerLocalConnection.Altiris.TaskManagement.Common.ClientTask.Communication.IInternalNotificationServerConnection.RegisterTaskServer(System.Guid, System.Guid, String, Int32, System.Nullable<Int32>, System.Nullable<Int32>, System.Nullable<Int32>, Boolean, Boolean, Altiris.TaskManagement.Common.Configuration.TaskServerConfiguration&)
at Altiris.ClientTask.Server.ClientTaskServer.RegisterTaskServer(Version)
at Altiris.ClientTask.Server.ClientTaskServer.ReRegister(Version)
at Altiris.ClientTask.Server.ClientTaskServer.ProcessRegistrationThreadProc()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object)
at System.Threading.ThreadHelper.ThreadStart()
From what we can tell, there is a failure under "procedure=spResourceUpdateSummary" as mentioned in the log excerpt above.
According to the SQL logs, this failure occurred:
CPerIndexMetaQS::ErrorAbort - Index corruption
ITMS 8.5 RU3
Unknown. Under Investigation.
This issue has been reported to the Symantec Development team.
Few suggestions to try in the meantime:
1) SQL actions:
drop table Inv_Client_Task_Servers
delete from DataClass where Guid='b68b9966-f19c-4a70-999d-7e7d95a2757a'
2) Execute actions in cmd.exe:
2.1) cd "C:\Program Files\Altiris\Notification Server\Bin" --use the proper drive letter for your current installation drive
2.2) AeXConfig.exe /configure "C:\Program Files\Altiris\TaskManagement\Config\TaskManagement.config" --use the proper drive letter for your current installation drive
2.3) Restart AtrsHost service on SMP Server to see the result of our Actions and this will enforce all the other Task Servers to re-register within SMP Server