{"record":{"id":"c58e2a6abd6bd708","repo":"apache/hadoop","slug":"invalid-xml-c58e2a","errorCode":null,"errorMessage":"Invalid XML","messagePattern":"Invalid XML","errorType":"exception","errorClass":"SAXException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/contracts/services/ContainerListXmlParser.java","lineNumber":106,"sourceCode":"  /**\n   * SAX handler implementation for parsing container list responses.\n   * <p>\n   * This method is invoked at the end of every XML element encountered\n   * during SAX parsing. It validates element structure and delegates\n   * processing to appropriate helper methods depending on whether the\n   * element belongs to a container, container properties, metadata,\n   * or top-level response fields.\n   */\n  @Override\n  public void endElement(\n      final String uri,\n      final String localName,\n      final String qName) throws SAXException {\n\n    final String currentNode = elements.pop();\n    // Validate XML structure\n    if (!currentNode.equals(localName)) {\n      throw new SAXException(AbfsHttpConstants.XML_TAG_INVALID_XML);\n    }\n    final String parentNode =\n        elements.isEmpty() ? EMPTY_STRING : elements.peek();\n    final String value = getTrimmedValue();\n    // Handle container-related nodes\n    if (currentContainer != null) {\n      handleContainerNode(currentNode, parentNode, value);\n    } else {\n      // Handle response-level nodes\n      handleResponseNode(currentNode, value);\n    }\n    // Reset character buffer\n    buffer = new StringBuilder();\n  }\n\n  /**\n   * Returns the trimmed character buffer value.\n   *","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/contracts/services/ContainerListXmlParser.java#L88-L124","documentation":"Error \"Invalid XML\" thrown in apache/hadoop.","triggerScenarios":"Listing containers over the Blob endpoint returns malformed XML from the service or a tampering intermediary.","commonSituations":"See trigger scenarios.","solutions":["Verify the container listing response is well-formed XML by capturing the raw payload with DEBUG logging.","Remove intermediary proxies that may modify the response.","Retry the listing operation."],"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-23T01:17:44.959Z"}