{"record":{"id":"1c700f9adccec3dc","repo":"swc-project/swc","slug":"no-table-row-to-close","errorCode":null,"errorMessage":"No table row to close","messagePattern":"No table row to close","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"crates/swc_html_parser/src/parser/mod.rs","lineNumber":5393,"sourceCode":"                        self.insert_html_element(token_and_info)?;\n                        self.insertion_mode = InsertionMode::InCell;\n                        self.active_formatting_elements.insert_marker();\n                        maybe_allow_self_closing!(is_self_closing, tag_name);\n                    }\n                    // An end tag whose tag name is \"tr\"\n                    //\n                    // If the stack of open elements does not have a tr element in table scope, this\n                    // is a parse error; ignore the token.\n                    //\n                    // Otherwise:\n                    //\n                    // Clear the stack back to a table row context. (See below.)\n                    //\n                    // Pop the current node (which will be a tr element) from the stack of open\n                    // elements. Switch the insertion mode to \"in table body\".\n                    Token::EndTag { tag_name, .. } if tag_name == \"tr\" => {\n                        if !self.open_elements_stack.has_in_table_scope(\"tr\") {\n                            self.errors.push(Error::new(\n                                token_and_info.span,\n                                ErrorKind::NoTableRowToClose,\n                            ));\n                        } else {\n                            self.open_elements_stack.clear_back_to_table_row_context();\n                            self.update_end_tag_span(\n                                self.open_elements_stack.items.last(),\n                                token_and_info.span,\n                            );\n                            self.open_elements_stack.pop();\n                            self.insertion_mode = InsertionMode::InTableBody;\n                        }\n                    }\n                    // A start tag whose tag name is one of: \"caption\", \"col\", \"colgroup\", \"tbody\",\n                    // \"tfoot\", \"thead\", \"tr\"\n                    //\n                    // An end tag whose tag name is \"table\"\n                    //","sourceCodeStart":5375,"sourceCodeEnd":5411,"githubUrl":"https://github.com/swc-project/swc/blob/5176682b65416c6b5de6b47379ae1588ea3ecb3f/crates/swc_html_parser/src/parser/mod.rs#L5375-L5411","documentation":"HTML parse error on a </tr> (or row-closing) end tag: the stack of open elements has no tr element in table scope, so there is no table row to close. The error is recorded and the end tag is ignored per spec.","triggerScenarios":"Thrown at crates/swc_html_parser/src/parser/mod.rs:5393 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove the stray </tr>","Add the missing <tr> start tag so the row exists in table scope"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5176682b65416c6b5de6b47379ae1588ea3ecb3f","analyzedAt":"2026-08-17T16:16:52.067Z","contentChangedAt":"2026-08-17T16:16:52.067Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}