Check-in Error: VaultRefCopyException

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

Moderator: SourceGear

Post Reply
Smaz
Posts: 4
Joined: Thu Mar 27, 2008 4:14 pm

Check-in Error: VaultRefCopyException

Post by Smaz » Thu Mar 27, 2008 4:16 pm

We are using Vault Server and Client version 4.1.0.16216.

There is one file in our repository that fails to check-in. Everybody on our team has been able to check-out the file. But we all get the same error when we attempt a check-in on this file.

Can anybody determine the root cause of this problem or a work-around?


This is the error that occurs when I run the Vault client while logged into the Vault server.

[3/27/2008 5:04:25 PM] Preparing data to begin transaction
[3/27/2008 5:04:25 PM] Beginning transaction
[3/27/2008 5:04:25 PM] An error occurred while trying to begin a transaction.
[3/27/2008 5:04:25 PM] Transaction failed
[3/27/2008 5:04:25 PM] An exception was encountered during the transaction. Exception: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> VaultLib.VaultRefCopyException: Error in the application.
at VaultServiceBase.VaultRepository.CreateFolderReferenceCopy(Int64 nRevID, HybridDictionary hdNewRefParents, VaultFolders vfOwners, VaultFolder vfOld)
at VaultServiceBase.VaultRepository.GetReferenceCopiesByPath(Int64 nRevID, HybridDictionary hdNewRefParents, String strAbsolutePath, Boolean bRefCopyLastObjectWithAllFolders, VaultFSObjects& fsoList, Int32& nPinCount)
at VaultServiceAPILib.VaultTransactionContainer.GetReferenceCopiesByPath(String strAbsolutePath, VaultFSObjects& fsoList, Int32& nPinCount)
at VaultServiceAPILib.VaultTransaction.PreCheckCheckIn(Int32 nCurrStatCode, VaultRequestCheckIn vrci, String strFileToken, VaultResponseCheckIn vRespCheckIn, VaultTransactionContainer txContainer)
at VaultServiceAPILib.VaultServiceAPI.BeginTx(Int32 nTxUserID, Int32 nRepID, VaultDateTime dtBeginTx, String strComment, VaultRequestItem[]& requests, String& strTxID, VaultIntTx& vit)
at VaultService.VaultService.DoBeginTx(String strCallerLogEvt, Int32 nTxUserID, Int32 nRepID, VaultDateTime dtBeginTx, String strComment, VaultRequestItem[]& requests, String& strTxID)
at VaultService.VaultService.BeginTx(Int32 nRepID, String strComment, VaultRequestItem[]& requests, String& strTxID)
--- End of inner exception stack trace --- at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at VaultClientNetLib.ClientService.VaultService.BeginTx(Int32 nRepID, String strComment, VaultRequestItem[]& requests, String& strTxID)
at VaultClientNetLib.VaultConnection.BeginTx(Int32 nRepID, VaultRequestItem[]& requests, String& strTxID, String comment)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, String strChangeSetComment, Boolean keepCheckedOut, Boolean removeLocalCopy, CommitType committype, VaultDateTime dateImport, Int32 nUserIDImport, Int64& nRevID, Int32[]& retBegEndTx)


This is the error that occurs when I attempt the check-in from Vault client connecting to networked Vault server.

[3/27/2008 4:58:04 PM] Version Check: This Vault client is version 4.1.0.16216
[3/27/2008 4:58:04 PM] Version Check: Your Vault server is version 4.1.0.16216
[3/27/2008 4:58:04 PM] Version Check: The following information was retrieved from the SourceGear website. No information was sent to SourceGear. You can disable this part of the version check from the Options dialog.
[3/27/2008 4:58:04 PM] Version Check: The most recent Vault release is version 4.1.0.16216
[3/27/2008 4:58:34 PM] Preparing data to begin transaction
[3/27/2008 4:58:34 PM] Beginning transaction
[3/27/2008 4:58:34 PM] An error occurred while trying to begin a transaction.
[3/27/2008 4:58:34 PM] Transaction failed
[3/27/2008 4:58:34 PM] An exception was encountered during the transaction. Exception: Server was unable to process request. ---> Error in the application. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at VaultClientNetLib.ClientService.VaultService.BeginTx(Int32 nRepID, String strComment, VaultRequestItem[]& requests, String& strTxID)
at VaultClientNetLib.VaultConnection.BeginTx(Int32 nRepID, VaultRequestItem[]& requests, String& strTxID, String comment)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, String strChangeSetComment, Boolean keepCheckedOut, Boolean removeLocalCopy, CommitType committype, VaultDateTime dateImport, Int32 nUserIDImport, Int64& nRevID, Int32[]& retBegEndTx)


This is the error that occurs when I attempt the check-in from Visual Studio 2008.

