Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test Explorer Hangs in an infinite loop #2641

Closed
bravesparrow opened this issue Feb 6, 2017 · 70 comments

Comments

Projects
None yet
8 participants
@bravesparrow
Copy link

commented Feb 6, 2017

Hi Rubberduck People,
Thanks for all the beautiful work on this project.

I have a small program I am building in VBA behind MSAccess 2013, and have an issue where the Test Explorer hangs.

My log file has this
2017-02-06 13:36:14.9777;INFO-2.0.11.2453;Rubberduck.App;Rubberduck version 2.0.11.2453 loading:
Operating System: Microsoft Windows NT 10.0.14393.0 x64
Host Product: Microsoft Office 2013 x64
Host Version: 15.0.4893.1000
Host Executable: MSACCESS.EXE;

The circling "hourglass" icon is on an infinite loop. Duration of each test is 0ms, so it seems not to have started stepping through any of the test modules. I only have two tests at this point in time, in two separate test modules, and the code in them is clean, and is passing when I step into them.

I can keep writing, compiling and saving code, but the Test Explorer is out of action. Have disabled source control but the issue is the same when saving just to the accdb. The accdb is split with a back end in a separate directory, but this is working fine in my forms and tables.

Have tried exiting the VBE and exiting the host Application, but the issue repeats as soon as I click "Run All Tests".

Have tried uninstalling Rubberduck and reinstalling.

Open to feedback and ideas, as I love using the Rubberduck, and am keen to help improve it. Thanks again for this amazing project.

David.
screen shot haning test explorer

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 6, 2017

It's probably hung indeed. You can try editing a line somewhere (anywhere - just as long as there's something to tell the parser it needs to parse), inserting a blank line will do. Then hit the [Ready]/Reparse button: that should get the ducky back on it tracks.

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 6, 2017

Hello, thanks for the rapid response!
Adding the new line did make the parser re-parse, and all functions inside the Duck seem to be OK (e.g. the Navigation and Code Explorer windows are fine. I just executed a fix in the Code Inspection window that fixed 46 issues in my code, no problem.
But the Test Explorer window continues to hang in the background.
What should I try next?
Cheers, David.

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 6, 2017

hmm, good question. I'd say try to add a dummy test manually:

'@TestMethod
Public Sub DummyTest()
    Assert.IsTrue True, "If you can read this in the Test Explorer, either Hell has frozen, or we have a bug."
End Sub

Then request another reparse from the Test Explorer's own refresh command if you can - it should pick up the new test method and understand which state is should be in. I hope 😉

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 6, 2017

If that doesn't work, I'm afraid my next option would be to outright restart the host application, to reload RD fresh.

Would you happen to know how it happened? Can you reproduce the issue?

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 6, 2017

side note - "reload RD fresh" might give you the idea to unload & reload it from the IDE's "add-ins" menu.

⚠️ Whatever happens, don't do that.

We have some teardown issues (it's possible the host application crashes during or after exiting), caused by what we've narrowed down to be the custom commandbars and toolwindows (or their WPF host), for the destruction of which we're kind of in a race with the VBE and its host process itself. When we lose, the host crashes. But there's probably more to it, because when the add-in is reloaded from the VBE's add-ins manager, the VBE instance is essentially bricked, and the only way out is to kill the host process: not cool.

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 6, 2017

Hey there,

Reloading RD afresh did not resolve the issue.

I was able to re-activate and un-hang the Test Explorer by exiting the VBE, then shutting down the Host. Interestingly, the host (MSAccess 2013) was still running in task manager even though I had tried to close it from inside the host. So I shut it down in task mananager in order to be able to start RD fresh.

I added the dummy test to one of my test modules and it showed up in the Test Explorer as in the below screen shot, but it hanged again when I re-ran the tests.

I have had the issue of the Host crashing when using this instance/version of RD, also. I have not played with the IDE's addin menu, as you have put great warnings in your documentation against doing that.

Is there a sure-fire way to completely uninstall all files and registry entries so that I can fully re-install RD and try and reproduce the issue, or resolve it that way?

Cheers, David.

image

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 6, 2017

Using Windows' Control Panel > Add/Remove Programs is a sure-fire way to ensure the uninstall/cleanup procedure we scripted in our installer, runs and undoes everything it did.

BTW thanks for the awesome feedback 👍

What would you like to work on? There's a pretty wide range of things to do, some harder than others. Inspections are on a feature-freeze until next release though.

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 6, 2017

Sharing a bit of trial and error on this one.

1.OK. Fully uninstalled and re-installed RD. Opened a blank Access DB. added the dummy test. Executed "Run all Tests" and the Test Explorer Hanged again. Shut everything down.

2.Opened a blank Word Document and added a dummy test. It ran beautifully and the Test Explorer did not hang. Shut the application down.

3.Did the same thing with a blank Excel document with the same good result. When I shut Excel down, the application crashed during close. Reran the test in a new instance of Excel and the test explorer was fine again.

4.Then I re-opened MSAccess and opened just a blank database and added the dummy test. This time when I ran it, the Test Explorer did not hang, and the test passed.

5.Then I closed that database and re-opened my project and the green line was showing (but the progress bar was only partially across the page. I then clicked run all tests and the test explorer hanged again, at the below screen:
image

6.I then went back into a new instance of Excel and ran the dummy test again on a blank workbook, which passed fine. Then I shut Excel down and Excel restarted itself, as if to recover from a faulty shutdown. Went into task manager and made sure Excel was fully shut down.

7.Then Went back into MSAccess. This time there was no green progress bar, but my three unit test were there. I added a new DummyTest2 and the TestExplorer registered it no problem. Then when I clicked "Run all Tests" it hanged again.

8.Then I shut MSAccess down.

9.Then I reopened MSAccess on a blank database, inserted the dummy test, ran it and it hanged. When I shut MSAccess down it tried to reopen itself, but I cancelled that. The I went into Task manager and there were two instances of MSAccess open, which I shut down in there.

10.Then I opened excel again, ran the dummy test, which was green, then shut Excel down.

11.Then I reopened MSAccess, opened a blank file added a dummy test and it hanged again.

12.I guess I was hoping to fully re-set the state of the test explorer by running it sucessfully in a different host, but something about my MSAccess instance is conflictig with it still.

Open to more ideas. Maybe a full reinstallation of Office 2013? There is no other sign of MSAccess being in need of repair at this point, and it might be difficult to reinstall on this machine as it is a university copy of Office, so keen to avoid that if necessary. Interested why this time the blank Access file hanged when it didn't hang in point 4. above,

Cheers,

David.

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 6, 2017

IMO reinstalling Office would be overkill - the bug must be on our end anyway.

Another thing you can try, is to uninstall the add-in, and then build it off the current [next] branch - hopefully we've already fixed the issue, just haven't released it yet :-)

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 6, 2017

Cool, I will give this next thing a go later tonight. Thanks for the great support.
David.

@ThunderFrame

This comment has been minimized.

Copy link
Member

commented Feb 6, 2017

I'll have a look at debugging Access tonight. Sounds like it might be an Application.Run issue that is specific to Access.

@ThunderFrame

This comment has been minimized.

Copy link
Member

commented Feb 6, 2017

@bravesparrow Do you have any Access add-ins installed installed/loaded? Is the Access project an MDE/ACCDE, MDB/ACCDB?

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 6, 2017

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 6, 2017

Need a bit of support on how to re-build an instance of Rubberduck from the current [next] branch.
I have cloned the Rubberduck repo to my desktop GIT application, I have the project open in VS2015. And I am new to GIT and VS, so apologise for the potentially silly question.
Keen to get the Duck running again in my VBE.
Cheers, David.

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 6, 2017

Hey no problem - it's quite far from obvious actually!

Did you see the Initial Setup wiki page?

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 6, 2017

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 7, 2017

OK. I have followed the Initial Setup instructions, including uninstalling Rubberduck, then building the project from the [next] branch in Visual Studio, and adding the Registry info as directed. I added MSACCESS as the default start external action debug process.
So when I Run the solution in Visual Studio, MSAccess starts up no problem. The BIG problem now is that when I try and open the VBE (via Database Tools/Visual Basic) in Access the VBE will not open.
I changed the external action to open the Word and the Excel host and the same problem, no more VBE.
I lso got an "Out of Memory" error messagebox when I attempted to open the VBE in EXCEL.
What am I missing? Keen to provide more info if it helps resolve this.

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 7, 2017

Can you break in _Extension.OnConnection (the entry point) and see RD startup, or it blows up before that?

Side note, [next] is moving quite fast - make sure you keep your fork up-to-date with the main repository.

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 7, 2017

It blows up before that.
I set a break point at Extension.cs Line 51 and it never hits it.
I seem to have messed up the event that should fire in the host to open VBA.
I have synced my fork with the main repository--the issue seems to be with something I did with my initial setup, in the registry, althogough I can't see where myself. here are a couple of screen shots of the registry settings I have made, to double check they are not erroneous:
image

One issue might have been when I executed this:
c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe "(path to project \bin folder)\rubberduck.dll" /codebase /tlb

Maybe I entered the wrong (path to project \bin folder)--I just guessed this path based on where I could find the rubberduck.dll file in the repo--My codebase path currently shows up in my registry as:
image

In my previous build, which I installed from the Release 2.0.10 Installer package, my codebase was just "c:/programdata/rubberduck/rubberduck.dll":
image

I am open to feedback on what to try next--don't want to be doing to much more guessing and messing with my registry. Cheers, David.

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 7, 2017

Looks like the solution's startup project is wrong, it should be Rubberduck.dll, not the test project.

Run the same regasm.exe command, but with the -u switch, to unregister the build. Then right click the "Rubberduck" project in the VS solution explorer, and select "set as startup project", then clean+rebuild, and try F5. If you get a message saying the RD addin couldn't be loaded, you're clean: just run regasm.exe again, using the \bin\debug path of the "Rubberduck" project - now F5 should launch your host app and alt+f11 will load your debug build =)

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 7, 2017

Side note, once you get RD to work, you'll want to disable the new "check for new version at startup" setting, at least until 2.0.12 is actually released; that's because an older 2.0.12 build is already on the website - once 2.0.12 is released, the website build will be the same as the release build, and our dev versions will be 2.0.13 or higher, so the version check won't be prompting all the time anymore.

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 7, 2017

Thanks for this Matt. Learning a lot here while following your patient guidance.
Still having a problem loading the VBE after actioning the above.
When debugging the load-up of the VBE, a c++ exception seem to be thrown when I try and launch the VBE at a line that reads
"mov rcx,qword ptr [rsp+0C0h]"
I am wondering if this is being thrown because I am running a 64 Bit Host, but have set the Rubberduck.Extension LoadBehaviour as a DWORD rather than a QWORD?
Should I change anything there?
Just a thought, I really have no idea why my VBE is not starting and am keen to try more things.
David.

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 7, 2017

Hmm, I haven't had any issues with DWORD on a 64-bit host.

Run the regasm.exe command against the last build, with the -u switch (to unregister it), then remove the VBA/VBE/6.0/Addins64 key from the registry.

Your system should now behave as if Rubberduck never existed. Does the VBE launch normally?

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 7, 2017

OK.
-Types unregistered successfully.
-Addins64 and all subkeys deleted, OK.

Yep the VBE does launch normally now.

Thanks for stepping me through this! :)

