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

Last Reviewed:2025-06-16()
1 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

SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Messaging.afterExtensionsAugmentedjava.lang.Error: java.lang.reflect.InvocationTargetException ... Caused by: java.io.IOError: java.io.EOFException at org.mapdb.Volume$FileChannelVol.getDataInput(Volume.java:1011) ... at com.cloudbees.opscenter.context.Messaging$Local.open(Messaging.java:611) ...

Resolution

Upgrade to CloudBees CI 2.504.2.5 or newer.

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

This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.