{"record":{"id":"7d145181366e8019","repo":"apache/hadoop","slug":"received-null-response","errorCode":null,"errorMessage":"Received null response","messagePattern":"Received null response","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SaslPlainServer.java","lineNumber":81,"sourceCode":"  private boolean completed;\n  private String authz;\n  \n  SaslPlainServer(CallbackHandler callback) {\n    this.cbh = callback;\n  }\n\n  @Override\n  public String getMechanismName() {\n    return \"PLAIN\";\n  }\n  \n  @Override\n  public byte[] evaluateResponse(byte[] response) throws SaslException {\n    if (completed) {\n      throw new IllegalStateException(\"PLAIN authentication has completed\");\n    }\n    if (response == null) {\n      throw new IllegalArgumentException(\"Received null response\");\n    }\n    try {\n      String payload;\n      try {\n        payload = new String(response, StandardCharsets.UTF_8);\n      } catch (Exception e) {\n        throw new IllegalArgumentException(\"Received corrupt response\", e);\n      }\n      // [ authz, authn, password ]\n      String[] parts = payload.split(\"\\u0000\", 3);\n      if (parts.length != 3) {\n        throw new IllegalArgumentException(\"Received corrupt response\");\n      }\n      if (parts[0].isEmpty()) { // authz = authn\n        parts[0] = parts[1];\n      }\n      \n      NameCallback nc = new NameCallback(\"SASL PLAIN\");","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SaslPlainServer.java#L63-L99","documentation":"Error \"Received null response\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/SaslPlainServer.java:81 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the SASL client sends an initial PLAIN response; a null response indicates a client-side or serialization bug.","Check client and server Hadoop versions for compatibility of the PLAIN SASL mechanism.","Capture the SASL exchange to verify the client actually transmitted the response bytes."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}