rubberduck-vba / Rubberduck

Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).
https://rubberduckvba.com
GNU General Public License v3.0
1.91k stars 299 forks source link

"Unexpected Error" on "refresh" #5624

Closed Tanarri closed 3 years ago

Tanarri commented 3 years ago

Version 2.5.1.5632 OS: Microsoft Windows NT 10.0.19041.0, x64 Host Product: Microsoft Office 2013 x86 Host Version: 15.0.5267.1000 Host Executable: MSACCESS.EXE

Description On my Access Projects I couldn't use rubberduck, because on "refresh" the is a unexcepted error. For verification I created a new access 2013 accdb Database with a new form, one button with minimal code - there is also this error

To Reproduce Steps to reproduce the behavior:

  1. Create a new access project
  2. Create a new example form with one Button and code behind the button
  3. Click "refresh" in rubberduck
  4. See error

Expected behavior There is no error

Screenshots grafik

Logfile

2020-11-03 09:05:47.2218;DEBUG-2.5.1.5632;Rubberduck.Common.LogLevelHelper;
    Rubberduck version 2.5.1.5632 loading:
    Operating System: Microsoft Windows NT 10.0.19041.0 x64
    Host Product: Microsoft Office 2013 x86
    Host Version: 15.0.5267.1000
    Host Executable: MSACCESS.EXE;
2020-11-03 09:05:47.4914;INFO-2.5.1.5632;Rubberduck.UI.Command.VersionCheckCommand;Executing version check...;
2020-11-03 09:05:52.8794;DEBUG-2.5.1.5632;Rubberduck.UI.Command.MenuItems.CommandBars.AppCommandBarBase;(17930557) Executing click handler for commandbar item 'Pending', hash code 9954765;
2020-11-03 09:05:52.8950;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.ParseCoordinator;Parsing run started. (thread 6).;
2020-11-03 09:05:52.8950;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (1) is invoking StateChanged (Started);
2020-11-03 09:05:53.1521;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'Started' (thread 6);
2020-11-03 09:05:53.1521;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (2) is invoking StateChanged (LoadingReference);
2020-11-03 09:05:53.3968;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Loaded ComProjects for user projects in 113ms.;
2020-11-03 09:05:53.3968;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Loaded declarations from ComProjects for user projects in 0ms.;
2020-11-03 09:05:53.8039;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Loaded and unloaded referenced libraries in 401ms.;
2020-11-03 09:05:53.9025;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'Parsing' (thread 6);
2020-11-03 09:05:53.9025;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (3) is invoking StateChanged (Parsing);
2020-11-03 09:05:54.2624;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'Parsed' (thread 6);
2020-11-03 09:05:54.2624;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Parsed user modules in 223ms.;
2020-11-03 09:05:54.2624;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (4) is invoking StateChanged (Parsed);
2020-11-03 09:05:54.4162;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'ResolvingDeclarations' (thread 6);
2020-11-03 09:05:54.4162;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (5) is invoking StateChanged (ResolvingDeclarations);
2020-11-03 09:05:54.5683;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.DeclarationResolving.DeclarationResolveRunnerBase;Creating declarations for module Datenbank4.Form_MSysAccessStorage.;
2020-11-03 09:05:54.5793;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.DeclarationResolving.DeclarationResolveRunnerBase;11ms to resolve declarations for component Datenbank4.Form_MSysAccessStorage;
2020-11-03 09:05:54.5793;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Resolved user declaration in 14ms.;
2020-11-03 09:05:54.5972;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (6) is invoking StateChanged (ResolvedDeclarations);
2020-11-03 09:05:54.7883;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'ResolvingReferences' (thread 6);
2020-11-03 09:05:54.7883;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (7) is invoking StateChanged (ResolvingReferences);
2020-11-03 09:05:54.9210;ERROR-2.5.1.5632;Rubberduck.Parsing.VBA.ParseCoordinator;Unexpected exception thrown in parsing run. (thread 6).;System.InvalidOperationException: Die Sammlung wurde geändert. Der Enumerationsvorgang kann möglicherweise nicht ausgeführt werden.
   bei System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   bei System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   bei System.Collections.Generic.List`1.Enumerator.MoveNext()
   bei System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   bei System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
   bei System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
   bei Rubberduck.Parsing.VBA.ReferenceManagement.ReferenceResolveRunnerBase.SuperTypeNamesForDocumentFromComType(IComType comModule) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ReferenceManagement\ReferenceResolveRunnerBase.cs:Zeile 224.
   bei Rubberduck.Parsing.VBA.ReferenceManagement.ReferenceResolveRunnerBase.AddSuperTypeNamesForDocumentModules(IReadOnlyCollection`1 modules, RubberduckParserState state, IUserComProjectProvider userComProjectProvider) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ReferenceManagement\ReferenceResolveRunnerBase.cs:Zeile 190.
   bei Rubberduck.Parsing.VBA.ReferenceManagement.ReferenceResolveRunnerBase.ResolveReferences(IReadOnlyCollection`1 toResolve, CancellationToken token) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ReferenceManagement\ReferenceResolveRunnerBase.cs:Zeile 89.
   bei Rubberduck.Parsing.VBA.ParsingStageService.ResolveReferences(IReadOnlyCollection`1 toResolve, CancellationToken token) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ParsingStageService.cs:Zeile 94.
   bei Rubberduck.Parsing.VBA.ParseCoordinator.ExecuteCommonParseActivities(IReadOnlyCollection`1 toParse, IReadOnlyCollection`1 toReresolveReferencesInput, IReadOnlyCollection`1 newProjectIds, CancellationToken token) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:Zeile 327.
   bei Rubberduck.Parsing.VBA.ParseCoordinator.ParseAllInternal(Object requestor, CancellationToken token) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:Zeile 563.
   bei Rubberduck.Parsing.VBA.ParseCoordinator.ParseAll(Object requestor) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:Zeile 468.
2020-11-03 09:05:54.9289;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (8) is invoking StateChanged (UnexpectedError);
2020-11-03 09:05:55.0627;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.ParseCoordinator;Parsing run finished after 2,1619731s. (thread 6).;
2020-11-03 09:06:01.3616;DEBUG-2.5.1.5632;Rubberduck.UI.Command.MenuItems.ParentMenus.ParentMenuItemBase;(12697152) Executing click handler for menu item 'S&ettings', hash code 35318677;
2020-11-03 09:06:05.5172;DEBUG-2.5.1.5632;Rubberduck.UI.Command.MenuItems.CommandBars.AppCommandBarBase;(17930557) Executing click handler for commandbar item 'Unerwarteter Fehler', hash code 47320783;
2020-11-03 09:06:05.5172;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.ParseCoordinator;Parsing run started. (thread 11).;
2020-11-03 09:06:05.5172;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (9) is invoking StateChanged (Started);
2020-11-03 09:06:05.6647;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'Started' (thread 11);
2020-11-03 09:06:05.6647;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (10) is invoking StateChanged (LoadingReference);
2020-11-03 09:06:05.8027;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Loaded ComProjects for user projects in 0ms.;
2020-11-03 09:06:05.8027;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Loaded declarations from ComProjects for user projects in 0ms.;
2020-11-03 09:06:05.8147;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Loaded and unloaded referenced libraries in 10ms.;
2020-11-03 09:06:05.8147;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'Parsing' (thread 11);
2020-11-03 09:06:05.8147;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (11) is invoking StateChanged (Parsing);
2020-11-03 09:06:05.9533;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'Parsed' (thread 11);
2020-11-03 09:06:05.9533;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Parsed user modules in 6ms.;
2020-11-03 09:06:05.9533;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (12) is invoking StateChanged (Parsed);
2020-11-03 09:06:06.0822;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'ResolvingDeclarations' (thread 11);
2020-11-03 09:06:06.0822;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (13) is invoking StateChanged (ResolvingDeclarations);
2020-11-03 09:06:06.2104;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.DeclarationResolving.DeclarationResolveRunnerBase;Creating declarations for module Datenbank4.Form_MSysAccessStorage.;
2020-11-03 09:06:06.2104;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.DeclarationResolving.DeclarationResolveRunnerBase;0ms to resolve declarations for component Datenbank4.Form_MSysAccessStorage;
2020-11-03 09:06:06.2104;INFO-2.5.1.5632;Rubberduck.Parsing.Common.ParsingStageTimer;Resolved user declaration in 1ms.;
2020-11-03 09:06:06.2385;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (14) is invoking StateChanged (ResolvedDeclarations);
2020-11-03 09:06:06.3790;DEBUG-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;Module 'Form_MSysAccessStorage' state is changing to 'ResolvingReferences' (thread 11);
2020-11-03 09:06:06.3790;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (15) is invoking StateChanged (ResolvingReferences);
2020-11-03 09:06:06.5059;ERROR-2.5.1.5632;Rubberduck.Parsing.VBA.ParseCoordinator;Unexpected exception thrown in parsing run. (thread 11).;System.InvalidOperationException: Die Sammlung wurde geändert. Der Enumerationsvorgang kann möglicherweise nicht ausgeführt werden.
   bei System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   bei System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   bei System.Collections.Generic.List`1.Enumerator.MoveNext()
   bei System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   bei System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
   bei System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
   bei Rubberduck.Parsing.VBA.ReferenceManagement.ReferenceResolveRunnerBase.SuperTypeNamesForDocumentFromComType(IComType comModule) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ReferenceManagement\ReferenceResolveRunnerBase.cs:Zeile 224.
   bei Rubberduck.Parsing.VBA.ReferenceManagement.ReferenceResolveRunnerBase.AddSuperTypeNamesForDocumentModules(IReadOnlyCollection`1 modules, RubberduckParserState state, IUserComProjectProvider userComProjectProvider) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ReferenceManagement\ReferenceResolveRunnerBase.cs:Zeile 190.
   bei Rubberduck.Parsing.VBA.ReferenceManagement.ReferenceResolveRunnerBase.ResolveReferences(IReadOnlyCollection`1 toResolve, CancellationToken token) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ReferenceManagement\ReferenceResolveRunnerBase.cs:Zeile 89.
   bei Rubberduck.Parsing.VBA.ParsingStageService.ResolveReferences(IReadOnlyCollection`1 toResolve, CancellationToken token) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ParsingStageService.cs:Zeile 94.
   bei Rubberduck.Parsing.VBA.ParseCoordinator.ExecuteCommonParseActivities(IReadOnlyCollection`1 toParse, IReadOnlyCollection`1 toReresolveReferencesInput, IReadOnlyCollection`1 newProjectIds, CancellationToken token) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:Zeile 327.
   bei Rubberduck.Parsing.VBA.ParseCoordinator.ParseAllInternal(Object requestor, CancellationToken token) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:Zeile 563.
   bei Rubberduck.Parsing.VBA.ParseCoordinator.ParseAll(Object requestor) in C:\projects\rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:Zeile 468.
2020-11-03 09:06:06.5059;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.RubberduckParserState;RubberduckParserState (16) is invoking StateChanged (UnexpectedError);
2020-11-03 09:06:06.6345;INFO-2.5.1.5632;Rubberduck.Parsing.VBA.ParseCoordinator;Parsing run finished after 1,116354s. (thread 11).;

Additional context There was no error in "Rubberduck.Setup.2.5.1.5559-pre.exe"

MDoerner commented 3 years ago

Thanks for reporting this. I have an idea what is going wrong and will look into it this evening.

Tanarri commented 3 years ago

Thanks - In V2.5.1.5647 it works all right