Skip to content

Using the netcore compiler appears to cause the determinism tests to fail #16969

@KevinRansom

Description

@KevinRansom

As part of this PR, I wanted to examine the effect of using a coreclr proto compiler on windows rather than the desktop compiler which is what we currently use.

Everything worked well, except the determinism tests failed with the coreclr version of the proto compiler.

Repro:
.\eng\test-determinism.cmd -configuration Debug

When proto is net472 observe this success:

        Verified Microsoft.FSharp.Compiler\Debug\net8.0\ref\Microsoft.FSharp.Compiler.dll
        Verified Microsoft.FSharp.Compiler\Debug\net8.0\refint\Microsoft.FSharp.Compiler.dll
        Verified Microsoft.FSharp.Compiler\Debug\net8.0\apphost.exe
        Verified Microsoft.FSharp.Compiler\Debug\net8.0\Microsoft.FSharp.Compiler.dll
        Verified Microsoft.FSharp.Compiler\Debug\net8.0\Microsoft.FSharp.Compiler.sourcelink.json
Testing took 00:00:03.5693053

When proto is net8.0 observe this failure:

       Verified fsi\Debug\net8.0\fsi.dll
        Verified fsi\Debug\net8.0\fsi.sourcelink.json
        ERROR! Microsoft.FSharp.Compiler\Debug\net8.0\ref\Microsoft.FSharp.Compiler.dll hashes don't match
        ERROR! Microsoft.FSharp.Compiler\Debug\net8.0\refint\Microsoft.FSharp.Compiler.dll hashes don't match
        Verified Microsoft.FSharp.Compiler\Debug\net8.0\apphost.exe
        Verified Microsoft.FSharp.Compiler\Debug\net8.0\Microsoft.FSharp.Compiler.dll
        Verified Microsoft.FSharp.Compiler\Debug\net8.0\Microsoft.FSharp.Compiler.sourcelink.json
Determinism failed for the following binaries:
        fsc.dll (old hash: 65AD88F9301BEC37A18123DA05840B8F; new hash: 6D19286DF666D9EB7CC3E66A5B6498F4)
        fsc.dll (old hash: 65AD88F9301BEC37A18123DA05840B8F; new hash: 6D19286DF666D9EB7CC3E66A5B6498F4)
        fsi.dll (old hash: EC9E217AB8ED4C13BC3C2335CAEAD97C; new hash: CF1A1877A1B65F2AFE5330AB22C62401)
        fsi.dll (old hash: EC9E217AB8ED4C13BC3C2335CAEAD97C; new hash: CF1A1877A1B65F2AFE5330AB22C62401)
        Microsoft.FSharp.Compiler.dll (old hash: 5B55EC11510A04804735A2588FFCC046; new hash: 00D569182E951A55FF1080CDFF8FBC20)
        Microsoft.FSharp.Compiler.dll (old hash: 5B55EC11510A04804735A2588FFCC046; new hash: 00D569182E951A55FF1080CDFF8FBC20)
Archiving failure information

Expected:

  1. Test success is independent of proto compiler. I.e build the product and test it.
  2. Test legs for both net40 and net472 on windows builds

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions