TearDown : JetBrains.TestFramework.Utils.TestLoggerListener+TestWrapperException : 10 exceptions. Unexpected exception raised in compiler: The input list was empty. Parameter name: list (ArgumentException) FSharp.Compiler.DiagnosticsLogger+InternalError: The input list was empty. Parameter name: list (ArgumentException)
C:\Users\eugene.auduchinok\AppData\Local\Temp\JetBrains\Wygipiw\Qirymom\Type member - Virtual - Method 01.fs (11,0--11,7)
Unexpected exception seen in compiler: The input list was empty. Parameter name: list (ArgumentException) FSharp.Compiler.DiagnosticsLogger+InternalError: The input list was empty. Parameter name: list (ArgumentException)
C:\Users\eugene.auduchinok\AppData\Local\Temp\JetBrains\Wygipiw\Qirymom\Type member - Virtual - Method 01.fs (11,0--11,7) Unexpected exception raised in compiler: The input list was empty. Parameter name: list (ArgumentException) FSharp.Compiler.DiagnosticsLogger+InternalError: The input list was empty. Parameter name: list (ArgumentException)
C:\Users\eugene.auduchinok\AppData\Local\Temp\JetBrains\Wygipiw\Qirymom\Type member - Virtual - Method 01.fs (1,0--11,7) Unexpected exception seen in compiler: The input list was empty. Parameter name: list (ArgumentException) FSharp.Compiler.DiagnosticsLogger+InternalError: The input list was empty. Parameter name: list (ArgumentException)
C:\Users\eugene.auduchinok\AppData\Local\Temp\JetBrains\Wygipiw\Qirymom\Type member - Virtual - Method 01.fs (1,0--11,7) Unexpected exception seen in compiler: The input list was empty. Parameter name: list System.ArgumentException: The input list was empty. Parameter name: list
at Microsoft.FSharp.Collections.ListModule.Head[T](FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\FSharp.Core\list.fs:line 120
at FSharp.Compiler.CheckExpressions.TcLookupItemThen(TcFileState cenv, OverallTy overallTy, TcEnv env, UnscopedTyparEnv tpenv, Range mObjExpr, Expr objExpr, TType objExprTy, FSharpList`1 delayed, Item item, Range mItem, FSharpList`1 rest, AfterResolution afterResolution) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 8925
at FSharp.Compiler.CheckExpressions.TcNonControlFlowExpr(TcEnv env, FSharpFunc`2 f) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5397
at [email protected](Unit unitVar0) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5071
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.ReraiseIfWatsonable(Exception exn) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 403
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 457
at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 552
at [email protected](Unit unitVar0) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5076
at FSharp.Compiler.DiagnosticsLogger.StackGuard.Guard[T](FSharpFunc`2 f) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 837
at FSharp.Compiler.CheckExpressions.TcExpr(TcFileState cenv, OverallTy ty, TcEnv env, UnscopedTyparEnv tpenv, SynExpr synExpr) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5065
at FSharp.Compiler.CheckExpressions.TcExprThatCantBeCtorBody(TcFileState cenv, OverallTy overallTy, TcEnv env, UnscopedTyparEnv tpenv, SynExpr synExpr) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5126
at FSharp.Compiler.CheckExpressions.TcNormalizedBinding@10359-3.Invoke(Unit unitVar0) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10386
at FSharp.Compiler.CheckExpressions.TcNormalizedBinding(DeclKind declKind, TcFileState cenv, TcEnv env, UnscopedTyparEnv tpenv, TType overallTy, FSharpOption`1 safeThisValOpt, SafeInitData safeInitInfo, FSharpList`1 enclosingDeclaredTypars, ExplicitTyparInfo explicitTyparInfo, NormalizedBinding bind) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10359
at FSharp.Compiler.CheckExpressions.TcNonRecursiveBinding(DeclKind declKind, TcFileState cenv, TcEnv env, UnscopedTyparEnv tpenv, TType ty, SynBinding binding) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10475
at [email protected](UnscopedTyparEnv tpenv, SynBinding b) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10699
at Microsoft.FSharp.Primitives.Basics.List.mapFold[TState,T,TResult](FSharpFunc`2 f, TState acc, FSharpList`1 xs) in D:\a\_work\1\s\src\fsharp\FSharp.Core\local.fs:line 385
at Microsoft.FSharp.Collections.ListModule.MapFold[T,TState,TResult](FSharpFunc`2 mapping, TState state, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\FSharp.Core\list.fs:line 84
at FSharp.Compiler.CheckExpressions.TcLetBinding(TcFileState cenv, Boolean isUse, TcEnv env, ContainerInfo containerInfo, DeclKind declKind, UnscopedTyparEnv tpenv, FSharpList`1 synBinds, Range synBindsRange, Range scopem) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10699
at FSharp.Compiler.CheckExpressions.TcLetBindings(TcFileState cenv, TcEnv env, ContainerInfo containerInfo, DeclKind declKind, UnscopedTyparEnv tpenv, FSharpList`1 binds, Range bindsm, Range scopem) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10842
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-1.Invoke(CancellationToken ct) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckDeclarations.fs:line 4681
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct)
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.ReraiseIfWatsonable(Exception exn) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 403
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 457
at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 552
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckDeclarations.fs:line 4818
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementsNonMutRec@4832-1.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElements@4961-5.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4726-11.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct)
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.ReraiseIfWatsonable(Exception exn) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 403
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 457
at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 552
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckDeclarations.fs:line 4818
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementsNonMutRec@4832-1.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElements@4961-5.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4786-13.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct)
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.ReraiseIfWatsonable(Exception exn) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 403
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 457
at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 552
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckDeclarations.fs:line 4818
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementsNonMutRec@4832-1.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElements@4961-5.Invoke(CancellationToken ct)
at [email protected](CancellationToken ct)
at [email protected](CancellationToken ct)
at [email protected](CancellationToken ct) Unexpected exception seen in compiler: The input list was empty. Parameter name: list System.ArgumentException: The input list was empty. Parameter name: list
at Microsoft.FSharp.Collections.ListModule.Head[T](FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\FSharp.Core\list.fs:line 120
at FSharp.Compiler.CheckExpressions.TcLookupItemThen(TcFileState cenv, OverallTy overallTy, TcEnv env, UnscopedTyparEnv tpenv, Range mObjExpr, Expr objExpr, TType objExprTy, FSharpList`1 delayed, Item item, Range mItem, FSharpList`1 rest, AfterResolution afterResolution) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 8925
at FSharp.Compiler.CheckExpressions.TcNonControlFlowExpr(TcEnv env, FSharpFunc`2 f) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5397
at [email protected](Unit unitVar0) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5071
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.ReraiseIfWatsonable(Exception exn) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 403
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 457
at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 552
at [email protected](Unit unitVar0) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5076
at FSharp.Compiler.DiagnosticsLogger.StackGuard.Guard[T](FSharpFunc`2 f) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 837
at FSharp.Compiler.CheckExpressions.TcExpr(TcFileState cenv, OverallTy ty, TcEnv env, UnscopedTyparEnv tpenv, SynExpr synExpr) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5065
at FSharp.Compiler.CheckExpressions.TcExprThatCantBeCtorBody(TcFileState cenv, OverallTy overallTy, TcEnv env, UnscopedTyparEnv tpenv, SynExpr synExpr) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 5126
at FSharp.Compiler.CheckExpressions.TcNormalizedBinding@10359-3.Invoke(Unit unitVar0) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10386
at FSharp.Compiler.CheckExpressions.TcNormalizedBinding(DeclKind declKind, TcFileState cenv, TcEnv env, UnscopedTyparEnv tpenv, TType overallTy, FSharpOption`1 safeThisValOpt, SafeInitData safeInitInfo, FSharpList`1 enclosingDeclaredTypars, ExplicitTyparInfo explicitTyparInfo, NormalizedBinding bind) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10359
at FSharp.Compiler.CheckExpressions.TcNonRecursiveBinding(DeclKind declKind, TcFileState cenv, TcEnv env, UnscopedTyparEnv tpenv, TType ty, SynBinding binding) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10475
at [email protected](UnscopedTyparEnv tpenv, SynBinding b) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10699
at Microsoft.FSharp.Primitives.Basics.List.mapFold[TState,T,TResult](FSharpFunc`2 f, TState acc, FSharpList`1 xs) in D:\a\_work\1\s\src\fsharp\FSharp.Core\local.fs:line 385
at Microsoft.FSharp.Collections.ListModule.MapFold[T,TState,TResult](FSharpFunc`2 mapping, TState state, FSharpList`1 list) in D:\a\_work\1\s\src\fsharp\FSharp.Core\list.fs:line 84
at FSharp.Compiler.CheckExpressions.TcLetBinding(TcFileState cenv, Boolean isUse, TcEnv env, ContainerInfo containerInfo, DeclKind declKind, UnscopedTyparEnv tpenv, FSharpList`1 synBinds, Range synBindsRange, Range scopem) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10699
at FSharp.Compiler.CheckExpressions.TcLetBindings(TcFileState cenv, TcEnv env, ContainerInfo containerInfo, DeclKind declKind, UnscopedTyparEnv tpenv, FSharpList`1 binds, Range bindsm, Range scopem) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckExpressions.fs:line 10842
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-1.Invoke(CancellationToken ct) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckDeclarations.fs:line 4681
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct)
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.ReraiseIfWatsonable(Exception exn) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 403
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 457
at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 552
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckDeclarations.fs:line 4818
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementsNonMutRec@4832-1.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElements@4961-5.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4726-11.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct)
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.ReraiseIfWatsonable(Exception exn) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 403
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 457
at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 552
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckDeclarations.fs:line 4818
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementsNonMutRec@4832-1.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElements@4961-5.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4786-13.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct)
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.ReraiseIfWatsonable(Exception exn) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 403
at FSharp.Compiler.DiagnosticsLogger.DiagnosticsLoggerExtensions.DiagnosticsLogger.ErrorRecovery(DiagnosticsLogger x, Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 457
at FSharp.Compiler.DiagnosticsLogger.errorRecovery(Exception exn, Range m) in C:\Developer\fsharp-rebase\src\Compiler\Facilities\DiagnosticsLogger.fs:line 552
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementNonMutRec@4632-14.Invoke(CancellationToken ct) in C:\Developer\fsharp-rebase\src\Compiler\Checking\CheckDeclarations.fs:line 4818
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElementsNonMutRec@4832-1.Invoke(CancellationToken ct)
at FSharp.Compiler.CheckDeclarations.TcModuleOrNamespaceElements@4961-5.Invoke(CancellationToken ct)
at [email protected](CancellationToken ct)
at [email protected](CancellationToken ct)
at [email protected](CancellationToken ct)
at FSharp.Compiler.CodeAnalysis.ParseAndCheckFile.CheckOneFile@2613-7.Invoke(CancellationToken ct) in C:\Developer\fsharp-rebase\src\Compiler\Service\FSharpCheckerResults.fs:line 2616
at FSharp.Compiler.CodeAnalysis.ParseAndCheckFile.CheckOneFile@2603-9.Invoke(CancellationToken ct)
During an update of our FCS fork a pair of our tests started failing with a very strange exception deep in the type checker:
More exception info from the test output
After the initial investigation I've discovered that the tests don't fail if I build FCS in Release configuration instead of Debug. My first thought here is it could probably been something to do with code generation and optimizations? Though, I'd expect more problems with optimizations applied than without them.
The repro steps for this issue are rather complicated but at least they seem very stable for me:
net223branch or https://github.com/auduchinok/fsharp./build.cmd -noVisualStudiodotnet build)net223-fcsUpdatebranch of https://github.com/JetBrains/resharper-fsharp./gradlew prepareinrider-fsharpdirectorydotnet restore)https://github.com/JetBrains/resharper-fsharp/blob/0dc3261b163326f0c947bd19a2cd5599ec2ed9b1/ReSharper.FSharp/test/src/FSharp.Tests/Refactorings/RenameTest.fs#L209-L210
The tests call
ParseAndCheckFileInProjectmultiple times and at some point it makes the compiler fail with the exceptions from the above.The SDK used to build FCS is this: