Label Get failure

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

Moderator: SourceGear

Post Reply
BigBrett
Posts: 218
Joined: Wed Feb 01, 2006 8:45 am

Label Get failure

Post by BigBrett » Thu Dec 10, 2009 12:13 am

Running Fortress 2.0.2.18753 on Windows 7.

When I try to Get a labelled version into a new folder I get an error message (at 67% complete) saying that access is denied to a file in my Temp folder. The error trace is as follows:

Code: Select all

10/12/2009 07:42:44 AM <generic>: [GUIClientWorkerThread:416] [System.UnauthorizedAccessException: Access to the path 'C:\Users\dev2\AppData\Local\Temp\vaultc08aaa32-f77e-452f-977a-af27d3d9d51d' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.Delete(String path)
   at VaultClientOperationsLib.ClientInstance.ProcessFile_NonWorkingFolder(String tempFile, VaultClientFile file, VaultResponseGetFile response, String ancestorFullPath, String ancestorDiskPath, SetFileTimeType setFileTime, MakeWritableType makeWritable, MergeType merge, OverwritePrompt PromptData)
   at VaultClientOperationsLib.ClientInstance.ProcessGetFileRequests(GetFileInfo[] infos, MakeWritableType makeWritable, SetFileTimeType setFileTime, MergeType merge, Boolean updateHiddenFilesOnly, String ancestorFullPath, Boolean flat, String ancestorDiskPath, OverwritePrompt PromptData, Boolean isLabelGet, String currentPathToLabelItem, Int64 labelID, Boolean isRetry, Boolean isGetByDisplayVersion)
   at VaultClientOperationsLib.ClientInstance.GetByLabelToNonWorkingFolder_GetData(VaultClientFile[] files, Boolean overwrite, MakeWritableType makeWritable, SetFileTimeType setFileTime, String ancestorFullPath, String ancestorDiskPath, OverwritePrompt PromptData, Int64 labelID, String currentPathToLabelItem, String labelSubItemPath, Boolean isLabelGetForSingleFile)
   at VaultClientOperationsLib.ClientInstance.GetByLabelToNonWorkingFolder_GetData(VaultClientFolder folder, Boolean recursive, Boolean overwrite, MakeWritableType makeWritable, SetFileTimeType setFileTime, String destinationDiskPath, OverwritePrompt PromptData, Int64 labelID, String currentPathToLabelItem, String labelSubItemPath)
   at VaultClientPresentationLib.GUIClientInstance.GetLabelItem(VaultLabelItemX labelItem, Boolean forceDialogShow, FormShiftQuery dialogOwner)
   at VaultClientPresentationLib.GUIClientThread.ProcessCommand(GUIClientThreadCommand command, GUIClientThreadCommandResult& outputResult)]Access to the path 'C:\Users\dev2\AppData\Local\Temp\vaultc08aaa32-f77e-452f-977a-af27d3d9d51d' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.Delete(String path)
   at VaultClientOperationsLib.ClientInstance.ProcessFile_NonWorkingFolder(String tempFile, VaultClientFile file, VaultResponseGetFile response, String ancestorFullPath, String ancestorDiskPath, SetFileTimeType setFileTime, MakeWritableType makeWritable, MergeType merge, OverwritePrompt PromptData)
   at VaultClientOperationsLib.ClientInstance.ProcessGetFileRequests(GetFileInfo[] infos, MakeWritableType makeWritable, SetFileTimeType setFileTime, MergeType merge, Boolean updateHiddenFilesOnly, String ancestorFullPath, Boolean flat, String ancestorDiskPath, OverwritePrompt PromptData, Boolean isLabelGet, String currentPathToLabelItem, Int64 labelID, Boolean isRetry, Boolean isGetByDisplayVersion)
   at VaultClientOperationsLib.ClientInstance.GetByLabelToNonWorkingFolder_GetData(VaultClientFile[] files, Boolean overwrite, MakeWritableType makeWritable, SetFileTimeType setFileTime, String ancestorFullPath, String ancestorDiskPath, OverwritePrompt PromptData, Int64 labelID, String currentPathToLabelItem, String labelSubItemPath, Boolean isLabelGetForSingleFile)
   at VaultClientOperationsLib.ClientInstance.GetByLabelToNonWorkingFolder_GetData(VaultClientFolder folder, Boolean recursive, Boolean overwrite, MakeWritableType makeWritable, SetFileTimeType setFileTime, String destinationDiskPath, OverwritePrompt PromptData, Int64 labelID, String currentPathToLabelItem, String labelSubItemPath)
   at VaultClientPresentationLib.GUIClientInstance.GetLabelItem(VaultLabelItemX labelItem, Boolean forceDialogShow, FormShiftQuery dialogOwner)
   at VaultClientPresentationLib.GUIClientThread.ProcessCommand(GUIClientThreadCommand command, GUIClientThreadCommandResult& outputResult)

Stack Trace:
   at VaultClientPresentationLib.GUIClientInstance.ShowCommandException(Exception e, IWin32Window dialogOwner)
   at VaultClientPresentationLib.GUIClientThread.ProcessCommand(GUIClientThreadCommand command, GUIClientThreadCommandResult& outputResult)
   at VaultClientPresentationLib.GUIClientThread.Start()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

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

Re: Label Get failure

Post by Beth » Thu Dec 10, 2009 10:17 am

If you rename that folder, vaultc08aaa32-f77e-452f-977a-af27d3d9d51d, and try the Get again, do you get the same error? Does it make a new folder?

If it's creating a new temp folder and filling it and then can't access it any more, I would wonder if you have enough disk space for a large temp location. Check what kind of space you have available on your drives.

Take a look also at your server log found on the Fortress server at C:\Windows\temp\sgvault \sgvault.log. What kind of error is it showing, if any?
Beth Kieler
SourceGear Technical Support

BigBrett
Posts: 218
Joined: Wed Feb 01, 2006 8:45 am

Re: Label Get failure

Post by BigBrett » Sun Dec 13, 2009 11:24 pm

It is a file and not a folder that is being accessed.

The temporary file was a third party DLL included in the Debug folder of the solution and shared to the Release folder. Once I deleted those two instances of the file from the Label I was able to do the Label Get without a problem. Being a third party DLL I simply copied that into place myself.

This same DLL (unmodified) has been included in a number of previous labels and I never had a problem with it before.

Drive space is not a problem, 38GB available, and I cleared the temp folder the first time the error occurred.

The server log file for the first time the error occurred has the following:

Code: Select all

----10/12/2009 7:26:02 AM    dev2--DEV2-PCD(10.10.15.42)--SSL Disabled	Critical Error downloading file! The remote host closed the connection. The error code is 0x80072746.
   at System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.FlushCore(Byte[] status, Byte[] header, Int32 keepConnected, Int32 totalBodySize, Int32 numBodyFragments, IntPtr[] bodyFragments, Int32[] bodyFragmentLengths, Int32 doneWithSession, Int32 finalStatus, Boolean& async)
   at System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
   at System.Web.Hosting.ISAPIWorkerRequest.FlushResponse(Boolean finalFlush)
   at System.Web.HttpResponse.Flush(Boolean finalFlush)
   at System.Web.HttpResponse.Flush()
   at System.Web.HttpWriter.WriteFromStream(Byte[] data, Int32 offset, Int32 size)
   at System.Web.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count)
   at VaultServiceSQL.VaultSqlSCC.GetDeltaChainForFullFile(VaultSqlConn conn, Int64 nObjVerID, Int32 nBufSize, String strFileToken, Stream s, ListDictionary ldDataStreams, RunningCRC32 crc, UInt32& nCRC)
   at VaultServiceAPILib.VaultFileCacheManager.GetDeltaChainForFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nTargetObjVerID, Int32 nBufSize, String strFileToken, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
   at VaultServiceAPILib.VaultDelta.CreateFullFile(VaultSqlConn vsConn, Int32 nRepID, Int64 nObjVerID, String strFileToken, Boolean& deltaIfAvailable, Stream sFullFileStream, RunningCRC32 crc, UInt32& nCRC)
   at VaultServiceAPILib.VaultDelta.DeltaCreate(VaultSqlConn vsConn, Int32 nRepID, Int64 nBaseObjVerID, Int64 nTargetObjVerID, String strFileToken, Stream sDeltaStream, RunningCRC32 crc, UInt32& nCRC)
   at VaultServiceAPILib.VaultServiceAPI.GetVaultFile(Int32 nRepID, VaultIntDnldItem& vidi, String strFileToken, Stream s, Boolean bSeekToOrigin, Boolean bFolderExportCalcCRC, UInt32& nCRC)
   at VaultService.VaultFileDownload.Page_Load(Object sender, EventArgs e) 

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

Re: Label Get failure

Post by Beth » Mon Dec 14, 2009 2:58 pm

The thing I would have you try first is clearing out the server-side cache by either performing an iisreset on the server, go to Start - Run and type iisreset, or by recycling the Vault App Pool in your IIS Manager, right-click the Vault App Pool and select recycle.

If it continues to happen after that, then more logging will probably be needed to find out what is happening.
Beth Kieler
SourceGear Technical Support

Post Reply