Microsoft KB Archive/152807

= INFO: Error Messages from Analyze Tool of Visual SourceSafe =

Article ID: 152807

Article Last Modified on 9/25/2003

-

APPLIES TO


 * Microsoft Visual SourceSafe 6.0 Standard Edition
 * Microsoft Visual SourceSafe 5.0 Standard Edition
 * Microsoft Visual SourceSafe 4.0 Standard Edition

-



This article was previously published under Q152807



SUMMARY
This article discusses common error messages and status messages that the Analyze tool for Microsoft Visual SourceSafe, versions 4.0, 5.0, and 6.0, returns.

Note The Analyze tool that is included with Visual SourceSafe, versions 5.0 and 6.0, returns the messages that appear in this article. Microsoft recommends that you use the latest version of the Analyze tool. To obtain this tool, install the latest service pack for Visual SourceSafe.

For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

321139 INFO: List of Bugs Fixed in Visual SourceSafe 6.0 Service Pack 6

The messages that the Analyze tool reports appear on the screen. By default, these messages also appear in the Data\Backup\Analyze.log file.



How Visual SourceSafe Stores Files and Projects
To understand some of the messages that appear in this article, you must understand how Visual SourceSafe stores files and projects.

Two files are created for each file and for each project in Visual SourceSafe. These files are located in a subfolder of the Data folder. The name of the subfolder is the same as the first character of the Visual SourceSafe file name (also known as the physical file name). One of the two files is named Log. This file does not have a file name extension. The Log file stores Visual SourceSafe information and the differences between one version of the file or the project and the next version.

The other file is named the Data file or the Tip file. It has a file name extension of either .a or .b. This file stores the most recent version of the file or the project that is in Visual SourceSafe.

To identify the name of a file from the Visual SourceSafe physical file, run the following command to create a file named Physical.txt that indicates all files in the Visual SourceSafe database that have not been deleted and are not corrupted:

SS physical $/ -r -ophysical.txt

In the Physical.txt file, locate the file name that you want. If you are searching for a specific file name (MyFile.txt) in the Physical.txt file, make sure that you scan the whole file because multiple instances of a file may exist.



Error Messages
The following is a list of the most common messages that you receive when you run the Analyze tool to repair a database, regardless of whether you use the -F option.

The messages that appear when you want to receive a verbose listing (by using the -V switch) are not documented here.

This list is not comprehensive.

Please contact Microsoft Product Support Services if you receive an error message that is not documented here. To contact Microsoft Product Support Services, visit the following Microsoft Web site:

http://support.microsoft.com/default.aspx?scid=/directory/question.asp&SD=GN&FR=0



 Error message:

The CRC for data file " " does not match the stored CRC. The file may be corrupt. The file was last checked in on " ; " by user " " in project " ."

Example:

The CRC for data file "MyFile.txt" (YBGAAAAA.a) does not match the stored CRC. The file may be corrupt. The file was last checked in on "10/15/96; 11:26a" by user "Guest" in project "$/MyProject."

Cause:

This message occurs because the log file records the Cyclical Redundancy Check (CRC) for the last updated copy of the file, and the last recorded CRC does not match the current CRC. (Typically, this message does not include the last sentence about the last checked-in date and time.)

Important When Analyze returns this message, older versions of the file may be lost if the error is not corrected immediately.

Resolution:

To resolve this problem, follow these steps:  Verify that the name of the copy in the working directory of the user who last checked in the file matches the name of the Physical Data File. Verify that the Check in unchanged files option on the General tab of the Options dialog box is set to Check In. Check out the file. Check in the file.</ol>

This procedure will correct the stored CRC.</li> Error message:

Creating a new nameset, or long filename information, for the file.

Example:

Creating a new nameset, or long filename information, for the file MyFile.txt.

Cause:

Analyze is reporting that it is trying to fix the long file information for this file.</li> Error message:

The data file for " " was not found.

Example:

The data file for "EQUATES.INC" (aiaaaaaa.b) was not found.

Cause:

