Perforce Public Knowledge Base - MISSING Errors with +Sn File Type
Reset Search



MISSING Errors with +Sn File Type

« Go Back



I am getting MISSING! errors from p4 verify for files of type +Sn, however a subsequent verify does not show the same file revisions missing. Why?


This may be a transient error, where the file exists when the MD5 checksum is calculated early but purged prior to subsequent checks. Alternatively, this is a persistent error, most commonly due to the +Sn file being used as source of an integration.The following text explains in more detail.

Transient Errors

A verify occurs in two phases: a compute phase and a complete phase. A Perforce server uses the compute phase to build a list of files and revisions to be verified; the complete phase calculates the digest for the file revision list built in the compute phase.

If new revisions are added to +S or +Sn files during the second phase of the verify, older revisions will be purged, however, the verify process will still attempt to verify the list of revisions built in the initial compute phase. As a file revision has been purged from the server's archive, a Perforce Server cannot find it and will report the revision as MISSING.

Reduction of these superfluous errors is possible, however they can not be eliminated completely.

Consider separating the verify of these +Sn files from other files; for example, if you are using +S3 for some of the depot files, you can use the "-m" flag to limit the number of revisions to be verified by excluding the oldest revisions (in this example only check the latest 2 revisions of the 3 available) as below:

$ p4 files //depot/Jamgraph/MAIN/src/gparticle.cpp | grep "+S3" | cut -d "#" -f 1 > S3filelist.txt

$ cat S3filelist.txt

$ cat S3filelist.txt | p4 -x - verify -m2
//depot/Jamgraph/MAIN/src/gparticle.cpp#3 - edit change 362 (text+S3) CF1DCB7A02E5B0C117CFCB2E6B778272
//depot/Jamgraph/MAIN/src/gparticle.cpp#2 - edit change 360 (text+S3) 12F26C19A68FFCB35827CD5FF3931B8F

Persistent Errors

If these missing errors persist for the same file revisions that are move/deleted, it is probably due to the fact that lazy copies were used for '+Sn' files that were moved; this has been fixed as documented here:

#370742 (Bug #49769) **
    Moved files with the +S filetype will no longer be lazy-copied.

In this case, please consider upgrading the server to our latest release or at least the latest release of 2010.2. To clean up these persistent errors, you can refer to this article about obliterating these MISSING! (move/deleted) revisions only.

Further information

If you feel your situation does not match either of these explanations or you have any further questions, please contact Technical Support.

Related Links



Was this article helpful?



Please tell us how we can make this article more useful.

Characters Remaining: 255