eclipse-vertx/vert.x · error · IllegalStateException

Invalid index

Error message

Invalid index 

What it means

Deserialization guard in ReplyFailure.fromInt: the integer read from the wire (e.g. a clustered event bus reply header) is not one of the mapped codes 0-3 (TIMEOUT, NO_HANDLERS, RECIPIENT_FAILURE, ERROR). The message is a generic sentinel appended with the offending index; this signals a version mismatch or corrupted reply data.

Source

Thrown at vertx-core/src/main/java/io/vertx/core/eventbus/ReplyFailure.java:55

  RECIPIENT_FAILURE,

  /**
   * A fatal error occured while delivering the message. Do not retry to send.
   */
  ERROR;

  public static ReplyFailure fromInt(int i) {
    switch (i) {
      case 0:
        return TIMEOUT;
      case 1:
        return NO_HANDLERS;
      case 2:
        return RECIPIENT_FAILURE;
      case 3:
        return ERROR;
      default:
        throw new IllegalStateException("Invalid index " + i);
    }
  }

  public int toInt() {
    switch (this) {
      case TIMEOUT:
        return 0;
      case NO_HANDLERS:
        return 1;
      case RECIPIENT_FAILURE:
        return 2;
      case ERROR:
        return 3;
      default:
        throw new IllegalStateException("How did we get here?");
    }
  }
}

View on GitHub (pinned to fb308bd8c3)

Solutions

  1. Ensure all cluster nodes run compatible Vert.x versions
  2. Treat unknown codes as ERROR when consuming untrusted reply data
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at vertx-core/src/main/java/io/vertx/core/eventbus/ReplyFailure.java:55 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of eclipse-vertx/vert.x@fb308bd8c3 (2026-09-06). Data as JSON: /api/errors/569e7b92f2a0197c. Report an issue: GitHub.