Visual SourceSafe keeps the last copy of each file in the database as an individual file (.a or .b, also known as the data file). Analyze noticed that the data file that corresponds to the file name is missing from the database. Analyze tries to locate an .a file or a .b file based on an entry in the log file (AIAAAAAA). Typically, this problem is caused by a data file that is marked as read-only. However, this problem may also occur if a network problem or a server problem occurs during file creation.

Resolution: <ul> If the data file that appears in the error message is marked as read-only, reset this attribute so that the file is writable.</li> If  is a project, you can run the following command to fix it:

analyze -F

</li> If  is a file, there is no easy way to solve this problem. The best alternative is to obtain another copy of this file to replace the file that Analyze could not locate. To do this, follow these steps: <ol> Gain access to the history of the file, and then identify the user who last checked in the file.</li> Obtain the latest version of that file from the user's working directory.</li> Copy the file from the physical data file name (with the .a or .b file name extension, as specified in the error message) to the correct subdirectory in the database. For example, a file that starts with the letter A should be stored in the A directory.

Note You must rename the file as part of the copy process.</li></ol> </li> If you have multiple instances of this file in different projects in your database, you must determine the project that stores this file. To create an output file, see the directions that appear earlier in this article. Search in the physical output file for the physical data file name without the extension. In this example, the file name would be aiaaaaaa. If you move up in the file from occurrence of aiaaaaaa you will see the project name that includes the file.</li></ul> </li> Error message:

Database analysis in progress.

Cause:

This message is informational only and reports that the Analyze process has started.</li> Error message:

Encountered a bad CRC in <File Name>; record type <Record Header Type>.

Example:

Encountered a bad CRC in Status.dat; record type SH.

Cause:

Each file has a header. Analyze reads it and computes the CRC for the data that is currently there. If it does not match the CRC in the header, this message appears. The key information is the File Name and Record Header Type. If this data is unrecognizable, the header is also bad.

Typically, this error occurs only one time at the beginning of the Log file. It occurs most frequently for users who are upgrading from SourceSafe 3.x. The Status.dat file that is used to store the file (whether it is checked out or not) is corrupted.

Resolution:

Typically, if this message appears for the Status.dat file, running analyze -F fixes the problem. However, for other files, the effect of this corruption is that this record is lost. Depending on the type of the record, Analyze may ignore it, fix it, or just remove it. If the File Name and Record Header Type are recognizable, running analyze -F might recover the file.</li> Error message:

The file " " appears to be corrupt. Unable to read the format or header.

Example:

The file "f:\vss\data\O\ORLAAAAA" appears to be corrupt. Unable to read the format or header.

Cause:

Files in Visual SourceSafe have format and header records to identify the file. One or both of these is corrupted. This error is very serious because it frequently indicates that the rest of the Log file is damaged.

Resolution: <ul> Frequently, Analyze reports this error on files that the database does not require. Frequently, these files have a size of 0 bytes. First, move the files that report this error out of the \data\a-z directory, together with any files that have the same name with an extension (typically, .a, .b, or .old).

If rerunning analyze no longer reports this error, no additional action is required.</li> The best solution is to retrieve the file from backup.</li> If no backups are available and the file is a project, delete the files from the DATA\?\ directory. Make sure that you delete the file with the extension of .a or .b and the file with no extension. Then run analyze -F to clean up the links. All files that were in that project are likely to be lost.</li> If it is a file, make a copy of the data file (the one with the extension of .a or .b), and then delete the files from the DATA\?\ directory. Delete the file with the extension of .a or .b and the file with no extension, and then rename the .a or .b file to its real name. Finally, add the file back into Visual SourceSafe. You must identify the file. See directions for identifying a file at the beginning of this article.</li></ul> </li> <li>Error message:

File " " is not the correct SourceSafe version.

Example:

File "f:\vss\data\H\HACKAAAA" is not the correct Visual SourceSafe version.

Cause:

Each physical log file maintains its database version. The setup process of Visual SourceSafe runs a utility named Ddconv on the database. Ddconv runs through the database and converts files to the current version. This message occurs when the file was not converted to the correct version because someone was using SourceSafe during the conversion, the file was read-only at that time, or the file was damaged in the earlier version of SourceSafe and Ddconv could not recognize it.

Resolution: <ul> <li>If there was just a lock on the file, you can run Ddconv against the database and it will convert this file. The syntax to run Ddconv is as follows:

DDCONV

Any corruption in the file or the project must be fixed before Ddconv can convert the file. Unfortunately, because the rest of the database has already been upgraded to a Visual SourceSafe 4.0 format, it is hard to determine what that corruption is. You can recover your SourceSafe 3.x database and run the 3.x version of the Analyze tool for SourceSafe 3.x on the 3.x data to determine the corruption. After the file or the project is fixed, you can run Ddconv on the data again.</li> <li>If you do not have to have the file or the project, you can move it, together with its corresponding data file (.a or .b), out of the DATA subdirectory. Then call Analyze with the -F option to clean up any links to the file. See the directions at the beginning of this article to download the new version of the Analyze tool.</li></ul> </li> <li>Error message:

The file  was branched from   that is missing a branch reference. A reference will be added.

Example:

The file CBLIST.ASM was branched from NNAAAAAA that is missing a branch reference. A reference will be added.

Cause:

The branch parent does not have a reference to this file. Analyze is reporting that it is adding a reference of that branch to the original file.</li> <li>Error message:

The file  was branched from   that is now corrupted and the early versions will be inaccessible.

Example:

The file MyFile.txt was branched from SOLAAAAA which is now corrupted and the early versions will be inaccessible.

Cause:

This message informs you that versions of the file before it was branched are unavailable because the branch parent file is missing or has become corrupted.

Resolution:

This message is informational only, and there is nothing you can do for the file in. Ideally you would fix the corruption in the branch parent, the physical log file name in the message. There is probably another message in the Analyze.log file about the corruption in the branched from file.</li> <li>Error message:

Found a reference to an invalid rights block.

Cause:

The Rights.dat file has become corrupted. This is the file that stores project security information. Typically, you can fix this error by running the new Analyze with the -F switch.</li> <li>Error message:

The Header information in the rights system is corrupt.

Cause:

The Rights.dat file has become corrupted. This is the file that stores project security information.

Resolution:

You can fix this problem by running the new Analyze with the -F switch.</li> <li>Error message:

Incompatible database version.

Cause:

The Version.dat file contains the wrong information.

Resolution:

Typically, this error occurs when a user is upgrading from SourceSafe 3.x to Visual SourceSafe. It occurs because of a problem in the conversion process. Typically, this problem is documented in the Ddcerr.log file that is located in the DATA directory.

For additional information about the messages in this file and how to resolve them, click the article number below to view the article in the Microsoft Knowledge Base:

153823 DDConv Messages of Visual SourceSafe

When this problem is resolved, run the Ddconv utility again to update the Version.dat file. The syntax for calling the Ddconv utility is the following:

DDCONV

</li> <li>Error message:

The item  has an extra parent relationship that will be removed.

Example:

The item MyFile.txt has an extra parent relationship that will be removed.

Cause:

This is an informational message that indicates that the file has a parent that is not required. The Analyze tool is removing the extra parent record.</li> <li>Error message:

The nameset information for  is corrupt.

Example:

The nameset information for Myfile.txt is corrupt.

Cause:

The Names.dat file for the listed file name has become corrupted. Long file and project information is stored in the Names.dat file.

Resolution:

You can recover up to 33 characters by running Analyze with the -F switch. Typically, the latest version of analyze (Service Pack 5 [SP5] and later) can correct these errors without truncation.</li> <li>Error message:

No parent(s) or branch(es) were found for file " ."

Example:

No parent(s) or branch(es) were found for file "BRGAAAAA."

Cause:

This means that the file currently has no parent or branch records and the Analyze utility will put the file on the delete list. If this file is branched from another file that has not been deleted, it will not be removed from the database and therefore this message will continue to appear. This is typical SourceSafe behavior. This message is not an error in your source code. This message is a verbose logging message. However, it was incorrectly classified as a regular message.

Resolution:

Usually running Analyze with the -F switch and the -D switch will fix the references or destroy these files, if appropriate. However, this process will not remove all occurrences of this message.</li> <li>Error message:

No parent project for subproject file " ."

Example:

No parent project for subproject file "ABBAAAAA."

Cause:

This error means that this project was not automatically removed when the parent project was deleted or that the parent project has somehow been lost.

Resolution:

Typically, you can fix this error by running analyze -F. The tool either reconstructs the parent or removes the sub project if it is no longer required.</li> <li>Error message:

Project log " " has a  record for item " ," but that item was or was not found in the project.

Example:

Project log "DGEAAAAA" has a create record for item "MyFile.txt," but that item wasn't found in the project.

Cause:

Analyze takes the log records from a project and the current list of children records in the project and plays the log records backward until it arrives at the beginning of the list of log records. The list of children should be empty to correspond to the creation of the project. This error indicates that there is a mismatch between the history of the project and its content. This is only an internal check.

Resolution:

Depending on the nature of the error in the log, you may be able to correct this problem by running analyze -F. This is not a dangerous error and you can ignore it. This message almost always appears with the following message.</li> <li>Error message:

The project contents as rebuilt from the log " " does not match the projects actual contents.

Example:

The project contents as rebuilt from the log "DGEAAAAA" does not match the project actual contents.

Cause:

This message almost always appears after one or more of the message that are discussed earlier in this article. It occurs because there is a mismatch between the history and the log files. This is an internal check.

Resolution:

You may be able to fix this error by running analyze -F, depending on the problem in the log. This is not a dangerous error and you can ignore it.</li> <li>Error message:

A rights setting mismatch was found.

Cause:

The Rights.dat file contains a reference that is not valid. This file stores project security information.

Resolution:

Typically, you can fix this error by calling the Analyze utility with the -F switch.</li> <li>Error message:

There is a diff chain size mismatch in file " "" at version  (versions earlier than that version can no longer be retrieved from the database).

Example:

There is a diff chain size mismatch in file "MyFile.txt" (FYIAAAAA) at version 12 (versions earlier than that version can no longer be retrieved from the database).

Cause:

This error message means that versions older than the one specified cannot be retrieved. Typically, this problem is caused by an error in a log entry record that causes the difference chain (or delta) to be unusable to correctly regenerate older versions of the file.

Resolution:

The only resolution is to retrieve the file (FYIAAAAA and FYIAAAAA.a (or .b)) from backup.

For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

323698 PRB: "There Is a Diff Chain Size Mismatch in File" Error Message in Analyze.log When You Run the Analyze Tool Against a Visual SourceSafe Database

</li> <li>Error message:

There is a version sequence mismatch in the log file for " ".

Example:

There is a version sequence mismatch in the log file for "MyFile.txt" (FISHAAAA).

Cause:

There is a missing log entry in the file. Typically, this behavior occurs when the Analyze utility has found a damaged log entry and removed it. If this log entry is a label, no older versions of a file are lost. If Analyze removed an Update log entry, older versions of the file might be lost.

Resolution:

If you need the missing version of the file, you can retrieve it from backup if you know when the corruption occurred and recover from before that time. This may mean that later versions are lost.</li> <li>Error message:

Unable to create the filemapping for the database.

Example:

Unable to create the filemapping for the database c:\vss\data.

Cause:

A file name in the DATA directory is longer than the longest permitted file name. Typically, this problem occurs when a non-SourceSafe file is written to the DATA directory.

Resolution:

Scan the DATA subdirectory to remove the entry that is not a SourceSafe file.</li> <li>Error message:

Unable to open project \a\aaaaaaaa Continue?

Example:

Unable to open project f:\vss\a\aaaaaaaa Continue?

Cause:

Analyze cannot find the main project in the database. Typically, this problem occurs because the path of the project is not correct when you call Analyze.

Resolution:

Run Analyze and verify that you are pointing to the correct location of the SourceSafe database.</li> <li>Error message:

The file  contained one or more badly formed physical file names.

Example:

The file bqeaaaaa contained one or more badly formed physical file names.

