none
SOA Net 4 job failing on Windows Server 2012 R2 HPC cluster with exit code -2146232576 RRS feed

  • Question

  • We have built a new Microsoft HPC cluster, consisting of Server 2012 R2 machines, to check our applications compatability with this platform. It already works with HPC 2008 R2 and HPC 2012 when running on Server 2012, but get the above error when running on the cluster built on Server 2012 R2 machines.

    Googling the error leads me to believe it's related to a problem with loading the CLR or .Net framework, which I can believe, but can't seem to fix. I suspect it's due to Server 2012 R2 only shipping with .Net 4.5.1 by default - I have installed the .Net 3.5 framework, which gives me the DLLs my app requires, but still get the above error.

    The initial error was "Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information." I am very used to this error, and the usual way to get around it is to add a config file telling the framework to use the legacy runtime activation policy, as per this blog.

    However, after doing so, I get the following behaviour. When the job runs, rather than seeing 1 task per core in the grid in the Cluster Manager as normal, more and more tasks keep appearing until the job is cancelled. Each is instantly failing with the message "Task failed during execution with exit code -2146232576. Please check task's output for error details.", and I can't find any more output for further details.

    I am positive this is a configuration issue with HPC and the Net framework, as I can install my app on one of the Server 2012 R2 machines and run it locally with no issues, as well as it still working on our other grids. I just can't find any more info about what to change to fix it - any help much appreciated.

    Note that I get the same error when running the sample services supplied by Microsoft, so I know it's nothing specific to my application.

    Wednesday, April 23, 2014 2:02 PM

All replies

  • error -2146232576 should be initialization error:unable to load the clr.

    I tried to load .net3.5 SOA service in Server 2012 R2, it works in my cluster.

    So suggest you:
    1. find SOA log in the compute node (server 2012 R2)
       .bin file in "C:\Program Files\Microsoft HPC Pack 2012\Data\LogFiles\SOA"
       use hpctrace to unpack the file
    2. use Fuslogvw.exe to trace HPCServiceHost
       http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.110).aspx

    Thursday, April 24, 2014 8:13 AM
  • Thanks for the information about the log files, I did not know about that. When I looked in that directory, there were a couple of log files there, but the contents were all from the errors I encountered up until this point. Now when I run a job, no new information is being generated in a log file - in fact, if I move the two that were there out of the directory, no new log files are being created, which is a bit worrying. I tried changing the "SpareCount" setting in cosmoslogger.ini from 1 to 10, guessing that would mean more log files would be used before overwriting existing ones, but I'm not sure it's done anything.

    I do see 2 errors in fuslogvw, but they are both for HpcAzureDiagnosticHost.XmlSerializers.dll, which is odd because I'm not doing anything to do with Azure that I'm aware of. I was disregarding them as I see similar errors in a SOA loading test on my working cluster which complains about not finding "Microsoft.WindowsAzure.Storage.dll", which again I am not using, but that loading test passes. The SOA loading test on the new cluster fails, but it doesn't give any reason why - there is the usual VC runtime redistributable table, then an Information entry "Load SOA service: myService". After that there should be another Information entry saying "Success", but on the R2 cluster there is nothing more - no errors, nothing.


    Thursday, April 24, 2014 10:34 AM
  • Basically, HPC SOA supports SOA client and server API level compatibility, but not SOA service level,  using useLegacyV2RuntimeActivationPolicy is a customer workaround.

    I strongly suggest you recompile the service binary using .NET Framework 4 or a later version, so that it can work better with HPC 2012 R2.

    Friday, April 25, 2014 1:42 AM