Should I next try and reregister things from scratch?

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 7, 2017

Yep. Sorry it's such a PITA... I promise everything will be much simpler after the inital setup!

I just noticed, it looks like 2.0.10 wasn't correctly removed (these 2.0.10 keys should be gone)... you may need to make a repair install of 2.0.10 only to cleanly uninstall it.

First re-create the Addins64 and subkeys, then launch the VBE - I'd expect an error message saying Rubberduck couldn't be loaded. If there's no error message, the key isn't created where the VBE is looking for add-ins (I doubt that's the case though, so you should see that error message) - it shouldn't be able to load it, because it's still not registered (the Addins64 keys just tell the VBE that there's an add-in to load, not where to find it).

Now, open up the RD project in an administrator-priviledged Visual Studio instance, and make sure the "Rubberduck" project is the solution's startup project (it should be bolded in the solution explorer). Build the solution, run regasm.exe /codebase /tlb against the debug build, which should be under, e.g. {path}\Rubberduck\RetailCoder.VBE\bin\Debug\Rubberduck.dll.

Now cross your fingers, and launch the VBE 😃

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 9, 2017

  • I just noticed something when rewriting the registry values:
    I spelled LoadBehavior as "LoadBehaviour"--the British spelling.
    I think that was my error before...

Anyway here is the expected error message that popped up when I opened the host directly and then opened the VBE:
image

So far so good.

  • When I tried to build the Debug, Any CPU project it would not rebuild and gave a series of errors like this:
    Error Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Exceeded retry count of 10. Failed. Rubberduck

