Open rsd opened 2 years ago
I noticed that, if I delete some part of the class first, like a few methods, it won't crash after that. But If I delete just a small part (e.g. 1 method at the end) it will crash.
I would [wild] guess that RD is keeping reference to the symbols in real time and deleting all at once was too much information to keep up.
I'm getting a similar CancellationToken has been disposed
error but it happens right when I open the VBE for the first time. I'm not opening a new issue because I think the root cause is the same and I think that empty class file is not the cause. I don't have any empty classes in the project I opened.
RD does continue working but it pops an unhandled exception window, which is super annoying.
2023-09-07 07:32:53.9177;TRACE-2.5.9.6291;Rubberduck.UI.Command.MenuItems.CommandBars.AppCommandBarBase;CancellationTokenSource was already disposed for OnSelectionChange.;
2023-09-07 07:32:54.0087;ERROR-2.5.9.6291;Rubberduck.UI.Command.MenuItems.CommandBars.AppCommandBarBase;ShowParserErrorsCommandMenuItem.EvaluateCanExecute(RubberduckParserState) threw an exception.;System.ObjectDisposedException: The CancellationTokenSource associated with this CancellationToken has been disposed.
at System.Threading.CancellationToken.ThrowObjectDisposedException()
at System.Threading.Tasks.Task.AssignCancellationToken(CancellationToken cancellationToken, Task antecedent, TaskContinuation continuation)
at System.Threading.Tasks.Task.TaskConstructorCore(Object action, Object state, CancellationToken cancellationToken, TaskCreationOptions creationOptions, InternalTaskOptions internalOptions, TaskScheduler scheduler)
at System.Threading.Tasks.Task..ctor(Delegate action, Object state, Task parent, CancellationToken cancellationToken, TaskCreationOptions creationOptions, InternalTaskOptions internalOptions, TaskScheduler scheduler)
at System.Threading.Tasks.Task`1..ctor(Func`1 valueSelector, Task parent, CancellationToken cancellationToken, TaskCreationOptions creationOptions, InternalTaskOptions internalOptions, TaskScheduler scheduler)
at System.Threading.Tasks.Task`1.StartNew(Task parent, Func`1 function, CancellationToken cancellationToken, TaskCreationOptions creationOptions, InternalTaskOptions internalOptions, TaskScheduler scheduler, StackCrawlMark& stackMark)
at System.Threading.Tasks.Task.Run[TResult](Func`1 function, CancellationToken cancellationToken)
at Rubberduck.UI.Command.MenuItems.CommandBars.AppCommandBarBase.<EvaluateCanExecuteAsync>d__11.MoveNext()
Version 2.5.9.6294 OS: Microsoft Windows NT 10.0.19045.0, x64 Host Product: Microsoft Office x64 Host Version: 16.0.16626.20208 Host Executable: EXCEL.EXE
Rubberduck version information
Description Excel [RD] crashes on emptying a class file.
To Reproduce Steps to reproduce the behavior:
Expected behavior The Class to be emptied and Excel not crash.
Logfile