The customer started to notice the following error on a regular basis:
MainController failure.
The item attributes for item 'ee1658ca-d78d-1f15-e850-cb75db7f0970' contain the NoModify attribute which prevents it from being saved.
[Altiris.NS.Exceptions.AeXUnauthorizedAccessException @ Altiris.NS]
at Altiris.NS.ItemManagement.Item.RaiseItemLoadFlagsSecurityException(String message)
at Altiris.NS.ItemManagement.Item.CheckCanSaveItem()
at Altiris.NS.ItemManagement.Item.ThrowIfSaveIsNotAllowed()
at Altiris.NS.ItemManagement.Item.Save()
at Altiris.DirectoryServices.NSDirectoryItems.DirectoryScopeCollection.<Save>b__22_0(IDatabaseContext ac)
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.DirectoryServices.NSDirectoryItems.DirectoryScopeCollection.Save()
at Altiris.NS.StandardItems.Collection.Scoping.SystemScopeCollection.OnSchedule(String identifier)
at Altiris.NS.StandardItems.Targeting.TargetHelper.ReevaluateFilter(ResourceTargetUpdateContext ctx, IResourceTarget target, ITargetFilter filter, Boolean completeUpdate)
at Altiris.NS.StandardItems.Targeting.TargetHelper.ReevaluateFilters(IResourceTarget target, Boolean completeUpdate)
at Altiris.NS.StandardItems.Targeting.TargetHelper.UpdateTarget(CodeProfiler cp, String type, IResourceTarget target, Boolean completeUpdate, Boolean invalidateDependencies, Boolean throwOnError)
at Altiris.NS.StandardItems.Targeting.TargetHelper.InvalidateTargetMembership(Guid targetGuid, Boolean completeUpdate, Boolean invalidateDependencies)
at Symantec.ActivityCenter.Api.Models.Target.TargetProvider.<>c_DisplayClass2_0.<RunTarget>b_0()
at Altiris.NS.Security.SecurityContext.<>c_DisplayClass33_0.<ExecuteAsAppIdentity>b_1(SecurityContext ctx)
at Altiris.NS.Security.SecurityContext.ExecuteAs[T,TK](EExecuteAs e, TK trustee, Func`2 createContext, Func`2 action)
at Symantec.ActivityCenter.Api.Models.Target.TargetProvider.RunTarget(Target target, Boolean updateMembership)
at Symantec.ActivityCenter.Api.Helpers.ComputerHelper.GetComputerTargetResources(TargetDataGridRequestSpecification request)
at Symantec.ActivityCenter.Api.Controllers.MainController.GetComputerTargetResources(TargetDataGridRequestSpecification request)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c_DisplayClass6_2.<GetExecutor>b_2(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__6.MoveNext()
Exception logged from:
at Symantec.ActivityCenter.Api.Controllers.ApiControllerExceptionHandlerAttribute.OnException(System.Web.Http.Filters.HttpActionExecutedContext)
at System.Web.Http.Filters.ExceptionFilterAttribute.OnExceptionAsync(System.Web.Http.Filters.HttpActionExecutedContext, System.Threading.CancellationToken)
at System.Web.Http.Filters.ExceptionFilterAttribute+<ExecuteExceptionFilterAsyncCore>d__3.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<TStateMachine>(TStateMachine&)
at System.Web.Http.Filters.ExceptionFilterAttribute.ExecuteExceptionFilterAsyncCore(System.Web.Http.Filters.HttpActionExecutedContext, System.Threading.CancellationToken)
at System.Web.Http.Filters.ExceptionFilterAttribute.System.Web.Http.Filters.IExceptionFilter.ExecuteExceptionFilterAsync(System.Web.Http.Filters.HttpActionExecutedContext, System.Threading.CancellationToken)
at System.Web.Http.Controllers.ExceptionFilterResult+<ExecuteAsync>d__6.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder<TResult>.Start<TStateMachine>(TStateMachine&)
at System.Web.Http.Controllers.ExceptionFilterResult.ExecuteAsync(System.Threading.CancellationToken)
at System.Web.Http.ApiController.ExecuteAsync(System.Web.Http.Controllers.HttpControllerContext, System.Threading.CancellationToken)
at System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__15.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder<TResult>.Start<TStateMachine>(TStateMachine&)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)
at System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)
at System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)
at System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)
at Symantec.ActivityCenter.Api.Controllers.ApiControllerAntiForgeryHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)
at System.Net.Http.DelegatingHandler.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)
at System.Web.Http.HttpServer+<SendAsync>d__24.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder<TResult>.Start<TStateMachine>(TStateMachine&)
at System.Web.Http.HttpServer.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)
at System.Net.Http.HttpMessageInvoker.SendAsync(System.Net.Http.HttpRequestMessage, System.Threading.CancellationToken)
at System.Web.Http.WebHost.HttpControllerHandler+<ProcessRequestAsyncCore>d__12.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<TStateMachine>(TStateMachine&)
at System.Web.Http.WebHost.HttpControllerHandler.ProcessRequestAsyncCore(System.Web.HttpContextBase)
at System.Web.TaskAsyncHelper.BeginTask(System.Func<System.Threading.Tasks.Task>, AsyncCallback, Object)
at System.Web.HttpApplication+CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStepImpl(System.Web.HttpApplication+IExecutionStep)
at System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication+IExecutionStep, Boolean&)
at System.Web.HttpApplication+PipelineStepManager.ResumeSteps(Exception)
at System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, AsyncCallback)
at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)
HTTP [POST]: http://altsmp.domain.com/altiris/activitycenter/api/computertargets/resources
timings: [[R] 00:00:06.4216858(W: 00:00:00)];
response: [200 OK]; x-smp-nsversion: [8.5.5713.0];
-----------------------------------------------------------------------------------------------------
Date: 10/28/2020 9:46:26 AM, Tick Count: 2532226359 (29.07:23:46.3590000), Size: 9.09 KB
Process: w3wp (1104), Thread ID: 325, Module: Symantec.ActivityCenter.Api.dll
Priority: 1, Source: Symantec.ActivityCenter.Api.Controllers.ApiControllerExceptionHandlerAttribute.OnException
ITMS 8.5 RU4
Known issue.
This 'ee1658ca-d78d-1f15-e850-cb75db7f0970' GUID refers to an organizational view created from AD during an AD Import. For them, this group contains all the resources imported from an organizational unit.
This organizational view has attributes of "System, NoModify" and it is used as part of an exclusion for a couple of Targets.
This issue is fixed in ITMS 8.6 release.
As a workaround, you can change the attribute for this organizational view from its value 258 to 0 (Normal). That should stop the error message.