-So I just went ahead at that point and ran the command:
c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe "D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\bin\Debug\Rubberduck.dll" /codebase /tlb

which gave a registered successfully output.

Still keep getting the same error messages when I clean and try to rebuild the Rubber duck project in Admin VS. Here is the full Output from the Build process:
1>------ Build started: Project: Rubberduck.VBEditor, Configuration: Debug Any CPU ------
2>------ Build started: Project: Rubberduck.SettingsProvider, Configuration: Debug Any CPU ------
2> Rubberduck.SettingsProvider -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll
3>------ Build started: Project: Rubberduck.RegexAssistant, Configuration: Debug Any CPU ------
3> Rubberduck.RegexAssistant -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.RegexAssistant\bin\Debug\Rubberduck.RegexAssistant.dll
1> Rubberduck.VBEditor -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll
4>------ Build started: Project: Rubberduck.Parsing, Configuration: Debug Any CPU ------
5>------ Build started: Project: Rubberduck.SourceControl, Configuration: Debug Any CPU ------
4> Restoring NuGet packages...
4> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
4> All packages listed in packages.config are already installed.
4> Rubberduck.Parsing -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll
6>------ Build started: Project: Rubberduck.SmartIndenter, Configuration: Debug Any CPU ------
5> Restoring NuGet packages...
5> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
5> All packages listed in packages.config are already installed.
5> Rubberduck.SourceControl -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll
6> Rubberduck.SmartIndenter -> D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll
7>------ Build started: Project: Rubberduck, Configuration: Debug Any CPU ------
7> Restoring NuGet packages...
7> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
7> All packages listed in packages.config are already installed.
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(32,15,32,19): warning CS0219: The variable 'next' is assigned but its value is never used
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(33,25,33,30): warning CS0219: The variable 'tuple' is assigned but its value is never used
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\UI\Refactorings\ExtractMethodDialog.cs(174,36,174,48): warning CS0649: Field 'ExtractMethodDialog._returnValue' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(65,35,65,55): warning CS0649: Field 'ExtractMethodModel._extractDeclarations' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(144,49,144,55): warning CS0649: Field 'ExtractMethodModel._input' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(141,35,141,42): warning CS0649: Field 'ExtractMethodModel._locals' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(146,49,146,56): warning CS0649: Field 'ExtractMethodModel._output' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(132,29,132,42): warning CS0649: Field 'ExtractMethodModel._sourceMember' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(32,15,32,19): warning CS0219: The variable 'next' is assigned but its value is never used
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(33,25,33,30): warning CS0219: The variable 'tuple' is assigned but its value is never used
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(132,29,132,42): warning CS0649: Field 'ExtractMethodModel._sourceMember' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(141,35,141,42): warning CS0649: Field 'ExtractMethodModel._locals' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(144,49,144,55): warning CS0649: Field 'ExtractMethodModel._input' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\UI\Refactorings\ExtractMethodDialog.cs(174,36,174,48): warning CS0649: Field 'ExtractMethodDialog._returnValue' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(65,35,65,55): warning CS0649: Field 'ExtractMethodModel._extractDeclarations' is never assigned to, and will always have its default value null
7>D:\GIT\RubberduckGitRepo\Rubberduck\RetailCoder.VBE\Refactorings\ExtractMethod\ExtractMethodModel.cs(146,49,146,56): warning CS0649: Field 'ExtractMethodModel._output' is never assigned to, and will always have its default value null
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.Parsing\bin\Debug\Rubberduck.Parsing.dll" to "bin\Debug\Rubberduck.Parsing.dll". The process cannot access the file 'bin\Debug\Rubberduck.Parsing.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SettingsProvider\bin\Debug\Rubberduck.SettingsProvider.dll" to "bin\Debug\Rubberduck.SettingsProvider.dll". The process cannot access the file 'bin\Debug\Rubberduck.SettingsProvider.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SmartIndenter\bin\Debug\Rubberduck.SmartIndenter.dll" to "bin\Debug\Rubberduck.SmartIndenter.dll". The process cannot access the file 'bin\Debug\Rubberduck.SmartIndenter.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.SourceControl\bin\Debug\Rubberduck.SourceControl.dll" to "bin\Debug\Rubberduck.SourceControl.dll". The process cannot access the file 'bin\Debug\Rubberduck.SourceControl.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 1 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 2 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 3 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 4 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 5 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 6 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 7 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 8 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): warning MSB3026: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3027: Could not copy "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". Exceeded retry count of 10. Failed.
7>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(3963,5): error MSB3021: Unable to copy file "D:\GIT\RubberduckGitRepo\Rubberduck\Rubberduck.VBEEditor\bin\Debug\Rubberduck.VBEditor.dll" to "bin\Debug\Rubberduck.VBEditor.dll". The process cannot access the file 'bin\Debug\Rubberduck.VBEditor.dll' because it is being used by another process.
========== Build: 6 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Thanks for the ongoing support.

