KNOWN ISSUE. While trying to import Users from Security Groups (in both versions: NS6 and NS7) the following error occurs: Exception of type 'System.OutOfMemoryException' was thrown.

Article:TECH140502  |  Created: 2010-09-22  |  Updated: 2012-09-14  |  Article URL http://www.symantec.com/docs/TECH140502
Article Type
Technical Solution


Issue



Customer is trying to import Users from Security Groups (in both versions: NS6 and NS7) but he gets the following error:

"While getting groups from AD.altiris.com System.OutOfMemoryException caught in GetGroups. Reason: Exception of type 'System.OutOfMemoryException' was thrown."


Error



Priority: 1
Date: 20/07/2010 17:59:50
Tick Count: 1333093
Host Name: SMPServer
Process: AeXSvc (1124)
Thread ID: 65
Module: AeXSVC.exe
Source: Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetGroups
Description: While getting groups from ad.altiris.com System.OutOfMemoryException caught in GetGroups. Reason: Exception of type 'System.OutOfMemoryException' was thrown.

( Exception Details: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity)
   at System.Text.StringBuilder.GetNewString(String currentString, Int32 requiredLength)
   at System.Text.StringBuilder.Append(String value)
   at System.IO.StringWriter.Write(String value)
   at System.Xml.XmlTextEncoder.WriteRawWithSurrogateChecking(String text)
   at System.Xml.XmlTextWriter.WriteRaw(String data)
   at Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetGroups(String strServer, String strADFilter, String strUserId, String strPassword, Boolean bUsnChanged, Int32 maxGroups, Boolean cnSecGroups, Int32& nGroupsCount) )
( Exception logged from:
   at Altiris.Diagnostics.Logging.EventLog.ReportException(Int32 severity, String strMessage, String category, Exception exception)
   at Altiris.Diagnostics.Logging.EventLog.ReportException(String strMessage, String category, Exception exception)
   at Altiris.NS.Logging.EventLog.ReportException(String strMessage, Exception exception)
   at Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetGroups(String strServer, String strADFilter, String strUserId, String strPassword, Boolean bUsnChanged, Int32 maxGroups, Boolean cnSecGroups, Int32& nGroupsCount)
   at Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetSecurityGroups(String strServer, String strUserId, String strPassword, Int64 nMaxUsnChanged, Boolean usnChanged, FilterType filterType, String filter, Int32 maxGroups, Int32& nGroupsCount)
   at Altiris.DirectoryServices.DirectoryImport.DirectoryItemImporter.ImportSecurityGroups()
   at Altiris.DirectoryServices.DirectoryImport.DirectoryImporter.ImportItems()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
 )
( Extra Details:  Type=System.OutOfMemoryException Src=mscorlib )

Priority: 1
Date: 20/07/2010 17:59:50
Tick Count: 1333093
Host Name: SMPServer
Process: AeXSvc (1124)
Thread ID: 65
Module: AeXSVC.exe
Source: Altiris.DirectoryServices.DirectoryImport.DirectoryItemImporter.ImportSecurityGroups
Description: System.OutOfMemoryException caught in ImportSecurityGroups. Reason: Exception of type 'System.OutOfMemoryException' was thrown.
( Exception Details: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity)
   at System.Text.StringBuilder.GetNewString(String currentString, Int32 requiredLength)
   at System.Text.StringBuilder.Append(String value)
   at System.IO.StringWriter.Write(String value)
   at System.Xml.XmlTextEncoder.WriteRawWithSurrogateChecking(String text)
   at System.Xml.XmlTextWriter.WriteRaw(String data)
   at Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetGroups(String strServer, String strADFilter, String strUserId, String strPassword, Boolean bUsnChanged, Int32 maxGroups, Boolean cnSecGroups, Int32& nGroupsCount)
   at Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetSecurityGroups(String strServer, String strUserId, String strPassword, Int64 nMaxUsnChanged, Boolean usnChanged, FilterType filterType, String filter, Int32 maxGroups, Int32& nGroupsCount)
   at Altiris.DirectoryServices.DirectoryImport.DirectoryItemImporter.ImportSecurityGroups() )
( Exception logged from:
   at Altiris.Diagnostics.Logging.EventLog.ReportException(Int32 severity, String strMessage, String category, Exception exception)
   at Altiris.Diagnostics.Logging.EventLog.ReportException(String strMessage, String category, Exception exception)
   at Altiris.NS.Logging.EventLog.ReportException(String strMessage, Exception exception)
   at Altiris.DirectoryServices.DirectoryImport.DirectoryItemImporter.ImportSecurityGroups()
   at Altiris.DirectoryServices.DirectoryImport.DirectoryImporter.ImportItems()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
 )
( Extra Details:  Type=System.OutOfMemoryException Src=mscorlib )
 

Priority: 1
Date: 20/07/2010 17:59:50
Tick Count: 1334015
Host Name: SMPServer
Process: AeXSvc (1124)
Thread ID: 72
Module: AeXSVC.exe
Source: Altiris.DirectoryServices.NSDirectoryItems.DirectoryImportTask.DoDirectoryImportTask
Description: While DoDirectoryImportTask for import rule 258cb08e-2c1b-42d0-b2d7-ac94d6c0500b System.OutOfMemoryException caught in DoDirectoryImportTask. Reason: Exception of type 'System.OutOfMemoryException' was thrown.

( Exception Details: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at Altiris.DirectoryServices.NSDirectoryItems.DirectoryImportTask.DoDirectoryImportTask(String taskid, String importXml, Boolean bUpdateImport) )
( Exception logged from:
   at Altiris.Diagnostics.Logging.EventLog.ReportException(Int32 severity, String strMessage, String category, Exception exception)
   at Altiris.Diagnostics.Logging.EventLog.ReportException(String strMessage, String category, Exception exception)
   at Altiris.NS.Logging.EventLog.ReportException(String strMessage, Exception exception)
   at Altiris.DirectoryServices.NSDirectoryItems.DirectoryImportTask.DoDirectoryImportTask(String taskid, String importXml, Boolean bUpdateImport)
   at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Altiris.NS.TaskManagement.TaskThread.LaunchTask()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.runTryCode(Object userData)
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
 )
( Extra Details:  Type=System.OutOfMemoryException Src=mscorlib )


Environment



Symantec Management Platform 7.0 SP4 HF1
Notification Server 6.06074 SP3 Rx


Cause



Known Issue. Previously when importing groups we would ask LDAP for all objects of a specific type, then once we have that result set we would filter it on the NS to only return the groups we were after.

Now we have implemented filtering in AD connector so that LDAP will only return the groups we are after, during a Security or Distribution group import.


Solution



This issue has been reported to Symantec Development team. A permanent fix will be provided in a future release.


Supplemental Materials

SourceDEFECT
ValueETK 2148157 "AD Connector: Implement LDAP query filtering to only fetch objects we are interested in"


Article URL http://www.symantec.com/docs/TECH140502


Terms of use for this information are found in Legal Notices