Cause:

A badly formed file name means that an internal record has a physical file name in the wrong case. For example, the physical file name BQEAAAAA may appear in the internal record as "bqeaaaaa." You can safely ignore this message.

Resolution:

Run Analyze with the -F switch.</li> <li>Error message:

The error "The count of the children in the header does not match the count of children on disk. The count will be adjusted." is not a critical error.

Cause:

In every project header, a number is kept that indicates the number of children that are associated with that project. One of the many things that Analyze does as it scans through the database is to count the children files that are associated with that project. If the number that Analyze counts does not match the count in the header, you receive this error message.

Resolution:

Run Analyze with the -F switch to fix this by synchronizing the actual number of children with the number that is in the header.</li> <li>Error message:

Found a 'COMMENT' record in file  at position 33818

Cause:

Typically, these errors are caused by orphaned comments. Visual SourceSafe sequentially writes data to its log files. An example of how you might have extraneous information would be the following: You add a file and you supply a comment at the time of the Add. Later, in theProperties dialog box for that file, you change the comment. Now both comments are stored in the data file. However, you will never again be able to gain access to the first comment from SourceSafe.

Note The number 33818 that appears in the error example indicates that the comment starts at bit 33818 from the beginning of the file.

Resolution:

Run Analyze with the -C switch to fix this error. By using the -C switch, Analyze can compress free space that may exist in the data files. This process releases disk space. However, this process is considerably slower. It is not a good idea to run this process frequently. Therefore, if you run Analyze the -C switch and it discovers two comments for a file, it rewrites the data file and leaves out the older comment. Although this switch may sometimes reduce the size of the database, it frequently does not make a significant difference.</li> <li>Error message:

Found a 'DIFF' record in file  at position 33818.

Cause:

Analyze returns this error because a DIFF chain has been found but cannot be associated with a log record in the file where it was found.

A DIFF chain is made up of DIFF chunks that are ADD, CHANGE, or REMOVE records. For example, if a file that contains only "Hello world" is checked out and modified by adding "Bye world" and then checked back in, that ADD creates a DIFF chain.

The number 33818 that appears in this error message example indicates that the DIFF chain starts at position 33818 from the beginning of the file.

Resolution:

Run Analyze with the -C switch to fix this error. By using the -C switch, Analyze can compress free space that may exist in the data files. This process releases disk space. However, this process is considerably slower. It is not a good idea to run this process frequently. Therefore, if you run Analyze with the -C switch and it discovers two comments for a file, it rewrites the data file and leaves out the older comment. Although this switch may sometimes reduce the size of the database, it frequently does not make a significant difference.</li> <li>Error message:

There are minor inconsistencies in the header flags for ' '.

Example:

There are minor inconsistencies in the header flags for 'aaaaaaaa'.

Resolution:

Run Analyze with the -F switch to fix this error by correcting the header flags.</li> <li>Error message:

The Parent Project for item   is corrupt and the link to the child file has been lost until the project is recovered.

Example:

The Parent Project for item Myfile.cpp (IABAAAAA) is corrupt and the link to the child file has been lost until the project is recovered.

Cause:

Typically, this error occurs because of an incomplete deleted operation. Most of the time, the project is no longer required and it is not visible in the database.

Resolution:

To manually resolve this error, remove the file pairs that appear in the error to a backup folder. Be aware that this will expose subordinate items (files and subprojects) that may still be in the database and referencing the removed file. analyze -D will remove the orphan files below the immediate project. The remaining subprojects must be manually removed because they will report this error after the parent file pairs are removed. Microsoft Product Support Services may be able to help you remove large numbers of these "orphaned" items.</li> <li>Error message:

The parent project name was corrupt  the real name should be

Example:

The parent project name was corrupt '$/OriginalPath/MyProject/Myfile' the real name should be '$/NewPath/MyProject/MyFile'

Cause:

This error occurs when a rename operation is not permitted to fully complete.

Resolution:

The latest version of the Analyze utility will correct this error if you run it in fix mode ( analyze -F ).</li></ol>

<div class="references_section">