Fsharp: internal error: Index was outside the bounds of the array

Created on 10 Oct 2017  路  8Comments  路  Source: dotnet/fsharp

image

For me this happens reproducible when editing Program.fs in the FAKE solution.

image

image

__Callstack:__

1) => throw new ErrorLogger.UnresolvedPathReferenceNoRange(this.name@, data)

>   FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.Tast.CcuThunk.EnsureDerefable(string[] requiringPath) (IL=~0x0021, Native=0x2DE3FB48+0x58)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.Tast.NonLocalEntityRef.TryDeref(bool canError) (IL=~0x0012, Native=0x2DE3A080+0x2D)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.Tast.EntityRef.get_Deref() (IL=~0x0015, Native=0x2DE31238+0x3E)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.Tastops.stripTyEqnsA(Microsoft.FSharp.Compiler.TcGlobals.TcGlobals g, bool canShortcut, Microsoft.FSharp.Compiler.Tast.TType ty) (IL=~0x002A, Native=0x2DE35B10+0x51)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.SymbolHelpers.f@114-75(Microsoft.FSharp.Compiler.TcGlobals.TcGlobals g, Microsoft.FSharp.Compiler.NameResolution.Item item, Microsoft.FSharp.Core.Unit unitVar0) (IL=~0x0012, Native=0x3160F400+0x22)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.SymbolHelpers.ItemDisplayPartialEquality@703.System-Collections-Generic-IEqualityComparer`1-GetHashCode(Microsoft.FSharp.Compiler.NameResolution.Item obj) (IL=Prolog, Native=0x3160F388+0x20)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.IPartialEqualityComparer.On@1094<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst, Microsoft.FSharp.Compiler.NameResolution.Item>.System-Collections-Generic-IEqualityComparer`1-GetHashCode(Microsoft.FSharp.Compiler.NameResolution.ItemWithInst obj) (IL=Epilog, Native=0x3160F2A8+0x39)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.IPartialEqualityComparer.wper@1108<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst>.System-Collections-Generic-IEqualityComparer`1-GetHashCode(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.IPartialEqualityComparer.WrapType<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst> obj) (IL=Epilog, Native=0x3160F260+0x2F)
    mscorlib.dll!System.Collections.Generic.Dictionary<Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.IPartialEqualityComparer.WrapType<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst>, object>.FindEntry(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.IPartialEqualityComparer.WrapType<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst> key) (IL=~0x0016, Native=0x7184CDC0+0x47)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.IPartialEqualityComparer.partialDistinctBy@1114<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst>.Invoke(Microsoft.FSharp.Compiler.NameResolution.ItemWithInst v) (IL=~0x0016, Native=0x3160EF90+0x67)
    FSharp.Core.dll!Microsoft.FSharp.Primitives.Basics.List.filterToFreshConsTail<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst>(Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst> cons, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst, bool> f, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst> l) (IL=~0x0019, Native=0x1803D378+0x2E)
    FSharp.Core.dll!Microsoft.FSharp.Primitives.Basics.List.filter<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst>(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst, bool> predicate, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst> l) (IL=0x005B, Native=0x1803D3F4+0xB7)
    FSharp.Core.dll!Microsoft.FSharp.Collections.ListModule.Filter<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst>(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst, bool> predicate, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst> list) (IL=Epilog, Native=0x180382E0+0x31)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.SymbolHelpers.RemoveDuplicateItems(Microsoft.FSharp.Compiler.TcGlobals.TcGlobals g, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.NameResolution.ItemWithInst> items) (IL=Epilog, Native=0x3160EA40+0x55)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo.GetEnvironmentLookupResolutions(Microsoft.FSharp.Compiler.NameResolution.NameResolutionEnv nenv, Microsoft.FSharp.Compiler.AccessibilityLogic.AccessorDomain ad, Microsoft.FSharp.Compiler.Range.range m, Microsoft.FSharp.Collections.FSharpList<string> plid, Microsoft.FSharp.Compiler.NameResolution.TypeNameResolutionFlag filterCtors, bool showObsolete) (IL=~0x002A, Native=0x315AE3C0+0xB5)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo.GetDeclaredItems<string>(Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpParseFileResults> parseResultsOpt, string lineStr, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Collections.FSharpList<string>> origLongIdentOpt, int colAtEndOfNamesAndResidue, Microsoft.FSharp.Core.FSharpOption<string> residueOpt, int line, int loc, Microsoft.FSharp.Compiler.NameResolution.TypeNameResolutionFlag filterCtors, Microsoft.FSharp.Compiler.SourceCodeServices.ResolveOverloads resolveOverloads, Microsoft.FSharp.Core.FSharpFunc<System.Tuple<object, Microsoft.FSharp.Compiler.Range.range>, bool> hasTextChangedSinceLastTypecheck, bool isInRangeOperator, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol>> allSymbols) (IL=~0x0354, Native=0x315A9CC8+0x66F)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo.GetDeclItemsForNamesAtPosition(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpParseFileResults> parseResultsOpt, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Collections.FSharpList<string>> origLongIdentOpt, Microsoft.FSharp.Core.FSharpOption<string> residueOpt, int line, string lineStr, int colAtEndOfNamesAndResidue, Microsoft.FSharp.Compiler.NameResolution.TypeNameResolutionFlag filterCtors, Microsoft.FSharp.Compiler.SourceCodeServices.ResolveOverloads resolveOverloads, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol>> getAllSymbols, Microsoft.FSharp.Core.FSharpFunc<System.Tuple<object, Microsoft.FSharp.Compiler.Range.range>, bool> hasTextChangedSinceLastTypecheck) (IL=~0x0050, Native=0x315A5790+0x14F)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>[email protected](Microsoft.FSharp.Core.Unit unitVar0) (IL=0x0061, Native=0x1AFBE6D8+0x72)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.ErrorScope.Protect<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo>(Microsoft.FSharp.Compiler.Range.range m, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo> f, Microsoft.FSharp.Core.FSharpFunc<string, Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo> err) (IL=~0x0008, Native=0x314C1BF8+0x4F)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo.GetDeclarations(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpParseFileResults> parseResultsOpt, int line, string lineStr, int colAtEndOfNamesAndResidue, Microsoft.FSharp.Collections.FSharpList<string> qualifyingNames, string partialName, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol>> getAllSymbols, Microsoft.FSharp.Core.FSharpFunc<System.Tuple<object, Microsoft.FSharp.Compiler.Range.range>, bool> hasTextChangedSinceLastTypecheck) (IL=Epilog, Native=0x1AFBE1A0+0x90)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>[email protected](Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok, Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo scope) (IL=Epilog, Native=0x1AFBE160+0x26)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>.$Service.clo@1795-246<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo>.Invoke(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok) (IL=~0x0001, Native=0x314CFD50+0x3E)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>.$Reactor.EnqueueAndAwaitOpAsync@176-2<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo>.Invoke(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok) (IL=~0x0008, Native=0x25F22210+0x36)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>[email protected](Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.ReactorCommands> _arg2) (IL=0x0301, Native=0x2662BE68+0x4C0)
    FSharp.Core.dll!Microsoft.FSharp.Control.AsyncBuilderImpl.args@823-1<Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.ReactorCommands>, Microsoft.FSharp.Core.Unit>.Invoke(Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.ReactorCommands> a) (IL=~0x0016, Native=0x180BCD0C+0x40)
    FSharp.Core.dll!<StartupCode$FSharp-Core>.$Control.loop@425-51(Microsoft.FSharp.Control.Trampoline @this, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Control.FakeUnitValue> action) (IL=~0x0001, Native=0x180817A4+0x28)
    FSharp.Core.dll!Microsoft.FSharp.Control.Trampoline.ExecuteAction(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Control.FakeUnitValue> firstAction) (IL=~0x0018, Native=0x18081664+0x56)
    FSharp.Core.dll!Microsoft.FSharp.Control.TrampolineHolder.Protect(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Control.FakeUnitValue> firstAction) (IL=Epilog, Native=0x1808256C+0x4C)
    FSharp.Core.dll!<StartupCode$FSharp-Core>[email protected](object state, bool timedOut) (IL=Epilog, Native=0x18082660+0xE8)
    mscorlib.dll!System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context(object state, bool timedOut) (IL=Epilog, Native=0x718C8E20+0x4B)
    mscorlib.dll!System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context_f(object state) (IL=Epilog, Native=0x718C8DF0+0x1F)
    mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) (IL=~0x0079, Native=0x718F9910+0xEA)
    mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) (IL=Epilog, Native=0x718F98F0+0x16)
    mscorlib.dll!System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(object state, bool timedOut) (IL=~0x0042, Native=0x718C8CC0+0x93)
    [Native to Managed Transition]

2) ==> __IndexOutOfRangeException__

>   FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>[email protected](Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol x) (IL=~0x0064, Native=0x1B05B050+0x1E9)
    FSharp.Core.dll!Microsoft.FSharp.Core.OptionModule.Map<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol, Microsoft.FSharp.Compiler.SourceCodeServices.UnresolvedSymbol>(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol, Microsoft.FSharp.Compiler.SourceCodeServices.UnresolvedSymbol> mapping, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol> option) (IL=~0x000D, Native=0x18049220+0x24)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo.CompletionItem(Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.Tast.EntityRef> ty, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol> unresolvedEntity, Microsoft.FSharp.Compiler.NameResolution.ItemWithInst item) (IL=~0x00D1, Native=0x31623E48+0xE3)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>.$Service.globalResult@751<string>.Invoke(Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol globalItem) (IL=Epilog, Native=0x1B05AF48+0xEF)
    FSharp.Core.dll!Microsoft.FSharp.Primitives.Basics.List.mapToFreshConsTail<Microsoft.FSharp.Compiler.SourceCodeServices.CompletionItem, Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol>(Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.SourceCodeServices.CompletionItem> cons, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol, Microsoft.FSharp.Compiler.SourceCodeServices.CompletionItem> f, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol> x) (IL=~0x0019, Native=0x1803BB9C+0x36)
    FSharp.Core.dll!Microsoft.FSharp.Primitives.Basics.List.map<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol, Microsoft.FSharp.Compiler.SourceCodeServices.CompletionItem>(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol, Microsoft.FSharp.Compiler.SourceCodeServices.CompletionItem> mapping, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol> x) (IL=0x0056, Native=0x1803BC40+0xEF)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo.GetDeclaredItems<string>(Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpParseFileResults> parseResultsOpt, string lineStr, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Collections.FSharpList<string>> origLongIdentOpt, int colAtEndOfNamesAndResidue, Microsoft.FSharp.Core.FSharpOption<string> residueOpt, int line, int loc, Microsoft.FSharp.Compiler.NameResolution.TypeNameResolutionFlag filterCtors, Microsoft.FSharp.Compiler.SourceCodeServices.ResolveOverloads resolveOverloads, Microsoft.FSharp.Core.FSharpFunc<System.Tuple<object, Microsoft.FSharp.Compiler.Range.range>, bool> hasTextChangedSinceLastTypecheck, bool isInRangeOperator, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol>> allSymbols) (IL=~0x0625, Native=0x315A9CC8+0xCBC)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo.GetDeclItemsForNamesAtPosition(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpParseFileResults> parseResultsOpt, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Collections.FSharpList<string>> origLongIdentOpt, Microsoft.FSharp.Core.FSharpOption<string> residueOpt, int line, string lineStr, int colAtEndOfNamesAndResidue, Microsoft.FSharp.Compiler.NameResolution.TypeNameResolutionFlag filterCtors, Microsoft.FSharp.Compiler.SourceCodeServices.ResolveOverloads resolveOverloads, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol>> getAllSymbols, Microsoft.FSharp.Core.FSharpFunc<System.Tuple<object, Microsoft.FSharp.Compiler.Range.range>, bool> hasTextChangedSinceLastTypecheck) (IL=~0x0050, Native=0x315A5790+0x14F)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>[email protected](Microsoft.FSharp.Core.Unit unitVar0) (IL=0x0061, Native=0x1AFBE6D8+0x72)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.ErrorScope.Protect<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo>(Microsoft.FSharp.Compiler.Range.range m, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo> f, Microsoft.FSharp.Core.FSharpFunc<string, Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo> err) (IL=~0x0008, Native=0x314C1BF8+0x4F)
    FSharp.Compiler.Private.dll!Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo.GetDeclarations(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok, Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpParseFileResults> parseResultsOpt, int line, string lineStr, int colAtEndOfNamesAndResidue, Microsoft.FSharp.Collections.FSharpList<string> qualifyingNames, string partialName, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Collections.FSharpList<Microsoft.FSharp.Compiler.SourceCodeServices.AssemblySymbol>> getAllSymbols, Microsoft.FSharp.Core.FSharpFunc<System.Tuple<object, Microsoft.FSharp.Compiler.Range.range>, bool> hasTextChangedSinceLastTypecheck) (IL=Epilog, Native=0x1AFBE1A0+0x90)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>[email protected](Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok, Microsoft.FSharp.Compiler.SourceCodeServices.TypeCheckInfo scope) (IL=Epilog, Native=0x1AFBE160+0x26)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>.$Service.clo@1795-246<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo>.Invoke(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok) (IL=~0x0001, Native=0x314CFD50+0x3E)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>.$Reactor.EnqueueAndAwaitOpAsync@176-2<Microsoft.FSharp.Compiler.SourceCodeServices.FSharpDeclarationListInfo>.Invoke(Microsoft.FSharp.Compiler.AbstractIL.Internal.Library.CompilationThreadToken ctok) (IL=~0x0008, Native=0x25F22210+0x36)
    FSharp.Compiler.Private.dll!<StartupCode$FSharp-Compiler-Private>[email protected](Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.ReactorCommands> _arg2) (IL=0x0301, Native=0x2662BE68+0x4C0)
    FSharp.Core.dll!Microsoft.FSharp.Control.AsyncBuilderImpl.args@823-1<Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.ReactorCommands>, Microsoft.FSharp.Core.Unit>.Invoke(Microsoft.FSharp.Core.FSharpOption<Microsoft.FSharp.Compiler.SourceCodeServices.ReactorCommands> a) (IL=~0x0016, Native=0x180BCD0C+0x40)
    FSharp.Core.dll!<StartupCode$FSharp-Core>.$Control.loop@425-51(Microsoft.FSharp.Control.Trampoline @this, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Control.FakeUnitValue> action) (IL=~0x0001, Native=0x180817A4+0x28)
    FSharp.Core.dll!Microsoft.FSharp.Control.Trampoline.ExecuteAction(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Control.FakeUnitValue> firstAction) (IL=~0x0018, Native=0x18081664+0x56)
    FSharp.Core.dll!Microsoft.FSharp.Control.TrampolineHolder.Protect(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Control.FakeUnitValue> firstAction) (IL=Epilog, Native=0x1808256C+0x4C)
    FSharp.Core.dll!<StartupCode$FSharp-Core>[email protected](object state, bool timedOut) (IL=Epilog, Native=0x18082660+0xE8)
    mscorlib.dll!System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context(object state, bool timedOut) (IL=Epilog, Native=0x718C8E20+0x4B)
    mscorlib.dll!System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context_f(object state) (IL=Epilog, Native=0x718C8DF0+0x1F)
    mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) (IL=~0x0079, Native=0x718F9910+0xEA)
    mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) (IL=Epilog, Native=0x718F98F0+0x16)
    mscorlib.dll!System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(object state, bool timedOut) (IL=~0x0042, Native=0x718C8CC0+0x93)
    [Native to Managed Transition]

(I'm not sure if the first exception is even related, the second one is what gets bubbled to the UI)

Area-IDE Language Service Severity-High bug

Most helpful comment

All 8 comments

@0x53A Thanks, the second looks unrelated to the first, but should be fixed.

@0x53A Do you have completion of not in scope symbols enabled?

@auduchinok

@0x53A Do you have completion of not in scope symbols enabled?

image

@0x53A Will completion work in this file with the last one disabled?

@0x53A Will completion work in this file with the last one disabled?

yes.

Disabling the last one causes the issue to disappear. Didn't even need to restart VS.

Great. I've faced this behaviour today using a recent FCS build in Rider with such completion enabled.
The repro is very simple for me:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="Library.fs" />
  </ItemGroup>
</Project>
module M

let x = <editor_caret>

@vasily-kirichenko Thanks for fixing this!

Was this page helpful?
0 / 5 - 0 ratings