VSS Import gets FailFileInvalidChecksum exception

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

Moderator: SourceGear

Post Reply
stevek2
Posts: 70
Joined: Wed Jun 23, 2004 5:53 pm

VSS Import gets FailFileInvalidChecksum exception

Post by stevek2 » Thu Oct 14, 2010 5:51 pm

I'm again trying to import another VSS archive into Vault and running into nothing but trouble. This is a VSS archive which has passed analyze with no errors; I've also done a VSS archive/restore just to be sure, and then re-ran analyze, again with no errors. I'm using vault 5.04.

The import finishes with something like 1600 "transaction failed" errors, and the sgvault.log file on the server shows these to be FailFileInvalidChecksum exceptions, usually on a check-in by the import tool.

Whenever this exception happens, that particular version of the file is then missing from the Vault history of the file, so I wind up with an import with missing history for some files.

Searching the support forum I find this exception being 'fixed' by clearing the Vault client cache, etc, or fixing the baseline file, but this the import tool, so I don't really know how to do that.

Please help me get these issues resolved ASAP. I convinced my corporate HQ that Vault was the correct solution to replace our legacy VSS databases, and I've wasted countless days on this. I expected problems with the VSS side of things (getting the VSS database cleaned-up, etc), but I didn't expect so many problems in the import tool that don't seem to be related to VSS (I wasted a week on that bug in the import tool where it doesn't delete its temp files of the form "tmpXXXX.tmp" and eventually it runs out of filenames!). My boss is starting to say that maybe Vault wasn't the right choice here.

Thanks.

stevek2
Posts: 70
Joined: Wed Jun 23, 2004 5:53 pm

Re: VSS Import gets FailFileInvalidChecksum exception

Post by stevek2 » Thu Oct 14, 2010 6:52 pm

More information -- I think the import tool has a bug regarding how it generates the temp file names used to check-in each version of a VSS file:

In the import log, I see entries like:

Code: Select all

Checked in $/.../file1.h	($/.../file1.h) at <time>(Links: $/.../file1.h)
Change set type: Modified
Adding to transaction: $/.../file1.h - C:\...\Temp\tmpC5FB.tmp
An error occurred while trying to end a transaction.
Transaction failed
Transaction succeeded.
So in the above example, the temp file name is "tmpC5FB.tmp". That file still is left-over on the disk after the import tool finishes, so I looked at it -- and it does not contain the contents of file1.h! What is more interesting, the file named "tmpC5FA.tmp" _does_ contain one of the versions of file1.h !

The above seems to hold true each time that we get the FailFileInvalidChecksum exception - the temp file listed in the log contains some other file, but the previous temp file contains the correct data. This looks like some kind of race condition where the import tool has the correct checksum but the wrong number for the temp file name - like a different thread sometimes increments the counter used to generate the temp file names.

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

Re: VSS Import gets FailFileInvalidChecksum exception

Post by Beth » Fri Oct 15, 2010 7:39 am

Are you running the Vault server and the VSS import tool on the same machine or different machines?

What version of VSS are you using?

I will need to see the server and VSS logs. The server log is found at %windir%\temp\sgvault\sgvault.log and the VSS Import log should be in the same directory as the VSS Import tool. Could you send an email to support at sourcegear.com (attn: Beth) with a link to this forum thread and those logs?

Are you importing from root ($) or a subfolder?
Beth Kieler
SourceGear Technical Support

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

Re: VSS Import gets FailFileInvalidChecksum exception

Post by Beth » Fri Oct 15, 2010 1:53 pm

I've received the email and will respond via email. Thanks.

HS: 221468
Beth Kieler
SourceGear Technical Support

stevek2
Posts: 70
Joined: Wed Jun 23, 2004 5:53 pm

Re: VSS Import gets FailFileInvalidChecksum exception

Post by stevek2 » Mon Nov 01, 2010 4:17 pm

I emailed Beth privately but wanted to post to the forum for others that might have this problem - I discovered that the files that were failing had some old-style (RCS-style) keywords in them, like $WorkItem, and that by default I had keyword expansion on in the Vault repository. This somehow confused either the import tool or the server, so that when the import tool uploaded file deltas to the server, the checksums didn't match, apparently due to the keyword expansion. Turning off keyword expansion for that repository solved these import problems.

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

Re: VSS Import gets FailFileInvalidChecksum exception

Post by lbauer » Thu Nov 04, 2010 10:14 am

Thanks for the update. Yes, that will be helpful to other users.
Linda Bauer
SourceGear
Technical Support Manager

Post Reply