David.

@comintern

This comment has been minimized.

Copy link
Contributor

commented Feb 9, 2017

That happens when the dll is loaded. You can't build if you have a host open that's had the VBE opened.

@retailcoder

This comment has been minimized.

Copy link
Member

commented Feb 9, 2017

The build will fail if a VBE instance (Rubberduck) is loaded somewhere; make sure VS has administrative privs and that all Office apps are closed before building.

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 9, 2017

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Feb 10, 2017

Hi all,
Here is the debug output when I started MSAccess and made Test Explorer hang again (having successfully rebuild the Duck in VS after reregistering the types.
The Test Explorer is still hanging for me at this point.
MSACCESS debug output.docx
Is this any help?
Cheers, David.

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 2, 2017

Seems related to the late-binding of the AssertClass:

2017-03-02 12:42:27.0422;ERROR-2.0.12.19847;Rubberduck.Parsing.VBA.ParseCoordinator;Unexpected exception thrown in parsing run. (thread 26).;System.Runtime.InteropServices.COMException (0x800A03EC): Cannot run the macro ''Book3'!VBAProject.TestModule1.ModuleInitialize'. The macro may not be available in this workbook or all macros may be disabled.
   at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
   at CallSite.Target(Closure , CallSite , ComObject , Object )
   at CallSite.Target(Closure , CallSite , Application , Object )
   at Rubberduck.VBEditor.Application.ExcelApp.Run(Object declaration) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.VBEEditor\Application\ExcelApp.cs:line 15
   at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 members) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110
   at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 tests) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
   at Rubberduck.UI.Command.RunAllTestsCommand.RunTests() in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 87
   at Rubberduck.UI.Command.RunAllTestsCommand.TestsRefreshed(Object sender, EventArgs e) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 69
   at Rubberduck.UI.UnitTesting.TestExplorerModel.OnTestsRefreshed() in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\UnitTesting\TestExplorerModel.cs:line 168
   at Rubberduck.UI.UnitTesting.TestExplorerModel.State_StateChanged(Object sender, ParserStateEventArgs e) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\UnitTesting\TestExplorerModel.cs:line 72
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at Rubberduck.Parsing.VBA.RubberduckParserState.OnStateChanged(Object requestor, ParserState state) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\RubberduckParserState.cs:line 309
   at Rubberduck.Parsing.VBA.RubberduckParserState.set_Status(ParserState value) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\RubberduckParserState.cs:line 539
   at Rubberduck.Parsing.VBA.RubberduckParserState.SetStatusAndFireStateChanged(Object requestor, ParserState status) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\RubberduckParserState.cs:line 552
   at Rubberduck.Parsing.VBA.ParseCoordinator.ExecuteCommonParseActivities(List`1 toParse, CancellationToken token) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:line 237
   at Rubberduck.Parsing.VBA.ParseCoordinator.ParseAllInternal(Object requestor, CancellationToken token) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:line 739
   at Rubberduck.Parsing.VBA.ParseCoordinator.ParseAll(Object requestor, CancellationToken token) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.Parsing\VBA\ParseCoordinator.cs:line 680
@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 2, 2017

Oh wait - maybe not - the test module doesn't compile... that's what's making the ExcepApp.Run call throw.

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 2, 2017

Got a repro (hung test explorer) with an unsaved workbook:

2017-03-02 13:04:50.9325;ERROR-2.0.12.19847;Rubberduck.UI.Command.RunAllTestsCommand;System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC
   at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
   at CallSite.Target(Closure , CallSite , ComObject , Object )
   at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
   at CallSite.Target(Closure , CallSite , Application , Object )
   at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1](CallSite site, T0 arg0, T1 arg1)
   at Rubberduck.VBEditor.Application.ExcelApp.Run(Object declaration) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.VBEEditor\Application\ExcelApp.cs:line 15
   at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 members) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110
   at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 tests) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
   at Rubberduck.UI.Command.RunAllTestsCommand.RunTests() in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 87
   at Rubberduck.UI.Command.RunAllTestsCommand.ExecuteImpl(Object parameter) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 46
   at Rubberduck.UI.Command.CommandBase.Execute(Object parameter) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\CommandBase.cs:line 54;

I got a message saying the file //unc/path/book3.xlsx could not be found.

After saving the file, closing everything and reopening it, "run all tests" does nothing, there's no message, just a frozen "busy" test explorer.

And this stack trace:

2017-03-02 13:09:25.7366;ERROR-2.0.12.19847;Rubberduck.UI.Command.RunAllTestsCommand;System.Runtime.InteropServices.COMException (0x800A03EC): Cannot run the macro ''test.xlsm'!VBAProject.TestModule1.ModuleInitialize'. The macro may not be available in this workbook or all macros may be disabled.
   at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
   at CallSite.Target(Closure , CallSite , ComObject , Object )
   at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
   at CallSite.Target(Closure , CallSite , Application , Object )
   at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1](CallSite site, T0 arg0, T1 arg1)
   at Rubberduck.VBEditor.Application.ExcelApp.Run(Object declaration) in c:\Dev\Rubberduck\Rubberduck\Rubberduck.VBEEditor\Application\ExcelApp.cs:line 15
   at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 members) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110
   at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable`1 tests) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
   at Rubberduck.UI.Command.RunAllTestsCommand.RunTests() in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 87
   at Rubberduck.UI.Command.RunAllTestsCommand.ExecuteImpl(Object parameter) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 46
   at Rubberduck.UI.Command.CommandBase.Execute(Object parameter) in c:\Dev\Rubberduck\Rubberduck\RetailCoder.VBE\UI\Command\CommandBase.cs:line 54;
@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 2, 2017

Turns out I had an EXCEL.EXE process lingering in Task Manager (and Rubberduck was loaded in that other process) - killing that ghost process and restarting fixed everything, the tests run, life is beautiful... and I don't know how to repro anymore 😞

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Mar 3, 2017

Not sure if this helps, but there is an common language runtime exception being thrown during the initial parse of my project:
Message "Error HRESULT E_FAIL has been returned from a call to a COM component."
image

@bravesparrow

This comment has been minimized.

Copy link
Author

commented Mar 3, 2017

Please let me know if I can send any particular dubugging output during any state, to give some more info on this.

@TorstenBStrauch

This comment has been minimized.

Copy link

commented Mar 31, 2017

Hey guys,

I am afraid you 're having a memory or CPU consumption management issue here: you see, no matter what I change - even if I don 't change anything! - as soon as I re-parse or refresh, CPU consumption goes up to 55% - and remains there for the entire rest of the session, i. e. until I shut down Access and kill the additional instance(s) in Task Manager.

In case I dare to refresh twice, it goes up to minimum 90% - and also remains there (see attachment!). So the latest after the third refresh - the machine cannot accomplish anything any more. That might also explain why you cannot have more than one Test Module in Access - obviously, the CPU and Memory consumption rises by module...

Sounds like a kind of a memory leak... - And interesting enough, it only seems to happen in Access...

Hope you will succeed in fixing this - the Add-In as such is fantastic and I use it a lot... :-)

Just let me know if I can offer more help!

Cheers,
Torsten
rubberduck_refresh_access

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

@ThunderFrame got a repro on that leak?

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

@TorstenBStrauch thanks for the feedback! There's a known issue with refreshing from the code inspections toolwindow that spawns parse and inspector tasks over the previous (possibly still running) run - this is currently being addressed; just to be sure, that CPU & memory consumption is out of refreshing from the 'Rubberduck' command bar, right?

@TorstenBStrauch

This comment has been minimized.

Copy link

commented Mar 31, 2017

Hi both,

Yes, it is reliably reproducable. And yes - the refreshing is done by clicking here:

rubber

Thanks for getting back so quickly - hope this helps fixing the issue. Please let me know if I can provide any further help.

Cheers,
Torsten

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

