VS2008 explodes during Open from Vault operation

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

gsmalter
Posts: 115
Joined: Sat Jul 09, 2005 11:13 am

VS2008 explodes during Open from Vault operation

Post by gsmalter » Sat Feb 23, 2008 4:56 pm

We've successfully migrated all of our solutions to VS2008 with the enhanced client, and once they are up and running, they work okay.

But, when a fresh machine tries to get a solution it doesn't have, using the Open from Vault command within VS2008, it fails.

The error is something like "Intellisense has stopped working" and all of VS2008 closes.

We can work around this by getting the solution folder using the Vault Client and then just opening it from our hard drive, but we shouldn't have to do that.

This happens in Vista, both 32 and 64 bit.

Any ideas?

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Mon Feb 25, 2008 10:56 am

How were these solutions originally added to the repository? If they weren't added using the Enhanced Client, Open From Vault may not work. There's more about that here: http://support.sourcegear.com/viewtopic ... 9672#39065

That being said, it certainly shouldn't close Visual Studio completely. If you'd be willing to turn on diagnostic logging and send me a log that includes a failed open from Vault, I can dig deeper. You can turn on the log under Tools->Options->Source Control->Vault Options->Enable diagnostic logging. This will create a log file at %TEMP%\VaultVsipClient.txt. You can attach it here, or if you'd prefer, email it to ian at sourcegear dot com.

EDIT: One more question: did this work under VS 2005?

Thanks.
Ian Olsen
SourceGear

gsmalter
Posts: 115
Joined: Sat Jul 09, 2005 11:13 am

Post by gsmalter » Tue Feb 26, 2008 11:07 am

Re-opening from Vault after a failure sometimes works. Opening the solution file from the hard drive after a failure seems to always work.

Lately I've been getting the error in VS, hitting cancel instead of Send Error, and it's finished successfully.

It's kind of annoying but not really a huge problem. I'm going to be done Opening from Vault soon, so it won't be an issue anymore.

mabster
Posts: 12
Joined: Wed Dec 15, 2004 9:53 pm

Post by mabster » Thu Apr 17, 2008 9:48 pm

We've experienced this same Intellisense crash in Visual Studio 2008 Professional on three different PCs here, when getting-latest from the IDE and when opening a sln from the IDE. We're using 4.1.0 (16216).

Is there something I can post log-wise that might help track it down? Or should I bring us up to the 18xxx version that was recently released? Does that have a fix?

Cheers,
Matt

matt_stephens
Posts: 27
Joined: Wed Mar 08, 2006 4:22 am

Post by matt_stephens » Fri Apr 18, 2008 4:28 am

I'm seeing exactly the same issue. We were using VS2005 with the old integration client and have recently upgraded to both VS2008 and Vault 4.1.0 (16216) with the Enhanced Integration Client.

Our large C++ project solution works perfectly with 47 projects and a total of about 3500 files but now i am upgrading a web application project i am having trouble.

To do the upgrade i got the code from vault then opened in VS so it would upgrade the projects. I opted to unbind from Vault at that point since the projects were using the old integration client. Having performed the upgrade on the projects to VS2008 i re-bound to vault and checked in the changes.

Deleting everything from the local system and then using the open from vault seems to pull in most of the files but then VS2008 crashes with the intellisense error.

If i open the solution again i can see the missing files in a couple of projects. If i choose get latest on those projects it pulls in the files ok.

Now if i build and run the project i get the following message:
Source Control Plug-in
The active solution or project is controlled by a different source control plug-in than the one you have selected. If you change the source control plug-in, the active solution or project will be closed.

If i choose Yes to continue then i get a further error message: Object reference not set to an instance of an object. My Solution explorer windows are all completely empty at this point. Closing the browser window drops back to Visual Studio but it has closed the solution.

Re-opening the project allows me to run without seeing these errors despite not changing anything about the Vault plug-in i am using.

The vault pending checkins window thinks that i want to create a bin folder and add dll and pdb files from the referenced class library projects and interop assemblies which i definately don't want to do. How can i stop this from happening?

While doing the upgrade i have also seen the following problem if i try to commit changes then i see the checkin dialog appear but then get an error dialog with the following message:

Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.VisualStudio.Shell.Interop.IPersistFileFormat'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{3AFAE242-B530-11D0-8199-00A0C91BBEE3}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

Dismiss this dialog and i get a message box with the title 'No Eligable Changes' and the text of 'There were no items found for commit.'

The above description of events was based on a Vista x64 PC. I just tried using Open From Vault on my old laptop running XP SP2 on an old single processor (not even hyperthreading!) and while i do get the dialog about an error with Intellisense i get the option to send or cancel the error report. Having dismissed the dialog all of the source code is downloaded from the vault server and i can run and debug ok. However, it still insists that my referenced DLL's and their PDB files should be added to vault.

Sorry this is so long, i hope the information helps. If there is anything else i can do to help you fix the problem let me know as this is a major issue for us before we can switch all our guys over to VS2008.

