microsoft / restler-fuzzer

RESTler is the first stateful REST API fuzzing tool for automatically testing cloud services through their REST APIs and finding security and reliability bugs in these services.
MIT License
2.52k stars 283 forks source link

compiler crash during dependency analysis #810

Open marina-p opened 9 months ago

marina-p commented 9 months ago

Description

RESTler crashes during compilation with the following call stack:

Restler.Compiler.dll!Restler.Dependencies.visitLeaf2@869.Invoke(Microsoft.FSharp.Collections.FSharpList parentAccessPath, Restler.Grammar.LeafProperty p) Line 897 F# Restler.Compiler.dll!Restler.Grammar.Tree.iterCtx<Microsoft.FSharp.Collections.FSharpList, Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty>(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Collections.FSharpList, Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.LeafProperty, Microsoft.FSharp.Core.Unit>> fLeaf, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Collections.FSharpList, Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.InnerProperty, Microsoft.FSharp.Core.Unit>> fNode, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Collections.FSharpList, Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.InnerProperty, Microsoft.FSharp.Collections.FSharpList>> fCtx, Microsoft.FSharp.Collections.FSharpList ctx, Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty> tree) Line 60 F# Restler.Compiler.dll!Restler.Grammar.Tree.recurse@57-1<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty, Microsoft.FSharp.Collections.FSharpList>.Invoke(Microsoft.FSharp.Collections.FSharpList ctx, Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty> tree) Unknown FSharp.Core.dll!Microsoft.FSharp.Collections.SeqModule.Iterate<Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty>>(Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty>, Microsoft.FSharp.Core.Unit> action, System.Collections.Generic.IEnumerable<Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty>> source) Line 497 F# Restler.Compiler.dll!Restler.Grammar.Tree.iterCtx<Microsoft.FSharp.Collections.FSharpList, Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty>(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Collections.FSharpList, Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.LeafProperty, Microsoft.FSharp.Core.Unit>> fLeaf, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Collections.FSharpList, Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.InnerProperty, Microsoft.FSharp.Core.Unit>> fNode, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Collections.FSharpList, Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.InnerProperty, Microsoft.FSharp.Collections.FSharpList>> fCtx, Microsoft.FSharp.Collections.FSharpList ctx, Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty> tree) Line 63 F# Restler.Compiler.dll!Restler.Grammar.Tree.recurse@57-1<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty, Microsoft.FSharp.Collections.FSharpList>.Invoke(Microsoft.FSharp.Collections.FSharpList ctx, Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty> tree) Unknown FSharp.Core.dll!Microsoft.FSharp.Collections.SeqModule.Iterate<Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty>>(Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty>, Microsoft.FSharp.Core.Unit> action, System.Collections.Generic.IEnumerable<Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty>> source) Line 497 F# Restler.Compiler.dll!Restler.Grammar.Tree.iterCtx<Microsoft.FSharp.Collections.FSharpList, Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty>(Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Collections.FSharpList, Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.LeafProperty, Microsoft.FSharp.Core.Unit>> fLeaf, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Collections.FSharpList, Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.InnerProperty, Microsoft.FSharp.Core.Unit>> fNode, Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Collections.FSharpList, Microsoft.FSharp.Core.FSharpFunc<Restler.Grammar.InnerProperty, Microsoft.FSharp.Collections.FSharpList>> fCtx, Microsoft.FSharp.Collections.FSharpList ctx, Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty> tree) Line 63 F# Restler.Compiler.dll!Restler.Dependencies.getProducer(Restler.Grammar.RequestId request, Restler.Grammar.Tree.Tree<Restler.Grammar.LeafProperty, Restler.Grammar.InnerProperty> response) Line 907 F# Restler.Compiler.dll!Restler.Dependencies.extractDependencies@1286.Invoke(System.Tuple<Restler.Grammar.RequestId, Restler.DependencyAnalysisTypes.RequestData> tupledArg) Line 1290 F# FSharp.Core.dll!Microsoft.FSharp.Collections.ArrayModule.Parallel.Iterate@1334.Invoke(int i) Line 1334 F# System.Threading.Tasks.Parallel.dll!System.Threading.Tasks.Parallel.ForWorker.AnonymousMethod1(ref System.Threading.Tasks.RangeWorker currentWorker, int timeout, out bool replicationDelegateYieldedBeforeCompletion) Unknown System.Threading.Tasks.Parallel.dll!System.Threading.Tasks.TaskReplicator.Replica.Execute() Unknown System.Threading.Tasks.Parallel.dll!System.Threading.Tasks.TaskReplicator.Replica..ctor.AnonymousMethod4_0(object s) Unknown System.Private.CoreLib.dll!System.Threading.Tasks.Task.InnerInvoke() Unknown System.Private.CoreLib.dll!System.Threading.Tasks.Task..cctor.AnonymousMethod__272_0(object obj) Unknown System.Private.CoreLib.dll!System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread threadPoolThread, System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Unknown System.Private.CoreLib.dll!System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref System.Threading.Tasks.Task currentTaskSlot, System.Threading.Thread threadPoolThread) Unknown System.Private.CoreLib.dll!System.Threading.Tasks.Task.ExecuteEntryUnsafe(System.Threading.Thread threadPoolThread) Unknown System.Private.CoreLib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() Unknown System.Private.CoreLib.dll!System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() Unknown System.Private.CoreLib.dll!System.Threading.Thread.StartCallback() Unknown