Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.

Tag & Exception Tab Issue (CCS 10.50.530.20500 [PCU500])

Created: 25 Apr 2013 • Updated: 25 Apr 2013
Language Translations
Tobias Lanz's picture
+8 8 Votes
Login to vote

Recently I stumbled on a Tab Loading Issue inside the Asset view.

The Mainproblem appeared to be the Tag Tab which was not loading as expected.

180px_Tag_and_Exception_Tab_not_Loading.jpg

First things first, I checked my log (AppServer and SymConsole).
After a few Seconds i found the related Log entries.

Appserver Log was showing the following:

 

24.04.2013 06:50 24.04.2013 08:50 <appservername>Error Tagging SymConsole 2476 1 GetTagsFromObjectGuid 0 1 Error in GetTagsFromObjectGuid
24.04.2013 06:50 24.04.2013 08:50 <appservername>Error Tagging SymConsole 2476 1 Search 0 1 "System.ArgumentNullException: Value cannot be null.
Parameter name: searchFilter
at Symantec.CCS.Business.Core.BusinessBase`1.Search(String containerUniqueId
at Symantec.CSM.Business.Tagging.TagBusiness.GetTagsFromObjectGuid(IEnumerable`1 objectGuids)"
24.04.2013 06:50 24.04.2013 08:50 <appservername>Error Tag management SymConsole 2476 1 Deserialize 0 1 "Value cannot be null.
Parameter name: searchFilter"
24.04.2013 06:50 24.04.2013 08:50 <appservername>Error Symantec.Core SymConsole 2476 13 MoveNext 0 0 "RetryHelper.Call(Search) - failed [An operations error occurred.]
at System.DirectoryServices.SearchResultCollection.ResultsEnumerator.MoveNext()
at Symantec.CSM.Directory.LdapOperations.Search(String strObjectDN
at Symantec.CSM.Directory.Directory.<>c__DisplayClass78.<Search>b__76()
at Symantec.RetryHelper.Call[TReturnType](String retryName
24.04.2013 06:50 24.04.2013 08:50 <appservername>Warning Symantec.Core SymConsole 2476 13 Call 0 0 "RetryHelper.Call(Search) - [An operations error occurred.] : sleeping [00:00:01.4380000]
24.04.2013 06:50 24.04.2013 08:50 <appservername>Error Symantec.Core SymConsole 2476 13 MoveNext 0 0 "RetryHelper.Call(Search) - failed [An operations error occurred.]

with another 9 Same "moveNext 0 0 "RetryHelper.Call(Search) entries.

Console Log displayed kind of the same "stuff": 

24.04.2013 06:55 24.04.2013 08:55 <appservername> Error Tagging SymConsole 2476   13 GetAllTagsOfBusinessObject   0 0 Error in GetAllTagsOfBusinessObject for: CN=011eaff2-307a-4f31-85a9-502286219090,CN=Solaris 10,CN=Solaris,CN=ESM Structure,CN=Asset System,CN=Asset Management,CN=BusinessObjects,O=Symantec
24.04.2013 06:55 24.04.2013 08:55 <appservername> Error Tagging SymConsole 2476   13 Call   0 0 System.Runtime.InteropServices.COMException (0x80072020): An operations error occurred.

   at Symantec.RetryHelper.Call[TReturnType](String retryName, RetryOperation`1 retryOperation, FailureOperation failureOperation, String context)

   at Symantec.CSM.Directory.Directory.Search(String strObjectDN, String strAttributeScopeQuery, String strFilter, List`1 listAttributesToRetrieve, Int32 nItemsToReturn)

   at Symantec.CCS.Business.Core.BusinessBase`1.Search(String strObjectDN, String strAttributeScopeQuery, String strFilter, List`1 listAttributesToRetrieve, Int32 nItemsToReturn)

   at Symantec.CSM.Business.Tagging.TagBusiness.GetAllTagsOfBusinessObject(String businessObjectDn, List`1 attributesToRetrieve, DataSet& tags)

24.04.2013 06:55 24.04.2013 08:55 <appservername> Error Assets SymConsole 2476   13 Load   0 0 Exception has been thrown by the target of an invocation.

 

24.04.2013 08:07 24.04.2013 10:07 <appservername> Error Symantec.Core SymConsole 2476   15 MoveNext   0 0 RetryHelper.Call(Search) - failed [An operations error occurred.], context [Directory], stop retry flag [False], failed retry counter [0 of 10] : System.Runtime.InteropServices.COMException (0x80072020): An operations error occurred.

   at System.DirectoryServices.SearchResultCollection.ResultsEnumerator.MoveNext()

   at Symantec.CSM.Directory.LdapOperations.Search(String strObjectDN, Boolean bSearchSubtree, String strAttributeScopeQuery, String strFilter, List`1 listAttributesToRetrieve, Int32 nItemsToReturn)

   at Symantec.CSM.Directory.Directory.<>c__DisplayClass78.<Search>b__76()

   at Symantec.RetryHelper.Call[TReturnType](String retryName, RetryOperation`1 retryOperation, FailureOperation failureOperation, String context)

 

 Apparent you can see the "root of all Evil"

Error in GetAllTagsOfBusinessObject for: CN=011eaff2-307a-4f31-85a9-502286219090,CN=Solaris 10,CN=Solaris,CN=ESM Structure,CN=Asset System,CN=Asset Management,CN=BusinessObjects,O=Symantec

GetAllTagsOfBusinessObject. Okay, Let me check.

#IMPORTANT NOTE
#(Symantec does not recommend browsing inside ADAM, please make sure you know what you're doing. I don't take any responsibility)
#END NOTE

After a few browses inside ADAM I found the attribute "symc-csm-BusinessObject-Tag". 
It was showing somithing like the following:

CN=ddcc0269-20c8-4108-ba49-afbf443079e8\0ADEL:24b1fd12-b70c-47e5-9231-cd550f86e926,CN=Deleted Objects,O=Symantec

Since i now that there never existed a "CN=Deleted Objects" container I obviously found the dirty vermin. A CN called CN=ddcc0269-20c8-4108-ba49-afbf443079e8\0ADEL:24b1fd12-b70c-47e5-9231-cd550f86e926 also never existed. At the moment i don't know what caused the Issue. Maybe Symantec Support will puzzle out (Case#: 04196190).

Anyway. My Problem was solved Setting the Value to "<not set>". As you can imagine, i Scripted all the Work for my nearly 2000 Unix Assets.
Luckily i didn't set very much tags on the Assets until now. Or even if i had set more of them - it was done by recon rules - no worries at my site.

A few Lines of code made my Day. Contact me for further Help. I'm not posting the "Full" Script due to respect of Symantec Support.

$OSs = @( "enlightened" )
$OSs | % { $OS="$_"
$ConnectString = [adsi]"enlightened"
$strFilter = "(ObjectClass=symc-csm-AssetSystem-Asset-ESM-Agent)"

$objSearcher = New-Object adsisearcher([adsi]$ConnectString,"($strFilter)")
$objSearcher.SearchScope = "1"
$objSearcher.SearchRoot = $ConnectString
$objSearcher.PropertiesToLoad.clear()
$objSearcher.PropertiesToLoad.AddRange(('CN', 'symc-csm-BusinessObject-Tag'))

$SearchResult = $objSearcher.FindAll()

$SearchResult | % {
$Asset = [ADSI]$_.GetDirectoryEntry()
$Asset."symc-csm-BusinessObject-Tag"
$tmpString = $Asset."symc-csm-BusinessObject-Tag".ToString()
if ( $tmpString.Contains("CN=Deleted Objects") ) { $Asset."symc-csm-BusinessObject-Tag".Value = $null
$Asset.CommitChanges()
}
}
}

smiley