CloudBees CI startup failure due to IndexOutOfBoundsException related to corrupt messaging transport files

Last Reviewed:2025-04-01()
2 minute readKnowledge base

Issue

After upgrading or restarting CloudBees CI, the controller or operations center fails to start with the Messaging.afterExtensionsAugmented error:

SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Messaging.afterExtensionsAugmented java.lang.IndexOutOfBoundsException: Index 4 out of bounds for length 4 at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) at java.base/java.util.Objects.checkIndex(Objects.java:385) at java.base/java.util.ArrayList.get(ArrayList.java:427) at PluginClassLoader for mapdb-api//org.mapdb.SerializerPojo.deserializeUnknownHeader(SerializerPojo.java:480) ... at PluginClassLoader for operations-center-context//com.cloudbees.opscenter.context.MapDBMessagingStore.openStore(MapDBMessagingStore.java:88) ... SEVERE hudson.util.BootFailure#publish: Failed to initialize Jenkins java.lang.IndexOutOfBoundsException: Index 4 out of bounds for length 4

The operations center could also fail with this OperationsCenter.afterExtensionsAugmented error:

SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed OperationsCenter.afterExtensionsAugmented java.lang.IndexOutOfBoundsException: Index 6 out of bounds for length 6 at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) at java.base/java.util.Objects.checkIndex(Objects.java:385) at java.base/java.util.ArrayList.get(ArrayList.java:427) at PluginClassLoader for mapdb-api//org.mapdb.SerializerPojo.deserializeUnknownHeader(SerializerPojo.java:480) Caused: java.lang.RuntimeException: Could not instantiate class ... at PluginClassLoader for operations-center-server//com.cloudbees.opscenter.server.messaging.Transport.openStore(Transport.java:160) ... SEVERE hudson.util.BootFailure#publish: Failed to initialize Jenkins java.lang.IndexOutOfBoundsException: Index 6 out of bounds for length 6

Or

Resolution

This issue is currently being investigated as a bug, and does not have a permanent fix. If you encounter this issue:

  1. Capture the startup logs from the failed instance, and if possible, the latest support bundle from JENKINS_HOME/support

  2. Follow the workaround steps below to recover the instance.

  3. If the error message encountered was Messaging.afterExtensionsAugmented (controller or operations center)

    1. Enable a custom logger for com.cloudbees.opscenter.context.MapDBMessagingStore and com.cloudbees.opscenter.context.Messaging the FINE level

  4. If the error message encountered was OperationsCenter.afterExtensionsAugmented (operations center only)

    1. Enable a custom logger for com.cloudbees.opscenter.server.messaging.Transport at the FINE level on the operations center instance

  5. See if the issue can be reproduced

  6. Contact CloudBees Support and attach the logs and support bundle from the affected instance, and share how you reproduced the issue

Workaround

For instances encountering this issue:

  1. Move the corrupt messaging database files to a different directory:

    mkdir ~/corrupt-messaging-files/ cd JENKINS_HOME mv messaging messaging.p messaging.t cluster-messaging* ~/corrupt-messaging-files/
  2. Restart the instance

Tested product/plugin versions