microsoft / RTVS

R Tools for Visual Studio.
MIT License
390 stars 118 forks source link

Assert while editing markdown. #3781

Open karthiknadig opened 7 years ago

karthiknadig commented 7 years ago

Repro: type summary(mtcars) then delete the ')'.

---------------------------
Assertion Failed: Abort=Quit, Retry=Debug, Ignore=Continue
---------------------------
Children collection must be sorted

   at Microsoft.Languages.Core.Text.TextRangeCollection`1.AddSorted(T item)

   at Microsoft.R.Core.AST.AstNode.AppendChild(IAstNode child)

   at Microsoft.R.Core.AST.AstNode.set_Parent(IAstNode value)

   at Microsoft.R.Core.AST.AstNode.Parse(ParseContext context, IAstNode parent)

   at Microsoft.R.Core.AST.Scopes.Scope.Parse(ParseContext context, IAstNode parent)

   at Microsoft.R.Core.AST.Scopes.Scope.Parse(ParseContext context, IAstNode parent)

   at Microsoft.R.Core.AST.AstRoot.Parse(ParseContext context, IAstNode parent)

   at Microsoft.R.Core.Parser.RParser.Parse(ParseContext context)

   at Microsoft.R.Core.Parser.RParser.Parse(ITextProvider textProvider, ITextRange range, TokenStream`1 tokenStream, IReadOnlyList`1 commentTokens, IExpressionTermFilter filter)

   at Microsoft.R.Core.Parser.RParser.Parse(ITextProvider textProvider, ITextRange range, IExpressionTermFilter filter)

   at Microsoft.R.Core.Parser.RParser.Parse(ITextProvider textProvider, IExpressionTermFilter filter)

   at Microsoft.R.Editor.Tree.TreeUpdateTask.ProcessTextChange(IEditorBufferSnapshot snapshot, Boolean async, Func`1 isCancelledCallback)

   at Microsoft.R.Editor.Tree.TreeUpdateTask.<>c__DisplayClass38_0.<ProcessPendingTextBufferChanges>b__1(Func`1 isCancelledCallback)

   at Microsoft.Common.Core.Idle.CancellableTask.<>c__DisplayClass7_0.<Run>b__0(Object taskId)

   at System.Threading.Tasks.Task.InnerInvoke()

   at System.Threading.Tasks.Task.Execute()

   at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj)

   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot)

   at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution)

   at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()

   at System.Threading.ThreadPoolWorkQueue.Dispatch()

   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

---------------------------
Abort   Retry   Ignore   
---------------------------
MikhailArkhipov commented 7 years ago

These are generally benign and go away next time AST is rebuilt. Couldn't repro so far.