Views:

Symptom

Opening a Visum version file fails with an error message:

  • "Checksum error when unpacking ‘Matrices/Matrix<X>.bin’"
  • "Cannot read version file ..: Matrices/..bin is damaged"
  • "VISEM-kombinierte Verkehrsverteilung/Moduswahl": CPtvZStd:uncompress: Computed block detected"

Cause

Faulty storage media or network connections can compromise large binary streams. Large matrices and assignment results have a higher probability of being affected. Before PTV Visum 2021, a single bit change altering the meaning of a matrix value could go unnoticed. The occurrence of this error message is therefore not due to a program error.

Since PTV Visum 2021, the ZIP format has been used to store the contents of the version file, which also includes checksums for all parts of the version file.

Resolution

The integrity of all parts of the version file can also be checked manually. To do this, open the version file with 7-Zip and run a CRC check via File -> CRC -> CRC32.

Use 7-Zip to open the version file and check the integrity of the matrix or table mentioned in the error message. You will not be able to recover a compromised matrix, but you can delete it from the archive and thus recover at least the version file. If the checksum error occurred in any assignment result (i.e., the error indicates a damaged file in the “AssignmentResults” subdirectory), all files in the “AssignmentResults” folder can be deleted from the version file to open it in Visum.

Disclaimer

Please always create a backup copy before modifying any content of the version file with an external program like 7-Zip.

Also, note that if the damaged file is neither a matrix file nor an assignment result, deleting that file may cause the Visum data model to be in an inconsistent state. This could lead to errors when loading the version file or when working with the model at a later time point. In such a case, we generally recommend not working with that recovered version file directly, but instead, to export any network data as text files (e.g., NET, DMD) and import them into an intact backup copy of the version file or a new version file.