Summary
This article documents the behavior of the bug observed in FNMS-48054. A permanent resolution for this issue has been added to FlexNet Manager Suite 2017 R2
Symptoms
The reconcile is failing at the ArchiveOracleLMSAuditEvidence stage with an error similar to the following appearing in the importer log:
ArchiveOracleLMSAuditEvidence
2017-06-29 03:07:29,336 [ERROR] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.IOException: The process cannot access the file 'dlxzmj1c.txt' because it is being used by another process.
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive, Boolean throwOnTopLevelDirectoryNotFound)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at ManageSoft.Compliance.Importer.Procedures.ManageSoft.OracleLMSAuditEvidence.Archive()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at ManageSoft.Compliance.Importer.Logic.XML.ProcedureItem.ExecuteAssembly()
at ManageSoft.Compliance.Importer.Logic.XML.Writer.Execute(IExecutionContext context)
at ManageSoft.Compliance.Importer.Logic.ComplianceImporter.ExecuteWriters(ComplianceReader p_ComplianceReader, IExecutionContext context, String singleConnectionIdentifier)
Cause
The error is cause by a computer name in the "ImportedComputerScriptResult" table having an upper and lower entry in the table for the same device.
Steps To Reproduce
The following query can be ran on the FNMS compliance database to locate if there are two device names that contain a different case.
SELECT * FROM ImportedComputerScriptResult imcs
INNER JOIN Importedcomputer ic
ON ic.ExternalID = imcs.ExternalComputerID
Order by ComputerName
Resolution
This behavior has been identified as a bug. This has been reported in FNMS-48054 with a permanent resolution added to FlexNet Manager Suite 2017 R2
Workaround
The attached "FNMS-48054 - ArchiveOracleLMSAuditEvidence" can be applied to an FNMS 2017 R1 system to resolve the issue. The zip contains a readme that has the steps that can be used to apply the fix.