@TorstenBStrauch do you have the inspection results toolwindow displayed? in larger projects (and/or projects with lots of inspection results) inspections can take quite a while to complete - the problem is that the inspection task doesn't (yet) use the parser task's cancellation token, and so it's possible to start a new parse task before inspections have completed; normally the status bar should say "inspecting..." and prevent clicks, but there's a (sometimes significant) delay between 'Ready' state and the moment the toolwindow is updated with the actual inspection results - having the toolwindow displayed makes it easier to see the actual state of the add-in: the toolwindow will have a "busy" indicator until it's fully updated. I can imagine that triggering a reparse in 'Ready' state but before the toolwindow has loaded all the results can spike CPU usage.

If inspections take really long to complete, you enable logging at TRACE level, and see which one(s) is/are bottlenecking the whole thing (watch for TimedCallLoggerInterceptor logger entries); if you can live without these specific inspections then setting their severity level to DoNotShow will actually prevent them from executing at all - a rather annoyingly drastic work-around, but it should boost performance and help CPU consumption.

As for memory, we've mitigated an out of memory exception that was thrown while updating the inspection results toolwindow with several thousands of items, by introducing AggregateInspectionResult - however it's still possible that lots of inspection results might be clogging things up.

I suspect use meaningful names could possibly be one culprit - especially if you use Hungarian Notation. If that's the case you can use the inspection settings tab of the settings dialog to white-list Hungarian prefixes and/or single-letter or disemvoweled, or number-suffixed identifiers (hmm well at that point you might as well just disable it lol).

@Hosch250

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

Unless something changed, the Code/Test explorers run on ResolvedDeclarations, which is well before the inspections even dream of starting.

@TorstenBStrauch

This comment has been minimized.

Copy link

commented Mar 31, 2017

Hi there,

Sorry - no inspections... So far, I have run a code inspection only once, and only for one project. So unless this somehow remains persistent, even when closing Access, the behavior cannot have anything to do with the inspections. The code inspection window, for sure, is closed when the issue occurs...

Would it maybe help if I create a screen recording!?

Cheers,
Torsten

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

Rubberduck inspects parse trees regardless of whether the inspections toolwindow is displayed or not.

@TorstenBStrauch

This comment has been minimized.

Copy link

commented Mar 31, 2017

Aaaahhh... - That explains a lot... :-) - Because if I open the inspection window, it really takes about 3 to 5 minutes until I see the results...

However, the project is not really so big - only some 6.500 LoC ... - Is there any way of speeding up the inspections, or make them simpler so that they won 't take so long?! - However, you are right: once the inspections are through, CPU and Memory consumption drop back to normal idle level...

Thank you so much for the hint - will now try and see whether I can add more tests to the project and run them... :-)

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

Most inspections run quite fast - I suggest looking at the detailed logs to see which inspection(s) is/are clogging it up - likely it's one or two specific ones that are particularly inefficient; you could then disable these ones and things should get back to normal.

@TorstenBStrauch

This comment has been minimized.

Copy link

commented Mar 31, 2017

O. k. - that helped a lot... :-) :-) - Now Memory and CPU consumption drop back down to normal in reasonable time... :-)

However, I am afraid that is not the root cause of the issue as the freezing Test Explorer remains...

But in the log file, I can find something that might help, at the very bottom!

First, I get hundreds of rows of TRACE info, warnings etc.

But then at the very bottom, I see this:


2017-03-31 18:10:57.2003;ERROR-2.0.13.32288;Rubberduck.UI.UnitTesting.TestExplorerViewModel;System.Runtime.InteropServices.COMException (0x800A09D5): CSP_TACTS_2014 cannot find the procedure 'DbRESGuidelinesFrontend.ModuleInitialize.'
at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
at CallSite.Target(Closure , CallSite , ComObject , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
at CallSite.Target(Closure , CallSite , Application , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1](CallSite site, T0 arg0, T1 arg1)
at Rubberduck.VBEditor.Application.AccessApp.Run(Object declaration) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\Rubberduck.VBEEditor\Application\AccessApp.cs:line 18
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable1 members) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110 at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable1 tests) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
at Rubberduck.UI.Command.RunAllTestsCommand.RunTests() in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 87
at Rubberduck.UI.Command.RunAllTestsCommand.ExecuteImpl(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\RunAllTestsCommand.cs:line 46
at Rubberduck.UI.Command.CommandBase.Execute(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\CommandBase.cs:line 54;


The funny thing is: CSP_TACTS_2014 is a completely different database which just happened to be open at the same time.

Does Rubberduck reduce Access to a single-instance app while it is running?! ;-) ;-)