Preparing data to begin transaction
Beginning transaction
An error occurred while trying to begin a transaction.
Transaction failed
An exception was encountered during the transaction. Exception: Server was unable to process request. ---> Error in the application. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at VaultClientNetLib.ClientService.VaultService.BeginTx(Int32 nRepID, String strComment, VaultRequestItem[]& requests, String& strTxID)
at VaultClientNetLib.VaultConnection.BeginTx(Int32 nRepID, VaultRequestItem[]& requests, String& strTxID, String comment)
at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, String strChangeSetComment, Boolean keepCheckedOut, Boolean removeLocalCopy, CommitType committype, VaultDateTime dateImport, Int32 nUserIDImport, Int64& nRevID, Int32[]& retBegEndTx)

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Thu Mar 27, 2008 4:57 pm

If you have Visual Studio closed, you are saying that you can check that file out in Vault but can't check it in? I just to make sure we confine this to one spot. If this happens in the Vault GUI, then let's keep VS closed for now.

Then try to perform a check-out, edit the file, and a check-in. If you don't edit the file, then by default, it will perform an undo check-out rather than a check-in. Is that how you were exactly doing it before?

Smaz
Posts: 4
Joined: Thu Mar 27, 2008 4:14 pm

Post by Smaz » Fri Mar 28, 2008 7:01 am

With VS closed, I opened Vault Client, checked-out the file and modified it. I still get the same error when I attempt to check-in the file.

Smaz
Posts: 4
Joined: Thu Mar 27, 2008 4:14 pm

Post by Smaz » Fri Mar 28, 2008 7:09 am

Here is the error that appears in the Vault Server log.


--SSL Disabled BeginTx: Critical Error! Error in the application.
at VaultServiceBase.VaultRepository.CreateFolderReferenceCopy(Int64 nRevID, HybridDictionary hdNewRefParents, VaultFolders vfOwners, VaultFolder vfOld)
at VaultServiceBase.VaultRepository.GetReferenceCopiesByPath(Int64 nRevID, HybridDictionary hdNewRefParents, String strAbsolutePath, Boolean bRefCopyLastObjectWithAllFolders, VaultFSObjects& fsoList, Int32& nPinCount)
at VaultServiceAPILib.VaultTransactionContainer.GetReferenceCopiesByPath(String strAbsolutePath, VaultFSObjects& fsoList, Int32& nPinCount)
at VaultServiceAPILib.VaultTransaction.PreCheckCheckIn(Int32 nCurrStatCode, VaultRequestCheckIn vrci, String strFileToken, VaultResponseCheckIn vRespCheckIn, VaultTransactionContainer txContainer)
at VaultServiceAPILib.VaultServiceAPI.BeginTx(Int32 nTxUserID, Int32 nRepID, VaultDateTime dtBeginTx, String strComment, VaultRequestItem[]& requests, String& strTxID, VaultIntTx& vit)
at VaultService.VaultService.DoBeginTx(String strCallerLogEvt, Int32 nTxUserID, Int32 nRepID, VaultDateTime dtBeginTx, String strComment, VaultRequestItem[]& requests, String& strTxID)

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Fri Mar 28, 2008 10:19 am

Can I have you perform an iisreset on your server? Just go to Start - Run and type iisreset.

That should clear up that error.

Smaz
Posts: 4
Joined: Thu Mar 27, 2008 4:14 pm

Post by Smaz » Fri Mar 28, 2008 12:07 pm

I ended up rebooting the server and that fixed the problem.

Thank you.

Beth
Posts: 8550
Joined: Wed Jun 21, 2006 8:24 pm
Location: SourceGear
Contact:

Post by Beth » Fri Mar 28, 2008 1:46 pm

Thanks for the follow up.

earlNameless
Posts: 7
Joined: Fri Apr 25, 2008 1:59 pm

Post by earlNameless » Fri Apr 25, 2008 2:11 pm

We have recently experienced a similar problem. It affected all files in a folder for us, and the majority of those are linked (shared) to 3 other folders.

After the server machine was restarted, the problem went away (for now).

Here is the client log:

Code: Select all

[4/25/2008 3:17:26 PM] An exception was encountered during the transaction.  Exception: Server was unable to process request. ---> Error in the application.   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at VaultClientNetLib.ClientService.VaultService.BeginTx(Int32 nRepID, String strComment, VaultRequestItem[]& requests, String& strTxID)
   at VaultClientNetLib.VaultConnection.BeginTx(Int32 nRepID, VaultRequestItem[]& requests, String& strTxID, String comment)
   at VaultClientOperationsLib.ClientInstance.Commit(ChangeSetItemColl givenItems, String strChangeSetComment, Boolean keepCheckedOut, Boolean removeLocalCopy, CommitType committype, VaultDateTime dateImport, Int32 nUserIDImport, Int64& nRevID, Int32[]& retBegEndTx)
