Vault and TestComplete
Moderator: SourceGear
Vault and TestComplete
We have been Vault users for 2.5 years now. We've succesfully used Vault 3.x and 4.x with IDE integration with Visual Studio 2003 and 2005, as well as Visual FoxPro versions 7 through 9. We've also used Vault as a standalone client with other development environments.
We've recently started using TestComplete (version 6) for testing. TestComplete offers source control integration via any SCC provider. We are unfortunately having some issues using TestComplete with integrated source control with Vault 4.0.4 and 4.0.5 clients.
We have opened a support incident with Automated QA, and at this point, they say the problem is with Vault and not with TestComplete. Here is some more detailed information.
The initial message to AutomatedQA from our tester was as follows.
*******************************************
I installed the client and added the suite to source control and it worked yesterday. After trying to get in today, it errors trying to connect to the server. I am able to open the Vault Client without any problems. I have uninstalled the client several times to try and get it to work again, but it continues to error out. If I go to tools>options>source control and select the client and then properties I get the following error message "Access violation at address 10006A0A in module 'VaultIDE.dll'. Read of address 00000000."
This was TestComplete version 6.10.230.7, Vault version 4.0.4. The OS is XP Pro SP2. We run this on virtual PCs and I have the same problem with two different virtuals with this configuration. I can manage this by using the Vault client outside of TestComplete, but we are wanting an integrated solution.
**********************************************
After going back and forth a few times with AutomatedQA, installing some additional software from them to get crash reports to them, and installing newer versions of both TestComplete and the Vault IDE, their last response is as follows:
**********************************************
Thank you for the information. We have reproduced the problem.
However, according to the results of our investigation, the crash occurs in the VaultIDE.dll library that is shipped along with Vault. We are working with SCC systems by using the standard Microsoft SCC API, and it looks like there is an issue in Vault's implementation of the API.
So, we think that the problem is on Vault's side, and we cannot fix it in TestComplete.
***********************************************
As far as we're concerened, we're not really interested in a blame game. We just want to be able to use these two products together with source control working as expected integrated into the TestComplete IDE.
Does SourceGear have a suggestion as to what steps to take next to resolve the issue? Could this actually be a Vault issue?
thanks,
JE
We've recently started using TestComplete (version 6) for testing. TestComplete offers source control integration via any SCC provider. We are unfortunately having some issues using TestComplete with integrated source control with Vault 4.0.4 and 4.0.5 clients.
We have opened a support incident with Automated QA, and at this point, they say the problem is with Vault and not with TestComplete. Here is some more detailed information.
The initial message to AutomatedQA from our tester was as follows.
*******************************************
I installed the client and added the suite to source control and it worked yesterday. After trying to get in today, it errors trying to connect to the server. I am able to open the Vault Client without any problems. I have uninstalled the client several times to try and get it to work again, but it continues to error out. If I go to tools>options>source control and select the client and then properties I get the following error message "Access violation at address 10006A0A in module 'VaultIDE.dll'. Read of address 00000000."
This was TestComplete version 6.10.230.7, Vault version 4.0.4. The OS is XP Pro SP2. We run this on virtual PCs and I have the same problem with two different virtuals with this configuration. I can manage this by using the Vault client outside of TestComplete, but we are wanting an integrated solution.
**********************************************
After going back and forth a few times with AutomatedQA, installing some additional software from them to get crash reports to them, and installing newer versions of both TestComplete and the Vault IDE, their last response is as follows:
**********************************************
Thank you for the information. We have reproduced the problem.
However, according to the results of our investigation, the crash occurs in the VaultIDE.dll library that is shipped along with Vault. We are working with SCC systems by using the standard Microsoft SCC API, and it looks like there is an issue in Vault's implementation of the API.
So, we think that the problem is on Vault's side, and we cannot fix it in TestComplete.
***********************************************
As far as we're concerened, we're not really interested in a blame game. We just want to be able to use these two products together with source control working as expected integrated into the TestComplete IDE.
Does SourceGear have a suggestion as to what steps to take next to resolve the issue? Could this actually be a Vault issue?
thanks,
JE
Jim:
The MSSCCI includes an open set of calls on how to connect to the version control server. When connecting to the Vault server, the IDE client has a built in dependency, an ordering if you will, that calls need to make in order to successfully log onto the Vault server.
That ordering in the VaultIDE.dll was ordained by the exact calls Microsoft makes in Visual Studio, Dev Studio, and Visual Basic. In most cases this has also worked for people using Fox Pro.
However, different vendor IDEs may interpret the API differently and make calls in a different order. This restriction is the sole reason we do not officially support more than the standard Microsoft IDEs with MSSCCI integration.
With that said, let's see if we can find out what is going on. In your registry, find HKCU\Software\SourceGear\Vault Client\. Add a new string vallue named "SCCLogFileName" if it does not already exist. Next, set a hard coded path, something like c:\vauldide.log. Finally start up a known tool which can log to the file (ie Visual Studio) and open a project which logs into the Vault server. Was a log file created?
Save the log file, and now try the same thing with TestComplete.
We'll need the two log files to see why TestComplete is having the problem.
The MSSCCI includes an open set of calls on how to connect to the version control server. When connecting to the Vault server, the IDE client has a built in dependency, an ordering if you will, that calls need to make in order to successfully log onto the Vault server.
That ordering in the VaultIDE.dll was ordained by the exact calls Microsoft makes in Visual Studio, Dev Studio, and Visual Basic. In most cases this has also worked for people using Fox Pro.
However, different vendor IDEs may interpret the API differently and make calls in a different order. This restriction is the sole reason we do not officially support more than the standard Microsoft IDEs with MSSCCI integration.
With that said, let's see if we can find out what is going on. In your registry, find HKCU\Software\SourceGear\Vault Client\. Add a new string vallue named "SCCLogFileName" if it does not already exist. Next, set a hard coded path, something like c:\vauldide.log. Finally start up a known tool which can log to the file (ie Visual Studio) and open a project which logs into the Vault server. Was a log file created?
Save the log file, and now try the same thing with TestComplete.
We'll need the two log files to see why TestComplete is having the problem.
Jeff Clausius
SourceGear
SourceGear
Jeff,
Here are the log files you requested.
Here is the error my tester is reporting.
If I go to tools>options>source control and select the client and then properties I get the following error message "Access violation at address 10006A0A in module 'VaultIDE.dll'. Read of address 00000000."
This only happens the second time he opens TestComplete and performs the tasks. FYI: I tried this on his machine using MY credentials and had the same issue.
Attached are two log files.
vaultide_TCTest.log.txt is the log while working with TestComplete.
vauldide_VsTest.log.txt is the log while working in Visual Studio 2005
In the TCTest.log.txt log, you'll see my first attempt, which was succesful. I then shut down TestComplete. I started TestComplete back up and tried the same operation and got the error described above (as the log illustrates it doesn't get very far at all). I then completely restarted the machine, re-opened TestComplete and tried the operation and still got the error.
Since this happens only the second time somebody attempts to access Vault through TestComplete, I suspect it has something to do with the local cache, but I don't know that for sure.
thanks,
JE
Here are the log files you requested.
Here is the error my tester is reporting.
If I go to tools>options>source control and select the client and then properties I get the following error message "Access violation at address 10006A0A in module 'VaultIDE.dll'. Read of address 00000000."
This only happens the second time he opens TestComplete and performs the tasks. FYI: I tried this on his machine using MY credentials and had the same issue.
Attached are two log files.
vaultide_TCTest.log.txt is the log while working with TestComplete.
vauldide_VsTest.log.txt is the log while working in Visual Studio 2005
In the TCTest.log.txt log, you'll see my first attempt, which was succesful. I then shut down TestComplete. I started TestComplete back up and tried the same operation and got the error described above (as the log illustrates it doesn't get very far at all). I then completely restarted the machine, re-opened TestComplete and tried the operation and still got the error.
Since this happens only the second time somebody attempts to access Vault through TestComplete, I suspect it has something to do with the local cache, but I don't know that for sure.
thanks,
JE
- Attachments
-
- vaultide_TCTest.log.txt
- (2.6 KiB) Downloaded 383 times
-
- vaultide_VsTest.log.txt
- (7.54 KiB) Downloaded 439 times
It looks like TestComplete does not have the repository project information to pass to the Vault IDE component. The call here then fails.
It may be some of this information may not immediately be known. For instance, Visual Studio doesn't store repository or path information in the project files. Instead, Visual Studio triggers Vault to write out MSSCCPRJ.SCC files which contain server and repository information in relation to the local disk path.
Whatever the case, the GetProjPath() call does not have enough server / repository information to complete, and the call to Vault's IDE component ends up failing.
Do you see any MSSCCPRJ.SCC in the TestComplete folders?
It may be some of this information may not immediately be known. For instance, Visual Studio doesn't store repository or path information in the project files. Instead, Visual Studio triggers Vault to write out MSSCCPRJ.SCC files which contain server and repository information in relation to the local disk path.
Whatever the case, the GetProjPath() call does not have enough server / repository information to complete, and the call to Vault's IDE component ends up failing.
Do you see any MSSCCPRJ.SCC in the TestComplete folders?
Jeff Clausius
SourceGear
SourceGear
Jeff,
I'm not sure where this would cause the fault in vauldide.dll when attempting to open Vault properties. This happens even when no project is currently open in TestComplete.
As I read the log, the error occurrs after the following four commands are executed:
12/19/07 10:37:43 | Enter SccInitialize(), ppContext=97962800, hWnd=393790 lpAuxPathLabel=
12/19/07 10:37:43 | Exit SccInitialize(), ppContext=97962800, hWnd=393790 lpAuxPathLabel=Vault Project:
12/19/07 10:37:43 | Enter SccGetCommandOptions()
12/19/07 10:37:43 | Enter SccGetCommandOptions()
In the first example in the log, where it didn't throw the error, TestComplete issues those same 4 commands followed 40 seconds later by Enter SccUninitialize(), pContext=24256888
No error occurrs in that instance. If the issue was the lack of MSSCCPRJ.SCC files, wouldn't that be a project/solution specific issue and not have anything to do with opening the properties of the vault client via TestComplete.
To verify this, I also created a new TestComplete solution/suite, then attempted to add it to source control. I figured a clean slate would be a good way to test your theory. I couldn't get the Vault client to launch in any way, shape or form, just the error.
To get a reality check, I installed Visual SourceSafe 2005 on the development image to see if I ran into the same issues and/or if TestComplete causes VSS to create the MSSCCPRJ.SCC files. As far as I could tell, none of these files got created. There are some VSS references inside the TestComplete suite and project files.
In other words, IDE integration for TestComplete seems to work just fine with VSS in all of the scenarios I tested it in. I did completely restart the machine just to verify that the issues we are seeing with Vault didn't start occurring with VSS and they did not crop up at that point either.
We really want to use Vault integrated into TestComplete, but I'm at a loss as to what we need to do next to ensure this happening.
regards,
JE
I'm not sure where this would cause the fault in vauldide.dll when attempting to open Vault properties. This happens even when no project is currently open in TestComplete.
As I read the log, the error occurrs after the following four commands are executed:
12/19/07 10:37:43 | Enter SccInitialize(), ppContext=97962800, hWnd=393790 lpAuxPathLabel=
12/19/07 10:37:43 | Exit SccInitialize(), ppContext=97962800, hWnd=393790 lpAuxPathLabel=Vault Project:
12/19/07 10:37:43 | Enter SccGetCommandOptions()
12/19/07 10:37:43 | Enter SccGetCommandOptions()
In the first example in the log, where it didn't throw the error, TestComplete issues those same 4 commands followed 40 seconds later by Enter SccUninitialize(), pContext=24256888
No error occurrs in that instance. If the issue was the lack of MSSCCPRJ.SCC files, wouldn't that be a project/solution specific issue and not have anything to do with opening the properties of the vault client via TestComplete.
To verify this, I also created a new TestComplete solution/suite, then attempted to add it to source control. I figured a clean slate would be a good way to test your theory. I couldn't get the Vault client to launch in any way, shape or form, just the error.
To get a reality check, I installed Visual SourceSafe 2005 on the development image to see if I ran into the same issues and/or if TestComplete causes VSS to create the MSSCCPRJ.SCC files. As far as I could tell, none of these files got created. There are some VSS references inside the TestComplete suite and project files.
In other words, IDE integration for TestComplete seems to work just fine with VSS in all of the scenarios I tested it in. I did completely restart the machine just to verify that the issues we are seeing with Vault didn't start occurring with VSS and they did not crop up at that point either.
We really want to use Vault integrated into TestComplete, but I'm at a loss as to what we need to do next to ensure this happening.
regards,
JE
The failure is happening in SccGetProjPath. "lpProjName= " should have information regarding the server's connection as well as the repository path. The info is blank from TestComplete.
My theory is the Vault IDE DLL is returning an error for this call because it is expecting information for repository and repository path. At this point, my guess is TestComplete completely shuts down the integration.
When you connected within Test Complete, did it ever bring up a Vault login dialog and then another dialog to choose the repository path?
My theory is the Vault IDE DLL is returning an error for this call because it is expecting information for repository and repository path. At this point, my guess is TestComplete completely shuts down the integration.
When you connected within Test Complete, did it ever bring up a Vault login dialog and then another dialog to choose the repository path?
Jeff Clausius
SourceGear
SourceGear
Jeff,
I didn't get notified that you'd posted to my last reply back in December. My apologies for not responding. The very first initial time I install TestComplete and add the very first project to Vault, I do get a login and choose the repository. I've even succesfully added the project and can work with it under source control until the first time I close TestComplete. After that, it crashes every time I try to connect to source control from within TestComplete.
When I say every time, I mean wether I try to reopen the initial project added from TestComplete into vault, to adding any other project to vault, opening an existing project from vault, or trying to change the vault options from the TestComplete options panel.
I spent 3 days trying to try installing various TestComplete builds and Vault Client builds in different orders to try to get a working solution, but none of them worked.
The thing that still kills me is that we have one virtual machine where it consistently works as expected, and all others crash consistently. I have not been able to determine what makes THAT particular virtual machine different from the others. Same Host OS, both using Vault 4.x client and TestComplete 6.x.
The only thing that strikes me is that it also has TestComplete 3.x installed. I tried installing that first on a different virtual machine, then installing TestComplete 6.x and Vault Client 4.x but still had the issue. It also had Vault Client 3.19 installed prior to Vault Client 4.x, but another virtual machine with that same configuration that was upgraded to 4.x has the same crashing issue.
My project manager is at TestComplete training this week and is hoping to get some assistance there. He's the one who let me know you were waiting for a response from me. Sorry again for the long delay.
regards,
JE
I didn't get notified that you'd posted to my last reply back in December. My apologies for not responding. The very first initial time I install TestComplete and add the very first project to Vault, I do get a login and choose the repository. I've even succesfully added the project and can work with it under source control until the first time I close TestComplete. After that, it crashes every time I try to connect to source control from within TestComplete.
When I say every time, I mean wether I try to reopen the initial project added from TestComplete into vault, to adding any other project to vault, opening an existing project from vault, or trying to change the vault options from the TestComplete options panel.
I spent 3 days trying to try installing various TestComplete builds and Vault Client builds in different orders to try to get a working solution, but none of them worked.
The thing that still kills me is that we have one virtual machine where it consistently works as expected, and all others crash consistently. I have not been able to determine what makes THAT particular virtual machine different from the others. Same Host OS, both using Vault 4.x client and TestComplete 6.x.
The only thing that strikes me is that it also has TestComplete 3.x installed. I tried installing that first on a different virtual machine, then installing TestComplete 6.x and Vault Client 4.x but still had the issue. It also had Vault Client 3.19 installed prior to Vault Client 4.x, but another virtual machine with that same configuration that was upgraded to 4.x has the same crashing issue.
My project manager is at TestComplete training this week and is hoping to get some assistance there. He's the one who let me know you were waiting for a response from me. Sorry again for the long delay.
regards,
JE
-
- Posts: 2
- Joined: Tue Jun 03, 2008 3:24 pm
I have the same problem using vault 3.1.8 as source control in Test Complete 6 (tested in 6.20 and 6.30 with the same result). I'm running windows XP SP2 and installed SP3 to see if it fixes the problem but it didn't.
But here is the weird thing I was working perfectly in my previous computer Dell Optiplex GX520 with pentium D but now that I upgraded to the Optiplex 755 with Core2vPro is that I'm getting the error.
My error is a little different:
Access violation at address 100068DA in module 'VauldIDE.dll'.Read of address 00000000.
I tried modifying the registry to create the log but it didn't work for me.
This is the only place in all the web that mention this error.
Thanks for your help.
But here is the weird thing I was working perfectly in my previous computer Dell Optiplex GX520 with pentium D but now that I upgraded to the Optiplex 755 with Core2vPro is that I'm getting the error.
My error is a little different:
Access violation at address 100068DA in module 'VauldIDE.dll'.Read of address 00000000.
I tried modifying the registry to create the log but it didn't work for me.
This is the only place in all the web that mention this error.
Thanks for your help.
Looks like almost exactly the same error we started with. We've upgraded to Vault 4.1.1 (server and client) across the board since my last post. The main virtual machine we use for TestComplete is having problems installing the latest version of the Vault client for some reason that our tester is trying to figure out.
I'm hoping that once we get the Vault client 4.1.1 client install straightened out on that VM, the situation will be resolved, but I'm not holding my breath.
It sure would be great to get vault integration working.
BTW: On the upside, I just used Vault for the first time from inside Sql Server 2005 management studio and it's been working great so far!
regards,
JE
I'm hoping that once we get the Vault client 4.1.1 client install straightened out on that VM, the situation will be resolved, but I'm not holding my breath.
It sure would be great to get vault integration working.
BTW: On the upside, I just used Vault for the first time from inside Sql Server 2005 management studio and it's been working great so far!
regards,
JE
Since we've never tried Vault with TestComplete and don't support it, there's not a lot we can do here.
There may be another thing you can try, though I have no idea whether it will work or not or even if it's relevant. We did use it to help a user with MS Access get integration working.
We had the user create a config file that would cause the application to load the proper version of the .net framework. The config file starts with the name of the executable of the application you are integrating with, for example vb.exe.config, msaccess.exe.config, etc.
This file is placed in the same directory as the executable.
Details here: http://support.sourcegear.com/viewtopic.php?t=9881
For Vault 4.x you'd reference the .net 2.0 Framework. For Vault 3.1 try either the 1.1 Framework or 2.0 Framework.
There may be another thing you can try, though I have no idea whether it will work or not or even if it's relevant. We did use it to help a user with MS Access get integration working.
We had the user create a config file that would cause the application to load the proper version of the .net framework. The config file starts with the name of the executable of the application you are integrating with, for example vb.exe.config, msaccess.exe.config, etc.
This file is placed in the same directory as the executable.
Details here: http://support.sourcegear.com/viewtopic.php?t=9881
For Vault 4.x you'd reference the .net 2.0 Framework. For Vault 3.1 try either the 1.1 Framework or 2.0 Framework.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
I had a similar problem with another IDE (Toad) about three years ago. The workaround I found was to have a SCC switcher in between, it somehow solved the issue (maybe by changing some call parameter or whatever).
I used this one: PushOK SCC Dispatcher
It's free (or at least it used to be when I was using it).
I used this one: PushOK SCC Dispatcher
It's free (or at least it used to be when I was using it).
-
- Posts: 2
- Joined: Tue Jun 03, 2008 3:24 pm
Linda, I added the configuration file in the same folder where the Test Complete executable file is (C:\Program Files\Automated QA\TestComplete 6\Bin) and it works.
This is what the file have just in case anyone needed. Just save it as TestComplete.exe.config
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<requiredRuntime version="v2.0.50727" safemode="true"/>
</startup>
</configuration>
Thanks for your help,
This is what the file have just in case anyone needed. Just save it as TestComplete.exe.config
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<requiredRuntime version="v2.0.50727" safemode="true"/>
</startup>
</configuration>
Thanks for your help,