Cannot Retrieve or Difference Previous Versions of Files

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

Moderator: SourceGear

rkabler
Posts: 3
Joined: Wed Nov 28, 2007 3:55 pm

Cannot Retrieve or Difference Previous Versions of Files

Post by rkabler » Wed Nov 28, 2007 4:04 pm

SOS Version = 4.2

Most of the time, but not always, an attempt to GET or DIFF a previous version of a file will cause SOS to hang, until the STOP button is pressed.

Log file shows the following errors from GetFile():
1) Exception getting file. Version not found.
2) ParseStream created a null message.

However, VSS has no trouble with GET or DIFF to the same version of the file.

This started to happen about the same time we updated SOS from version 4.1.2 and cleaned up the VSS database.

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

Post by lbauer » Thu Nov 29, 2007 8:31 am

SOS Server communicates with the VSS database via the VSS Automation Component, which sometimes has bugs or problems with database corruption.

To determine which version of the SourceSafe Automation Component (ssapi.dll) is used by SOS Server, look under this registry key:

HKEY_CLASSES_ROOT\CLSID{783CD4E4-9D54-11CF-B8EE-00608CC9A71F}\InprocServer32

The value will have the path to the specific ssapi.dll file used by SOS Server. For the version information, locate the ssapi.dll file. Right click on the ssapi.dll file, choose Properties->Version.

What version is it?

Also, have you run Analyze on your VSS database? This might help:
http://support.sourcegear.com/viewtopic.php?t=50
Linda Bauer
SourceGear
Technical Support Manager

rkabler
Posts: 3
Joined: Wed Nov 28, 2007 3:55 pm

Post by rkabler » Thu Nov 29, 2007 11:18 am

SSAPI.DLL Version = 6.0.98.48. We have already run the Analyze utility, and the problem still exists.

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

Post by lbauer » Thu Nov 29, 2007 4:39 pm

This might be a concurrency crash. See this KB article about changing the registry setting for the VSS automation component:

http://support.sourcegear.com/viewtopic.php?t=10
Linda Bauer
SourceGear
Technical Support Manager

rkabler
Posts: 3
Joined: Wed Nov 28, 2007 3:55 pm

Post by rkabler » Fri Nov 30, 2007 5:05 pm

The ThreadingModel key is already set to "BOTH".

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

Post by lbauer » Sat Dec 01, 2007 9:53 pm

The VSS Automation Component, which SOS Server uses to communicate with the database, is having a problem getting the file.

Try archiving and restoring a project to see if that improves the Get or Diff from history. Sometimes an archive and restore cleans up a database better than Analyze.
Linda Bauer
SourceGear
Technical Support Manager

BrianDrab
Posts: 98
Joined: Tue Mar 25, 2008 1:27 pm
Contact:

Unable to Retrieve Previous versions of file using get SOS

Post by BrianDrab » Tue Mar 25, 2008 1:41 pm

I'm having the same EXACT issue here. Any other suggestions? I even Archived and Restored the project in question as mentioned.
Brian C Drab

jclausius
Posts: 3706
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Tue Mar 25, 2008 2:32 pm

Are you also running the same version of ssapi.dll? (See the above posts).

Could you post the language of the DLL in addition to the version?
Jeff Clausius
SourceGear

BrianDrab
Posts: 98
Joined: Tue Mar 25, 2008 1:27 pm
Contact:

Same version - English

Post by BrianDrab » Tue Mar 25, 2008 2:45 pm

Yes everything is exactly the same. It's the English version.
Brian C Drab

jclausius
Posts: 3706
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Wed Mar 26, 2008 3:51 pm

Can you enable verbose logging - http://support.sourcegear.com/viewtopic.php?t=463 on the SourceOffSite Server, retry the operation, and then post or send the server log file to support at sourcegear dot com. If you do use e-mail, please be sure to reference this forum post.
Jeff Clausius
SourceGear

BrianDrab
Posts: 98
Joined: Tue Mar 25, 2008 1:27 pm
Contact:

Verbose Logging & Method Logging Enabled

Post by BrianDrab » Thu Mar 27, 2008 12:44 am

OK. I did the following:
1. Made the sosservice.exe.config file editable as it was read-only.
2. Enabled Verbose logging as well as method logging and saved the file.
3. Marked the file as read-only again.
4. Stopped the Source Offsite service.
5. Deleted the log.txt file so we can start fresh.
6. Started the Source Offsite service.
7. Opened the Source Offsite client and tried to get a previous version of the file.

Had the expected results (the spinning busy symbol).

I've attached the logs as requested however also put the last 5 lines from the log here. (you can see an exception)

3/27/2008 2:37:27 AM - 1: GetFile() file=Horizon Current Violations All Terminals.rdl
3/27/2008 2:37:28 AM - 1: Enter SendFile(2)
3/27/2008 2:37:37 AM - 1: Exception getting file. Access to file "\\kaplan-dev\VSSDatabases\VSS\data" denied
3/27/2008 2:37:37 AM - 1: Exit GetFile(3): Horizon Current Violations All Terminals.rdl
3/27/2008 2:37:37 AM - 1: Exit GetFile(1)
Attachments
log.txt
(4.73 KiB) Downloaded 570 times
Brian C Drab

jclausius
Posts: 3706
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Thu Mar 27, 2008 7:18 am

The SourceOffSite service is going to run under a Windows based account. On the VSS machine, check the permissions of the the actual share VSSDatabases as well as ALL folder permissions that are under that share.

It appears as if something on that folder or one of the files is not allowing access OR some other process like a real-time anti-virus scanner or some other process on the VSS machine may also have a file locked.
Jeff Clausius
SourceGear

BrianDrab
Posts: 98
Joined: Tue Mar 25, 2008 1:27 pm
Contact:

Process Monitor Run - Permission Denied

Post by BrianDrab » Thu Mar 27, 2008 8:18 am

I thought about permissions as well. I ran process monitor and didn't find any permission denied being reported. I tried it again a few minutes ago and same results.

What I did notice is the following:

1. I am able to retrieve the history for some files in some projects without a problem so it doesn't appear to be ALL files.

2. When I attempt to retrieve one that DOESN'T work I notice that in process monitor that SOS is attempting to create a file but as a directory? I've attached a screen shot so you could see it. When I AM able to retrieve a file successfully these entries don't exist. It's almost as if SOS is confused as to "where" the file is.

I could also change the service account to use our Domain Administrator account if you like however I believe we will see the same results. Any other ideas?
Attachments
Capture.JPG
Capture.JPG (53.69 KiB) Viewed 15631 times
Brian C Drab

jclausius
Posts: 3706
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Thu Mar 27, 2008 9:16 am

Can you search the SOS Server for the following file: "Horizon Current Violations All Terminals.rdl"

This is a hunch (and hunches can be wrong)...

Does that exist anywhere on the machine? If so, and it is in a temp directory (or a directory that SOS has been configured to use), can you remove it and then retry?
Jeff Clausius
SourceGear

jclausius
Posts: 3706
Joined: Tue Dec 16, 2003 1:17 pm
Location: SourceGear
Contact:

Post by jclausius » Thu Mar 27, 2008 9:20 am

What is happening is the SOS Server is attempting a GET on the file "Horizon Current Violations All Terminals.rdl".

Is it safe to assume the file exists in "$/Visual Basic .NET 2005/Reporting Services Solution/Safety Reports" ?

In any case, SourceOffSite asks VSS to get that file (at a version) and then place it in a TEMP directory under the same file name. The exception handling providing the error, "Access to file '\\kaplan-dev\VSSDatabases\VSS\data' denied", is from VSS not SourceOffSite. I don't know why VSS would be reporting this failure.


Have you run analyze w/ fix switches on the VSS database in a while? Sometimes bad links show up in the VSS Automation component that are not seen in the VSS Explorer.
Jeff Clausius
SourceGear

Post Reply