Here is the server log:

Code: Select all

BeginTx: Critical Error! Error in the application.
   at VaultServiceBase.VaultFolder.DeleteFolderEntryByName(HybridDictionary htParentObjects, String strSearchName, Int32 nObjType, Int32 nFSOHashCode)
   at VaultServiceBase.VaultRepository.CreateFolderReferenceCopy(Int64 nRevID, HybridDictionary hdNewRefParents, VaultFolders vfOwners, VaultFolder vfOld)
   at VaultServiceBase.VaultRepository.GetReferenceCopiesByPath(Int64 nRevID, HybridDictionary hdNewRefParents, String strAbsolutePath, Boolean bRefCopyLastObjectWithAllFolders, VaultFSObjects& fsoList, Int32& nPinCount)
   at VaultServiceAPILib.VaultTransactionContainer.GetReferenceCopiesByPath(String strAbsolutePath, VaultFSObjects& fsoList, Int32& nPinCount)
   at VaultServiceAPILib.VaultTransaction.PreCheckCheckIn(Int32 nCurrStatCode, VaultRequestCheckIn vrci, String strFileToken, VaultResponseCheckIn vRespCheckIn, VaultTransactionContainer txContainer)
   at VaultServiceAPILib.VaultServiceAPI.BeginTx(Int32 nTxUserID, Int32 nRepID, VaultDateTime dtBeginTx, String strComment, VaultRequestItem[]& requests, String& strTxID, VaultIntTx& vit)
   at VaultService.VaultService.DoBeginTx(String strCallerLogEvt, Int32 nTxUserID, Int32 nRepID, VaultDateTime dtBeginTx, String strComment, VaultRequestItem[]& requests, String& strTxID) 
Although we were able to solve the immediate problem of not being able to commit, this is not really a long term solution, since it affects reliability of the server machine. Usually a restart is not a desirable long term solution.

jeremy_sg
Posts: 1821
Joined: Thu Dec 18, 2003 11:39 am
Location: Sourcegear
Contact:

Post by jeremy_sg » Fri Apr 25, 2008 3:06 pm

I agree that this error is worrysome, and that a restart should never be a routine solution.

We've added more logging to 4.1.1 and 4.1.2 to try and identify these intermittent errors.
Subscribe to the Fortress/Vault blog

earlNameless
Posts: 7
Joined: Fri Apr 25, 2008 1:59 pm

Post by earlNameless » Mon Apr 28, 2008 6:50 am

Happened again over the weekend. Restarting the server again.

We are doing imports from VSS database overnight. The last time and this time this error happened, we were importing the same data (failed both times, but that is a separate issue). I looked at the server log, and it did not display any errors during the import.

The check ins we are trying to do, are not into the newly imported folders.

We are currently not in a position to upgrade Vault to newest version since we are trying to do imports overnight/overweekend and an upgrade might take a long time (is there a way to find out how long the update to the index on the labels table will take?)

Client/server version: 4.1.0.16216

jeremy_sg
Posts: 1821
Joined: Thu Dec 18, 2003 11:39 am
Location: Sourcegear
Contact:

Post by jeremy_sg » Mon Apr 28, 2008 7:30 am

Most of the reports of this error happen around importing VSS databases. For the folder that you couldn't check in, was that a newly-imported folder?
Subscribe to the Fortress/Vault blog

earlNameless
Posts: 7
Joined: Fri Apr 25, 2008 1:59 pm

Post by earlNameless » Mon Apr 28, 2008 1:24 pm

No it was not.
For both instances the folder that we could not check files into was not the folder that was imported.

jeremy_sg
Posts: 1821
Joined: Thu Dec 18, 2003 11:39 am
Location: Sourcegear
Contact:

Post by jeremy_sg » Tue Apr 29, 2008 11:25 am

I'd like to get into a more detailed conversation about this. Please email support at sourcegear.com ATTN: jeremy with a link to this thread and your phone number.
Subscribe to the Fortress/Vault blog

earlNameless
Posts: 7
Joined: Fri Apr 25, 2008 1:59 pm

Re: Check-in Error: VaultRefCopyException

Post by earlNameless » Mon Aug 18, 2008 1:12 pm

Sorry for the long time of no reply, got very busy at work, busy to the point that we did not have time to run the import (it was on a maintenance branch), so we stopped for a while.

Before we tried another import we upgraded to the latest version of Vault (4.1.1.18060 at that time), and afterward rerun the import.
We did not have this problem any more.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Re: Check-in Error: VaultRefCopyException

Post by lbauer » Mon Aug 18, 2008 7:16 pm

Thanks for the update. Glad Vault is working for you now.
Linda Bauer
SourceGear
Technical Support Manager

Post Reply