CMP Binary library can't load (after computer crash)

Started by AsDawnBreaks

LociOiling Lv 1

Clarifying smilingone's comments, this problem seems when foldit's files and directories (folders) are left in an inconsistent state after a foldit client or system crash. The main symptom is that a dialog box is displayed complaining that game_library.dll can't be found when trying to start the foldit client. (See the attached image.)

The problem can be corrected by copying files and directories (folders) from a working client, thus preserving game history that would be deleted by reinstalling.

We suspect that this problem may occur when foldit terminates abnormally after a foldit update. A Windows update may force foldit clients to close, which may explain why this issue has been seen in connection with a Windows update. We haven't been able to recreate the issue, however.

Quick fix

From a working client, copy the following five directories (folders) and three files.

Unchanging directories:

cmp-binary-00000000000000000000000000000000
cmp-resources-00000000000000000000000000000000

Changing directories:

cmp-binary-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cmp-database-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
cmp-resources-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

For the changing directories, the "xxxx" part changes to a new unique key each time there is an update.

Files:

version-binary.txt
version-database.txt
version-resources.txt

The files contain the unique key for the corresponding directory, as described below.

Technical details

The problem seems to involve five directories (folders) and three files. These directories and files are found in the foldit install directory, for example c:\foldit.

(Note: the main foldit executable (c:\foldit\foldit.exe) does not seem to change with updates, and doesn't seem to be part of the problem.)

The first two directories always have the same name. The content of these directories doesn't seem to be change, and it's unclear whether they are part of the problem. Still, it's safe to copy these directories from a working client. These directories are:

cmp-binary-00000000000000000000000000000000
cmp-resources-00000000000000000000000000000000

There are three directories that change when foldit sends out an update. Two of these correspond to the "binary" and "resources" directories above. There is a also a third "database" directory. Each of these three directories has a unique key that changes each time foldit updates the corresponding component.

These directories are currently named:

cmp-binary-802a8c0a3d8addd0d0d3194099e7ed1b
cmp-database-9520ab32b184d1153834352ab3d5d702
cmp-resources-12dd126eaca2e6fcda9d3350f7f1d49e

There are also three files corresponding to the three directories above:

version-binary.txt
version-database.txt
version-resources.txt

These files should contain the unique part of the directory name. For example, version-binary.txt should contain "802a8c0a3d8addd0d0d3194099e7ed1b" (minus the quotes) and nothing else.

The changing directories and the corresponding "pointer" files can be copied from a working client. Alternately, edit the pointer files to ensure that they contain the correct unique keys, correct as needed.

Copying the five directories and three files described above allowed the failed clients to restart.