Starting with opatch versions 126.96.36.199.54 and 10.2.0.x a new "validation phase" has been added to OPatch. Other terms
This phase is executed at the end of the patch install and validates several parts of the apply:
Verifying that patch ID is in Oracle Home inventory.
Verifying copy files.
Verifying jar files.
Verifying archive files
When installing an interim patch (including Critical Patch Updates) the validation phase fails to recognize a successful install.
You may receive the following errors:
Verifying archive files.
Archive failed: failed to update
"<ORACLE_HOME>/lib/libserver9.a" with updated
There are 1 issues patching static library in Oracle Home.
FILE PROBLEM: some files are not patched.
OPATCH_JAVA_ERROR: Patch was not successfully applied.
Verification of the patch failed.
ERROR: OPatch failed as verification of the patch failed.
Also the following will be seen in earlier versions of 10.2.x OPatch:
FINEST:CheckSum of 2 streams are 594889758 and 594889552
FINE: 2 files are identical? FALSE
INFO: Archive failed: failed to update
"<ORACLE_HOME>/lib/libserver10.a" with updated
opatch OPATCH_JAVA_ERROR archive Reason and Prerequisites
The problem has been seen so far on Solaris 10. Solution
Solaris 10 appears to be adding a few bytes to the size of the objects being archived into libraries. Due to that, the validation phase is failing during the archive file validation because the size of the newly installed object does not match the size of the object in the patch.
The file in the patch :
ls -l <stage>/5369855/files/lib/libserver9.a/qksop.o
31424 Feb 16 03:52 5369855/files/lib/libserver9.a/qksop.o
The archived file :
ar -vt $ORACLE_HOME/lib/libserver9.a |grep qksop
31428 Feb 16 03:52 2007 qksop.o
The problem was reported in the Oracle bug 4967132.
https://service.sap.com/sap/support/notes/1032044 (SAP Service marketplace login required)