Created On:  31 December 2010

Problem:

The secondary error 90 means in Vision Version 4 or 5, on open, an index segment's internal revision number does not match the internal revision number stored in the header of the first data segment.

Normally the error code 98,90 is returned by the runtime when it finds that the user count in the header record of a Vision file has a negative value.  This normally arises when a runtime has crashed and has not had the chance to correctly update the header record that normally occurs during a normal shutdown.

Resolution:

Try fixing this by Resetting the Internal Revision Number. This option resets the internal revision number of all segments in the specified Vision file to the revision number of the first data segment. It does this without rebuilding the entire file. To use this option, you must have exclusive access to the file.

The command is: Vutil32 -fixvers  [ -q ]  [ file ]

The files can be listed on the command line, or can be read from the standard input. For convenience in building scripts, non-Vision files are ignored.
This option can be used to repair "98, 89" and "98, 90" conditions that can result from improper shutdowns of a runtime or improper closure of a file. Before using this option, you should be certain that the file is otherwise internally correct (meaning that the data is not corrupted. See section 3.3.2, "Testing File Integrity"). Improper use may lead to loss of data. After using the "-fixvers" option, you should run "vutil -check  -f  file" to verify internal consistency of the file.

-q  This option causes vutil to exit (with status 99) if user interaction is required.
Incident #2491744