Skip to content

System.IO.Compression.Zstandard.dll missing from benchmark testhost payload #124952

@ilonatommy

Description

@ilonatommy

All Zstandard benchmarks fail with FileNotFoundException during GlobalSetup — the System.IO.Compression.Zstandard.dll assembly is not present in the testhost payload. This affects every runtime and every OS. 140+ failures, zero successes. To merge dotnet/performance#5114, the assembly was temporarily removed from benchmark project.

Failing Configurations

Job OS Runtime Failures Exit Code
coreclr JIT windows x64 perfviper net11.0 Windows CoreCLR 36 -1
coreclr JIT NoR2R windows x64 perfviper net11.0 Windows CoreCLR 29 -1
coreclr JIT linux x64 perfviper net11.0 Linux CoreCLR 36 255
mono JIT linux x64 perfviper net11.0 Linux Mono JIT 3 255
mono Interpreter linux x64 perfviper net11.0 Linux Mono Interp 36 255

Error (CoreCLR Windows — representative)

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.IO.FileNotFoundException: Could not load file or assembly
      'System.IO.Compression.Zstandard, Version=11.0.0.0, Culture=neutral,
       PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
   at System.IO.Compression.Zstandard.CreateStream(Stream stream, CompressionLevel level, Boolean leaveOpen) in ...\Zstandard.cs:line 16
   at System.IO.Compression.CompressedFile..ctor(String fileName, CompressionLevel compressionLevel, Func`4 factory) in ...\CompressedFile.cs:line 25
   at System.IO.Compression.CompressionStreamPerfTestBase.Setup() in ...\CompressionStreamPerfTestBase.cs:line 48
// Benchmark Process 10828 has exited with code -1.

Error (Mono JIT Linux)

System.IO.FileNotFoundException: Could not load file or assembly
      'System.IO.Compression.Zstandard, Version=11.0.0.0, Culture=neutral,
       PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
   at System.IO.Compression.CompressedFile..ctor(...) in ...\CompressedFile.cs:line 25
   at System.IO.Compression.CompressionStreamPerfTestBase.Setup() in ...\CompressionStreamPerfTestBase.cs:line 48
// Benchmark Process 679646 has exited with code 255.

Affected Benchmarks

36 unique benchmarks — 6 methods × 3 files × 2 compression levels. All produce NA results:

  • Methods: Compress, Compress_WithState, Compress_WithoutState, Decompress, Decompress_WithState, Decompress_WithoutState
  • Files: alice29.txt, sum, TestDocument.pdf
  • Levels: Optimal, Fastest

Root Cause

System.IO.Compression.Zstandard.dll is a new .NET 11 library. The assembly is listed in NetCoreAppLibrary.props as part of the shared framework, but the testhost build/packaging does not include it (or its native libzstd dependency) in the payload at:

  • CoreCLR: dotnet/shared/Microsoft.NETCore.App/{version}/
  • Mono: dotnet-mono/shared/Microsoft.NETCore.App/{version}/

Environment

.NET SDK 11.0.100-preview.3.26124.102
BenchmarkDotNet v0.16.0-custom.20260225.100

full_log.txt

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions