stanfordnlp/CoreNLP · error · RuntimeException

Deserialization failed

Error message

Deserialization failed: ${e.getMessage()}

What it means

RuntimeException wrapping any exception from LinearClassifier.readClassifier when deserializing a classifier from disk fails — typically a missing file, corrupt stream, or version-incompatible serialized object.

Solutions

  1. Verify loadPath exists and was produced by writeClassifier
  2. Use matching Stanford NLP versions for writing and reading
  3. Catch and retrain or load a backup model on failure
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at src/edu/stanford/nlp/classify/LinearClassifier.java:1334 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of stanfordnlp/CoreNLP@1b7edd19c4 (2026-09-10). Data as JSON: /api/errors/97ee496b1e3934cb. Report an issue: GitHub.

Appendix: source

Thrown at src/edu/stanford/nlp/classify/LinearClassifier.java:1334

  public void setWeights(double[][] newWeights) {
    weights = newWeights;
  }

  /**
   * Loads a classifier from a file.
   * Simple convenience wrapper for IOUtils.readFromString.
   */
  public static <L, F> LinearClassifier<L, F> readClassifier(String loadPath) {
    logger.info("Deserializing classifier from " + loadPath + "...");

    try {
      ObjectInputStream ois = IOUtils.readStreamFromString(loadPath);
      LinearClassifier<L, F> classifier = ErasureUtils.<LinearClassifier<L, F>>uncheckedCast(ois.readObject());
      ois.close();
      return classifier;
    } catch (Exception e) {
      throw new RuntimeException("Deserialization failed: "+e.getMessage(), e);
    }
  }

  /**
   * Convenience wrapper for IOUtils.writeObjectToFile.
   */
  public static void writeClassifier(LinearClassifier<?, ?> classifier, String serializePath) {
    try {
      IOUtils.writeObjectToFile(classifier, serializePath);
      logger.info("Serializing classifier to " + serializePath + "... done.");
    } catch (Exception e) {
      throw new RuntimeException("Serialization failed: " + e.getMessage(), e);
    }
  }

  /**
   * Saves this out to a standard text file, instead of as a serialized Java object.
   * NOTE: this currently assumes feature and weights are represented as Strings.

View on GitHub (pinned to 1b7edd19c4)