Skip to content

Taskbuilder.fs compiler regression  #9447

@NinoFloris

Description

@NinoFloris

Building against master (4dd0741) crashes fsc with:

Process terminated. Assertion failed.
Unexpected exception raised in compiler: Undefined or unsolved type variable:  ^_?20753
  FSharp.Compiler.ErrorLogger+InternalError: Undefined or unsolved type variable:  ^_?20753/Users/nfloris/Projects/TaskBuilder.fs/TaskBuilder.fs (98,20--98,23) IsSynthetic=false
  at FSharp.Compiler.ErrorLogger.ErrorLoggerExtensions.ErrorLogger.ErrorR(ErrorLogger x, Exception exn) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/ErrorLogger.fs:line 372
  at FSharp.Compiler.IlxGen.TypeReprEnv.Item(Typar tp, range m) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 395
  at FSharp.Compiler.IlxGen.GenTypeAux(ImportMap amap, range m, TypeReprEnv tyenv, VoidNotOK voidOK, PtrsOK ptrsOK, TType ty) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 545
  at FSharp.Compiler.IlxGen.GenType(ImportMap amap, range m, TypeReprEnv tyenv, TType ty) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 608
  at FSharp.Compiler.IlxGen.AllocLocalVal(cenv cenv, CodeGenBuffer cgbuf, Val v, IlxGenEnv eenv, FSharpOption`1 repr, Mark scopeMarks_0, Mark scopeMarks_1) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6575
  at FSharp.Compiler.IlxGen.AllocValForBind(cenv cenv, CodeGenBuffer cgbuf, Mark scopeMarks_0, Mark scopeMarks_1, IlxGenEnv eenv, Binding _arg8) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6606
  at FSharp.Compiler.IlxGen.AllocStorageForBinds@6585.Invoke(IlxGenEnv eenv, Binding arg40@) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6585
  at Microsoft.FSharp.Primitives.Basics.List.mapFold[TState,T,TResult](FSharpFunc`2 f, TState acc, FSharpList`1 xs) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/FSharp.Core/local.fs:line 391
  at Microsoft.FSharp.Collections.ListModule.MapFold[T,TState,TResult](FSharpFunc`2 mapping, TState state, FSharpList`1 list) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/FSharp.Core/list.fs:line 85
  at FSharp.Compiler.IlxGen.AllocStorageForBinds(cenv cenv, CodeGenBuffer cgbuf, Mark scopeMarks_0, Mark scopeMarks_1, IlxGenEnv eenv, FSharpList`1 binds) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6585
  at FSharp.Compiler.IlxGen.AllocStorageForBind(cenv cenv, CodeGenBuffer cgbuf, Mark scopeMarks_0, Mark scopeMarks_1, IlxGenEnv eenv, Binding bind) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6581
  at FSharp.Compiler.IlxGen.GenLinearExpr(cenv cenv, CodeGenBuffer cgbuf, IlxGenEnv eenv, EmitDebugPointState sp, Expr expr, sequel sequel, Boolean preSteps, FSharpFunc`2 contf) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 2675
  at FSharp.Compiler.IlxGen.GenExprAux(cenv cenv, CodeGenBuffer cgbuf, IlxGenEnv eenv, EmitDebugPointState sp, Expr expr, sequel sequel) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 2293
  at FSharp.Compiler.IlxGen.GenExprWithStackGuard(cenv cenv, CodeGenBuffer cgbuf, IlxGenEnv eenv, EmitDebugPointState sp, Expr expr, sequel sequel) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 2258
  at FSharp.Compiler.IlxGen.GenExpr(cenv cenv, CodeGenBuffer cgbuf, IlxGenEnv eenv, EmitDebugPointState sp, Expr expr, sequel sequel) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 2243
  at FSharp.Compiler.IlxGen.CodeGenMethodForExpr@2439.Invoke(CodeGenBuffer cgbuf, IlxGenEnv eenv) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 2439
  at FSharp.Compiler.IlxGen.CodeGenThen(cenv cenv, AssemblyBuilder mgbuf, FSharpList`1 entryPointInfo, String methodName, IlxGenEnv eenv, Int32 alreadyUsedArgs, FSharpFunc`2 codeGenFunction, range m) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 1977
  at FSharp.Compiler.IlxGen.CodeGenMethod(cenv cenv, AssemblyBuilder mgbuf, FSharpList`1 entryPointInfo, String methodName, IlxGenEnv eenv, Int32 alreadyUsedArgs, FSharpFunc`2 codeGenFunction, range m) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 2017
  at FSharp.Compiler.IlxGen.CodeGenMethodForExpr(cenv cenv, AssemblyBuilder mgbuf, EmitDebugPointState spReq, FSharpList`1 entryPointInfo, String methodName, IlxGenEnv eenv, Int32 alreadyUsedArgs, Expr expr0, sequel sequel0) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 2437
  at FSharp.Compiler.IlxGen.GenMethodForBinding(cenv cenv, AssemblyBuilder mgbuf, IlxGenEnv eenv, Val v, ILMethodSpec mspec, Boolean hasWitnessEntry, Boolean generateWitnessArgs, ILMemberAccess access, FSharpList`1 ctps, FSharpList`1 mtps, FSharpList`1 witnessInfos, FSharpList`1 curriedArgInfos, FSharpList`1 paramInfos, FSharpList`1 argTys, ArgReprInfo retInfo, ValReprInfo topValInfo, FSharpOption`1 ctorThisValOpt, FSharpOption`1 baseValOpt, FSharpList`1 methLambdaTypars, FSharpList`1 methLambdaVars, Expr methLambdaBody, TType returnTy) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6148
  at FSharp.Compiler.IlxGen.generator@5589-1.Invoke(cenv cenv, AssemblyBuilder mgbuf, IlxGenEnv eenv, Tuple`8 tupledArg) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 5589
  at FSharp.Compiler.IlxGen.GenBindingAfterDebugPoint(cenv cenv, CodeGenBuffer cgbuf, IlxGenEnv eenv, EmitDebugPointState sp, Binding _arg7, FSharpOption`1 startScopeMarkOpt) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 5592
  at FSharp.Compiler.IlxGen.GenLetRecBindings@5501-2.Invoke(Set`2 forwardReferenceSet, Binding bind) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 5502
  at Microsoft.FSharp.Collections.ListModule.Fold[T,TState](FSharpFunc`2 folder, TState state, FSharpList`1 list) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/FSharp.Core/list.fs:line 222
  at FSharp.Compiler.IlxGen.GenLetRecBindings(cenv cenv, CodeGenBuffer cgbuf, IlxGenEnv eenv, FSharpList`1 allBinds, range m) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 5501
  at FSharp.Compiler.IlxGen.GenModuleBinding(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, range m, ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6860
  at FSharp.Compiler.IlxGen.GenModuleDef@6841-1.Invoke(ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDefs@6832.Invoke(ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6832
  at FSharp.Compiler.IlxGen.GenModuleDefs(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, FSharpList`1 mdefs) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6832
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6853
  at FSharp.Compiler.IlxGen.GenModuleBinding(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, range m, ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6884
  at FSharp.Compiler.IlxGen.GenModuleDef@6841-1.Invoke(ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDefs@6832.Invoke(ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6832
  at FSharp.Compiler.IlxGen.GenModuleDefs(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, FSharpList`1 mdefs) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6832
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6853
  at FSharp.Compiler.IlxGen.GenModuleBinding(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, range m, ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6884
  at FSharp.Compiler.IlxGen.GenModuleDef@6841-1.Invoke(ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDefs@6832.Invoke(ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6832
  at FSharp.Compiler.IlxGen.GenModuleDefs(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, FSharpList`1 mdefs) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6832
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6853
  at FSharp.Compiler.IlxGen.GenModuleBinding(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, range m, ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6884
  at FSharp.Compiler.IlxGen.GenModuleDef@6841-1.Invoke(ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleBinding(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, range m, ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6884
  at FSharp.Compiler.IlxGen.GenModuleDef@6841-1.Invoke(ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleBinding(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, range m, ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6884
  at FSharp.Compiler.IlxGen.GenModuleDef@6841-1.Invoke(ModuleOrNamespaceBinding x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6841
  at FSharp.Compiler.IlxGen.GenModuleDefs@6832.Invoke(ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6832
  at FSharp.Compiler.IlxGen.GenModuleDefs(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, FSharpList`1 mdefs) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6832
  at FSharp.Compiler.IlxGen.GenModuleDef(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExpr x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6853
  at FSharp.Compiler.IlxGen.GenModuleExpr@6822.Invoke(Tuple`2 scopeMarks) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6829
  at FSharp.Compiler.IlxGen.LocalScope[a](String nm, CodeGenBuffer cgbuf, FSharpFunc`2 f) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 2044
  at FSharp.Compiler.IlxGen.GenModuleExpr(cenv cenv, CodeGenBuffer cgbuf, QualifiedNameOfFile qname, List`1 lazyInitInfo, IlxGenEnv eenv, ModuleOrNamespaceExprWithSig x) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6822
  at FSharp.Compiler.IlxGen.GenTopImpl@6947-1.Invoke(CodeGenBuffer cgbuf, IlxGenEnv eenv) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6948
  at FSharp.Compiler.IlxGen.CodeGenThen(cenv cenv, AssemblyBuilder mgbuf, FSharpList`1 entryPointInfo, String methodName, IlxGenEnv eenv, Int32 alreadyUsedArgs, FSharpFunc`2 codeGenFunction, range m) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 1977
  at FSharp.Compiler.IlxGen.CodeGenMethod(cenv cenv, AssemblyBuilder mgbuf, FSharpList`1 entryPointInfo, String methodName, IlxGenEnv eenv, Int32 alreadyUsedArgs, FSharpFunc`2 codeGenFunction, range m) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 2017
  at FSharp.Compiler.IlxGen.GenTopImpl(cenv cenv, AssemblyBuilder mgbuf, FSharpOption`1 mainInfoOpt, IlxGenEnv eenv, TypedImplFile _arg10, FSharpFunc`2 optimizeDuringCodeGen) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 6944
  at FSharp.Compiler.IlxGen.CodegenAssembly(cenv cenv, IlxGenEnv eenv, AssemblyBuilder mgbuf, FSharpList`1 fileImpls) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 7908
  at FSharp.Compiler.IlxGen.GenerateCode(cenv cenv, AnonTypeGenerationTable anonTypeTable, IlxGenEnv eenv, TypedAssemblyAfterOptimization _arg1, FSharpList`1 assemAttribs, FSharpList`1 moduleAttribs) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 7971
  at FSharp.Compiler.IlxGen.IlxAssemblyGenerator.GenerateCode(IlxGenOptions codeGenOpts, TypedAssemblyAfterOptimization typedAssembly, FSharpList`1 assemAttribs, FSharpList`1 moduleAttribs) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/IlxGen.fs:line 8168
  at FSharp.Compiler.CompileOptions.GenerateIlxCode(IlxGenBackend ilxBackend, Boolean isInteractiveItExpr, Boolean isInteractiveOnMono, TcConfig tcConfig, TopAttribs topAttrs, TypedAssemblyAfterOptimization optimizedImpls, String fragName, IlxAssemblyGenerator ilxGenerator) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/CompileOptions.fs:line 1830
  at FSharp.Compiler.Driver.main2b[a,b,c,d,e,f,g,h](FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator, Args`1 _arg1) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/fsc.fs:line 2096
  at FSharp.Compiler.Driver.typecheckAndCompile(CompilationThreadToken ctok, String[] argv, Resolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, ErrorLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/fsc.fs:line 2204
  at FSharp.Compiler.Driver.mainCompile(CompilationThreadToken ctok, String[] argv, Resolver legacyReferenceResolver, Boolean bannerAlreadyPrinted, ReduceMemoryFlag reduceMemoryUsage, CopyFSharpCoreFlag defaultCopyFSharpCore, Exiter exiter, ErrorLoggerProvider loggerProvider, FSharpOption`1 tcImportsCapture, FSharpOption`1 dynamicAssemblyCreator) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/fsc.fs:line 2227
  at FSharp.Compiler.CommandLineMain.Driver.main(String[] argv) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/fscmain.fs:line 72
  at FSharp.Compiler.CommandLineMain.main(String[] argv) in /Users/nfloris/Projects/Misc/fsharp/src/fsharp/fscmain.fs:line 83

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions