OSSVERIFYDB(1) — OBJECTSTORE COMMANDS
NAME
osverifydb − verifies all pointers contained within a database
SYNOPSIS
osverifydb [ -o ] [ -v] [ -limit number] pathname
DESCRIPTION
osverifydb verifies all pointers contained within a database identified by pathname. Verification in this case implies (1) there are no transient pointers, and (2) persistent pointers point to valid (not deleted) storage, and the declared type for a pointer as determined from the schema matches the actual type of the pointed-to object.
OPTIONS
-o prints out every object in the database using the meta-object value protocol.
-v tells osverifydb to print every pointer value.
-limit number limits to number the error messages reported for any segment in the database.
DESCRIPTION
When osverifydb detects an invalid pointer, it indicates the location and the value of the pointer. Whenever possible, it prints out a symbolic path to the bad pointer, starting with the outermost enclosing object.
For example, the following output is the result of running osverifydb on a database that contains an object of type c1, with the bad pointers identified by the error messages.
beethoven% osverifydb /camper/van
Verifying database beethoven::/camper/van
Verifying segment 2 Size: 8192 bytes
Pointer to non-persistent storage.
Pointer Location: 0x6010000. Contents: 0x1.
Lvalue expression for pointer: c1::m1
Pointer type mismatch; the declared type is incompatible with the actual type of the object
Pointer Location: 0x6010004. Contents: 0x601003c.
Declared type c2∗. Actual type: c3∗.
Lvalue expression for pointer: c1::m2
Pointer to deleted storage
Pointer Location: 0x6010008. Contents: 0x6010040.
Declared type c2∗.
Lvalue expression for pointer: c1::m3
Pointer type mismatch; the declared type is incompatible with the actual type of the object
Pointer Location: 0x601000c. Contents: 0x6010028.
Declared type c2∗. Actual type: c1∗.
Lvalue expression for pointer: c1::m4
Lvalue expression for pointed to object: c1::ma[5]
Pointer type mismatch; the declared type is incompatible with the actual type of the object
Pointer Location: 0x6010010. Contents: 0x6010044.
Declared type c2∗. Actual type: char∗.
Lvalue expression for pointer: c1::m5
Lvalue expression for pointed to object: char[0]
Pointer to non-persistent storage.
Pointer Location: 0x6010014. Contents: 0x1.
Lvalue expression for pointer: c1::ma[0]
Pointer type mismatch; the declared type is incompatible with the actual type of the object
Pointer Location: 0x6010028. Contents: 0x601003c.
Declared type c2∗. Actual type: c3∗.
Lvalue expression for pointer: c1::ma[5]
Pointer to non-persistent storage.
Pointer Location: 0x6010068. Contents: 0x1.
Lvalue expression for pointer: void∗[5]
Verified 5 objects in segment
Verified 5 objects in database
beethoven%
FILES
$OS_ROOTDIR/debugging/osverifydb
ObjectStore 2.0 — Last change: October 1992