{"record":{"id":"97ee496b1e3934cb","repo":"stanfordnlp/CoreNLP","slug":"deserialization-failed-e-getmessage","errorCode":null,"errorMessage":"Deserialization failed: ${e.getMessage()}","messagePattern":"Deserialization failed: (.+?)","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"src/edu/stanford/nlp/classify/LinearClassifier.java","lineNumber":1334,"sourceCode":"\n  public void setWeights(double[][] newWeights) {\n    weights = newWeights;\n  }\n\n  /**\n   * Loads a classifier from a file.\n   * Simple convenience wrapper for IOUtils.readFromString.\n   */\n  public static <L, F> LinearClassifier<L, F> readClassifier(String loadPath) {\n    logger.info(\"Deserializing classifier from \" + loadPath + \"...\");\n\n    try {\n      ObjectInputStream ois = IOUtils.readStreamFromString(loadPath);\n      LinearClassifier<L, F> classifier = ErasureUtils.<LinearClassifier<L, F>>uncheckedCast(ois.readObject());\n      ois.close();\n      return classifier;\n    } catch (Exception e) {\n      throw new RuntimeException(\"Deserialization failed: \"+e.getMessage(), e);\n    }\n  }\n\n  /**\n   * Convenience wrapper for IOUtils.writeObjectToFile.\n   */\n  public static void writeClassifier(LinearClassifier<?, ?> classifier, String serializePath) {\n    try {\n      IOUtils.writeObjectToFile(classifier, serializePath);\n      logger.info(\"Serializing classifier to \" + serializePath + \"... done.\");\n    } catch (Exception e) {\n      throw new RuntimeException(\"Serialization failed: \" + e.getMessage(), e);\n    }\n  }\n\n  /**\n   * Saves this out to a standard text file, instead of as a serialized Java object.\n   * NOTE: this currently assumes feature and weights are represented as Strings.","sourceCodeStart":1316,"sourceCodeEnd":1352,"githubUrl":"https://github.com/stanfordnlp/CoreNLP/blob/1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a/src/edu/stanford/nlp/classify/LinearClassifier.java#L1316-L1352","documentation":"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.","triggerScenarios":"Thrown at src/edu/stanford/nlp/classify/LinearClassifier.java:1334 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify loadPath exists and was produced by writeClassifier","Use matching Stanford NLP versions for writing and reading","Catch and retrain or load a backup model on failure"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1b7edd19c4d0d7b1f13a2591425b9b60a0b1af7a","analyzedAt":"2026-09-10T02:24:07.274Z","contentChangedAt":"2026-09-10T02:24:07.274Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}