none
HPC Diagnostics Fail with ArgumentException

    Question

  • I've got a small Windows HPC Server 2008 R2 cluster for testing with a new application with which I am having some issues.  I'm running through the diagnostics to validate everything (particularly MPI) is working correctly, but I am receiving an error that I am not sure how to resolve.   The Results tab for the MPI:PingPong and Network Ping diagnostics run contains the following:

    Pre Step run failed due to  : 
    Unhandled Exception: System.ArgumentException: Item has already been added. Key in dictionary: 'f3d_home'  Key being added: 'f3d_home'
       at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add)
       at System.Collections.Specialized.StringDictionary.Add(String key, String value)
       at System.CodeDom.Compiler.Executor.ExecWaitWithCaptureUnimpersonated(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine)
       at System.CodeDom.Compiler.Executor.ExecWaitWithCapture(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine)
       at Microsoft.CSharp.CSharpCodeGenerator.Compile(CompilerParameters options, String compilerDirectory, String compilerExe, String arguments, String& outputFile, Int32& nativeReturnValue, String trueArgs)
       at Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames)
       at Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources)
       at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources)
       at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources)
       at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
       at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
       at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
       at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
       at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
       at Microsoft.Hpc.Diagnostics.Helpers.StepResult.XmlSerializeToStream(Stream stm)
       at Microsoft.Hpc.Diagnostics.Helpers.StepResult.XmlSerializeToFile(String path)
       at Microsoft.Hpc.Diagnostics.Host.TestCommand.Execute(IDiagnosticProgram owner, CommandList parentCmdList, List`1 args)
       at Microsoft.Hpc.Diagnostics.Shared.CommandList.Execute(IDiagnosticProgram owner, CommandList parentCmdList, List`1 args)
       at Microsoft.Hpc.Diagnostics.Shared.CommandList.Execute(IDiagnosticProgram owner, CommandList parentCmdList, List`1 args)
       at Microsoft.Hpc.Diagnostics.Host.Program.Run(String[] argsIn)
       at Microsoft.Hpc.Diagnostics.Host.Program.Main(String[] args)
    

    I tried the Network Configuration Report as something simple to run, and I got the following in the Results tab:

    Post Step run failed due to : System.Exception: An error occurred while generating the result XML file. ---> System.ArgumentException: Item has already been added. Key in dictionary: 'f3d_home'  Key being added: 'f3d_home'
       at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add)
       at System.Collections.Specialized.StringDictionary.Add(String key, String value)
       at System.CodeDom.Compiler.Executor.ExecWaitWithCaptureUnimpersonated(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine)
       at System.CodeDom.Compiler.Executor.ExecWaitWithCapture(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine)
       at Microsoft.CSharp.CSharpCodeGenerator.Compile(CompilerParameters options, String compilerDirectory, String compilerExe, String arguments, String& outputFile, Int32& nativeReturnValue, String trueArgs)
       at Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames)
       at Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources)
       at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources)
       at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources)
       at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
       at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
       at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
       at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
       at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
       at Microsoft.Hpc.Diagnostics.Helpers.TestResult.XmlSerializeToFile(String path)
       at Microsoft.Hpc.Diagnostics.Host.TestResultRender.RenderTestResult(TestResult testResult)
       --- End of inner exception stack trace ---
       at Microsoft.Hpc.Diagnostics.Host.TestResultRender.RenderTestResult(TestResult testResult)
       at Microsoft.Hpc.Diagnostics.Host.NetworkConfigurationReport.ExecutePostStep(IDiagnosticProgram owner, List`1 nodes, List`1 args)
       at Microsoft.Hpc.Diagnostics.Host.TestCommand.Execute(IDiagnosticProgram owner, CommandList parentCmdList, List`1 args)
    

    The 'f3d_home' item is an environment variable associated with the vendor app I'm working with. 

    I was running SP0 initially but have since upgraded to SP3 to validate that the problem was not addressed in a hotfix somewhere.  At this point, I'm stumped.  Any thoughts or suggestions are appreciated.

    Jamie

    Thursday, December 01, 2011 7:22 PM

All replies