Thanks

Matt

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Fri Apr 18, 2008 8:46 am

We've had a few reports of this Intellisense error now, but we've never reproduced it in-house. I'd really like to figure out what's happening. I would recommend upgrading to 4.1.1 in general, but I doubt that it will fix this particular issue.

If either of you would be willing to turn on diagnostic logging for the Enhanced client, retrace your steps, and send me the log, I'd be very grateful. (You can attach it here or email it to ian at sourcegear dot com.) If you could include a synopsis of the steps you took before seeing the error, that would also be very helpful.

Matt, after the intellisense error and VS crash, it's safe to assume that the project is in a half-baked state, so the weird behavior you're describing after that is probably the cause. In terms of a work-around, fetching the solution via the stand-alone client and opening it normally should get you up and running. (I certainly want to figure out why this is happening, and fix it, but I don't want you to have to stop work in the mean time.)

I do all my development on a quad-core x64 Vista machine now, so if that's related, I should be able to see it. (I haven't so far.)

DLLs and PDBs should only be included if you've explicitly included them (not referenced, but included the files themselves) in a project. Are you seeing something different? What type of project is it?
Ian Olsen
SourceGear

gsmalter
Posts: 115
Joined: Sat Jul 09, 2005 11:13 am

Post by gsmalter » Fri Apr 18, 2008 8:51 am

I'm the original poster, and I've noticed a few more details now. First, it doesn't just happen when doing Open From Vault. It seems to happen any time there are a large number of files to get.

Also, I can predict the problem occurring by looking in the lower level corner where it says Retrieving Files from Vault. Here, it will say something invalid, like "Received file 11/0." It's always out of 0. The first number will keep increasing and eventually it will die.

I can't reproduce it reliably enough to log it, but those are some things I've noticed.
Vault 5.0, Visual Studio 2010, Enhanced Client

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Fri Apr 18, 2008 8:56 am

The zero denominator issue was fixed in 4.1.1. I don't think it's related, but I'll keep that in mind.

From what I've seen so far, my the problem seems related to loading or reloading a project after its been fetched. This happens during Open From Vault and Get Latest when a project file has changed.
Ian Olsen
SourceGear

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Fri Apr 18, 2008 1:02 pm

Matt sent a detailed report which led us right to the issue. I expect we'll have a fix in 4.1.2.
Ian Olsen
SourceGear

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Mon Apr 21, 2008 10:01 am

Note that the fix I'm talking about here is for the Intellisense error when opening from Vault, or doing a get latest that loads new projects.

The COM interface error that Matt Stephens mentioned is the result of an unregistered COM dll.

You can fix that on a 64-bit OS by running this from the command line:

Code: Select all

regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\TextMgrP.dll"
On a 32-bit OS the command would be

Code: Select all

regsvr32 "C:\Program Files\Common Files\Microsoft Shared\MSEnv\TextMgrP.dll"
On Vista, of course, you need to launch cmd.exe with administrative privileges before running the command.
Ian Olsen
SourceGear

gsmalter
Posts: 115
Joined: Sat Jul 09, 2005 11:13 am

Post by gsmalter » Mon Apr 21, 2008 10:07 am

Will a future client release automatically fix this problem or do we have to run that line no matter what?
Vault 5.0, Visual Studio 2010, Enhanced Client

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Mon Apr 21, 2008 10:10 am

You should run this only if you're getting the error Matt mentioned:

Code: Select all

Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.VisualStudio.Shell.Interop.IPersistFileFormat'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{3AFAE242-B530-11D0-8199-00A0C91BBEE3}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).
The 4.1.2 client installer may also include a check to ensure that this dll is registered on relevant machines.
Ian Olsen
SourceGear

andrewbadera
Posts: 14
Joined: Wed Jun 13, 2007 8:55 am
Location: Albany, NY, USA
Contact:

Post by andrewbadera » Sat Jun 07, 2008 4:29 pm

ian_sg wrote: You can fix that on a 64-bit OS by running this from the command line:

Code: Select all

regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\TextMgrP.dll"
Awesome, worked for me, thanks.

ian_sg
Posts: 787
Joined: Wed May 04, 2005 10:55 am
Location: SourceGear
Contact:

Post by ian_sg » Sat Jun 07, 2008 6:37 pm

I'm glad to hear this worked, Andrew.

Did you have this problem with 4.1.2? On what OS?
Ian Olsen
SourceGear

andrewbadera
Posts: 14
Joined: Wed Jun 13, 2007 8:55 am
Location: Albany, NY, USA
Contact:

Post by andrewbadera » Sun Jun 08, 2008 3:56 am

ian_sg wrote:I'm glad to hear this worked, Andrew.

Did you have this problem with 4.1.2? On what OS?
My situation was while adding a fresh solution to Vault. Vista Biz x64 with 4.1.1 client and server.

Post Reply