Rank: Newbie
Groups: Registered
Joined: 10/23/2025(UTC) Posts: 3 Location: United States of America
|
Remco;18434 wrote:Hi, thanks for sharing this issue.
Are you able to share the stack trace you're receiving? (Even if its the same as above, it's a data point that helps).
The above issue was most definitely solved in the build above. It was precisely isolated and I'm certain there hasn't been a regression. This means that if you're seeing this same error, it's another problem with the same symptom.
Unfortunately, it's impossible to isolate an issue of this kind without a shared codebase that can reproduce it. This is why it took 6 years to solve the issue above :(
The issue above was surfaced by a project producing an assembly with a very specific number of elements in each of the metadata tables (i.e. 8191 method definitions). It might be worth experimenting with this on your side by adding dummy methods/classes/attributes to see if you can use this to suppress it. Here is the stack trace I am receiving: Code: NCrunch has encountered an internal error: System.ArgumentOutOfRangeException: Arrays larger than 2GB are not supported. Parameter name: sourceIndex at System.Array.Copy(Array sourceArray, Int64 sourceIndex, Array destinationArray, Int64 destinationIndex, Int64 length) at nCrunch.Compiler.Cil.Symbols.Legacy.CilLegacyPdbStreamDirectory.readStream(CilAddress rawPdbBase, CilAddress streamPagesArrayAddress, UInt32 totalStreamLengthInBytes, UInt32 pageCount) at nCrunch.Compiler.Cil.Symbols.Legacy.CilLegacyPdbStreamDirectory..ctor(CilAddress rawPdbBase, CilLegacyPdbHeader header) at nCrunch.Compiler.Cil.Symbols.Legacy.CilLegacySymbolsDataSource..ctor(Byte[] pdbFileContent, UInt32 entryPointToken) at nCrunch.Compiler.Cil.CilAssembly.Load(FilePath assemblyFile, CilContext context) at nCrunch.Compiler.Cil.CachedCilAssembly..ctor(FilePath assemblyFilePath, CilContext context, Boolean isInstrumentationTarget) at nCrunch.Compiler.Cil.CilSession.LoadAssembly(FilePath assemblyFilePath, Boolean isInstrumentationTarget) at nCrunch.Compiler.StaticManipulation.BuiltCilAssembly..ctor(FilePath builtAssemblyFilePath, IList`1 adjustedAssemblyReferences, Boolean instrumentForPerformanceMeasurement, ComponentInstrumentationParameters instrumentationParameters, FilePath expectedForegroundBuildOutputPath) at nCrunch.Compiler.RemoteBuildRunner.<>c__DisplayClass27_0.<processBuiltAssembly>b__0() at nCrunch.Common.PerformanceTracking.PerfTracker.TrackActivity(String name, Action activity) at nCrunch.Compiler.RemoteBuildRunner.processBuiltAssembly(ComponentInstrumentationParameters instrumentationParameters, BuildOutput output, IBackgroundTaskProcessor backgroundTaskProcessor) at nCrunch.Common.PerformanceTracking.PerfTracker.TrackActivity(String name, Action activity) at nCrunch.Core.BuildManagement.BuildEnvironment.Build(SnapshotComponent snapshotComponentToBuild, IList`1 referencedComponents, GridClientId gridClientId, IList`1 customEnvironmentVariables, IPlatformBuildExtender extender, Guid taskId, GridClientDescription clientDescription, Boolean extractCoverageReportStructure)
I have since upgraded to the latest NCrunch, and the error is still there, even with RDI turned on. The error only happens in one particular project file. As you suggested, I was able to alleviate the issue by adding a new class to this project that contains 1 method that does nothing. When I am less busy I will try recreating the issue in a new solution.
|