Cheers,
Torsten

@TorstenBStrauch

This comment has been minimized.

Copy link

commented Mar 31, 2017

O. k. - now I tried the really hard way and even re-started the machine, so not only Access...

Again, I am getting this result in the very last row of the log file, before the Test Explorer freezes:

2017-03-31 18:44:43.3666;ERROR-2.0.13.32288;Rubberduck.UI.UnitTesting.TestExplorerViewModel;System.Runtime.InteropServices.COMException (0x800A09D5): CorSo RES Guidelines Manager cannot find the procedure 'DbRESGuidelinesFrontend.ModuleInitialize.'
at System.Dynamic.ComRuntimeHelpers.CheckThrowException(Int32 hresult, ExcepInfo& excepInfo, UInt32 argErr, String message)
at CallSite.Target(Closure , CallSite , ComObject , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
at CallSite.Target(Closure , CallSite , Application , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1](CallSite site, T0 arg0, T1 arg1)
at Rubberduck.VBEditor.Application.AccessApp.Run(Object declaration) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\Rubberduck.VBEEditor\Application\AccessApp.cs:line 18
at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable1 members) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 110 at Rubberduck.UnitTesting.TestEngine.Run(IEnumerable1 tests) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UnitTesting\TestEngine.cs:line 73
at Rubberduck.UI.UnitTesting.TestExplorerViewModel.ExecuteRunNotExecutedTestsCommand(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\UnitTesting\TestExplorerViewModel.cs:line 270
at Rubberduck.UI.Command.DelegateCommand.ExecuteImpl(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\DelegateCommand.cs:line 26
at Rubberduck.UI.Command.CommandBase.Execute(Object parameter) in C:\Users\Mathieu\Documents\GitHub\Rubberduck (main)\Rubberduck\RetailCoder.VBE\UI\Command\CommandBase.cs:line 54;

Is it maybe because I have multiple test modules?! - But that should be possible, right!? - I thought I create my Unit Tests like "mod[Name]" - mod[Name]Test" ... So one test module for each "real" module / class...

Is that not possible?!

Cheers,
Torsten

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

Does Rubberduck reduce Access to a single-instance app while it is running?!

Executing arbitrary VBA code in the IDE, from C# code running in-process yet outside the execution context of the VBA runtime, isn't exactly trivial. In an ideal world we'd tap into the VBA runtime and instantiate a VBA class ourselves and run test methods on that COM object - that would literally be the Holy Grail (the things we could do if we could do that...); unfortunately the Holy Grail isn't in our hands [yet].

So Rubberduck uses Application.Run to execute unit tests (well, mostly anyway - it's host-specific), and that requires the project that contains the test modules to be active in the VBE. IIRC we do activate the project before we attempt to run code in it, but it's entirely possible things get tricky when multiple host instances are involved.

@TorstenBStrauch

This comment has been minimized.

Copy link

commented Mar 31, 2017

O. k. - got it... So I will stay away from multiple instances of Access while running the tests...

Anyway - any idea what happened in the second scenario!? - Here I definitely had no other Access instance open...

And by the way - I am fully aware that what you have so far achieved is HUGE... ;-) :-) - And it is great to see something like that exists! 👍

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

@TorstenBStrauch psst: see #2891 (not released yet) - that feature alone dwarfs everything else ;-)

@rubberduck203

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

There is a known issue (somewhere). Due to the way we call the VBA code in Access (or any multiple instance app IIRC), RD will try to execute the VBA tests in the context of the first instance of the app that it finds. Could that be causing this @retailcoder?

@retailcoder

This comment has been minimized.

Copy link
Member

commented Mar 31, 2017

@rubberduck203 quite likely.. although, IIRC we did address that issue... might be wrong though.

@ThunderFrame

This comment has been minimized.

Copy link
Member

commented Apr 4, 2017

It seems the host app should be found using return (IHostApplication)Activator.CreateInstance(HostAppMap[host]);. I'll have a look to see if there's some issue with multiple hosts running. I don't remember there being any Access code that activates the target project (like RD does for Word). Excel's Application.Run can target any project by specifying the project name, but Access requires the project be active, or IIUC, referenced by the current project.

@Vogel612

This comment has been minimized.

Copy link
Member

commented Nov 25, 2017

Should be fixed as of 68a3d50

@Vogel612 Vogel612 closed this Nov 25, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.