Symptoms

  • CRX stops / doesn't start up anymore, and the following error is logged :
*ERROR* TarPersistenceManager: Failed to read bundle: 
cafebabe-cafe-babe-cafe-babecafebabe: java.io.IOException: File not found: 0
OR
*ERROR* TarPersistenceManager: Failed to read bundle: 
deadbeef-face-babe-cafe-babecafebabe: java.io.IOException: File not found: -32766


  • The repository contains a file named data_32768.tar.

Cause

The Tar Persistence Manager works in append-only mode, and writes its data to files named data_<id>.tar When the <id> reaches 32768, the data from such data_32768.tar file can't be accessed.

Analysis, Resolution

In CRX 1.4.2, the default maximum size of the data_<id>.tar files is 64mb.
In CRX 2.x, the default maximum size of the data_<id>.tar files is 256mb.

To avoid reaching this limit, we recommend to increase the maximum file size of the data_<id>.tar files to at least 512 (512 MB). Please note that the maximum value is 1024 (1024 MB).

If you are hit by the problem, please inform GSG. The resolution is to stop CRX, delete all index*.tar files, rename all data*.tar files (but keeping the relative order), and start CRX.

To reconfigure the maximum file size, the repository.xml configuration file and all workspace.xml configuration files need to be modified. Please configure the maxFileSize parameter as shown in the following example:

<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager">
    ...
    <param name="maxFileSize" value="512" />
</PersistenceManager>

Affected Versions

1.3.X, 1.4.X, 2.0, 2.1 (fixed in CRX 2.2)

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy