Alerts

Potential file corruption when File Server is used by Version Manager releases prior to VM 8.1.2.2



ID:    A16
Published:    06 February 2007
Updated:    30 June 2011

Operating System(s)

  • AIX
  • All Windows
  • HPUX
  • Linux
  • Solaris
  • Unix
  • Windows 2000
  • Windows 2003
  • Windows XP

Product(s)

  • PVCS Version Manager
 

Description

When the File Server is used by Version Manager releases prior to VM 8.1.2.2, sporadic archive file and project meta-data file corruptions may occur.
 
The file corruption causes the contents of a file to be replaced with the contents of another file.
 
In case of a split archive this only affects the meta-data component of the archive, not the revision library component, but the bad meta-data file may still render the revision library contents inaccessible.
 
This problem can manifest itself in a number of ways
 
Archives:
  • A Checkout or Get operation may yield revision contents of another file. This can only happen if you have unsplit archives.
     
  • Version Manager complains it cannot find a specific revision (Could not find a revision named #.# in the archive, "ArchivePath"). This can only happen if you have split archives, and the incorrect (replaced) meta-data archive has more revisions than the revision library.
     
  • A revision obtained by label or group is newer or older than the one being requested. This can only happen if you have split archives, and the incorrect (replaced) meta-data archive has the affected label or group on a different revision than the original archive.
     
  • During a mass label operation that applies a never before used label, Version Manager asks if an existing label should be overwritten, and the archive this is reported on is not referenced by multiple files in the selection set (i.e. this is not a shared archive). 
 
In all cases, a Show History / vlog operation performed on this archive will show a discrepancy between the name of the archive and the name shown for "Workfile:", with the workfile name matching the name used by the (meta-data) archive who's contents were inadvertently copied into this archive. In case of a split archive, the Split: location also points to the archive that was copied.
 
Project meta-data (.ser files):
 
  • A project or project database no longer loads and gives a Java exception (most commonly java.io.StreamCorruptedException: invalid stream header).
     
  • A project starts showing the identical contents of another project.
 
Once corrupted, the problem can only be corrected by restoring the affected files from backup.

 


 
Avoid this problem by making sure all Version Manager clients of a File Server are running VM 8.1.2.2 or newer.
 
To explicitly prevent older VM release from accessing your Project Databases (PDBs), add:
 

%if "$(PVCSVer)" <= "v8.1.2.2"

   ABORT
%endif


to the Configuration File(s) of your PDBs. VM clients older than 8.1.2.2 will subsequently get an "internal processing error: 1" message when trying to open this PDB, or see a red X on the PDB icon if an attempt is made to expand this PDB from the previously opened PDB list.
 
You could place the directives above into their own Configuration File (e.g. "VersionCheck.cfg") and then just reference that file in the first line of each of your Project Database Configuration Files using:
 

INCLUDE "DirectoryPath/VersionCheck.cfg"

The advantage of such a solution is that you can then easily change the minimum required VM release for all Project Databases at a later point, simply by updating the file "VersionCheck.cfg".

Migration ID

5005440

Find Answers

Type a question or describe what you are looking for below

My Recent Searches

Welcome kb sso

Additional Assistance

  • Submit a Case Online
  • FAQs