codeql icon indicating copy to clipboard operation
codeql copied to clipboard

fix qhelp files

Open LWSimpkins opened this issue 5 months ago • 1 comments
trafficstars

Several qhelp files have errors when running the codeql generate query-help --format=markdown file.qhelp command

  • Nested code inside <ul>, such as a second <ul> or a <p> result in a com.semmle.util.exception.CatastophicError

    • This may be valid HTML, but is not supported by the qhelp file/throws an error when running the generate query-help command.

    For example, running codeql generate query-help --format=markdown cpp/ql/src/Metrics/Classes/CNumberOfFunctions.qhelp results in:

Oops! A fatal internal error occurred. Details:
com.semmle.util.exception.CatastrophicError: paragraph should be null
	at com.semmle.prettyprint.doc.QhelpToMD$QhelpSaxHandler.startParagraph(QhelpToMD.java:204)
	at com.semmle.prettyprint.doc.QhelpToMD$QhelpSaxHandler.startElement(QhelpToMD.java:445)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source)
	at com.semmle.prettyprint.doc.QhelpToMD.runSaxParse(QhelpToMD.java:826)
	at com.semmle.prettyprint.doc.QhelpToMD.process(QhelpToMD.java:781)
	at com.semmle.prettyprint.doc.QhelpToMD.format(QhelpToMD.java:643)
	at com.semmle.cli2.generate.QueryHelpCommand.buildMarkdownHelp(QueryHelpCommand.java:386)
	at com.semmle.cli2.generate.QueryHelpCommand.getMarkdownHelp(QueryHelpCommand.java:368)
	at com.semmle.cli2.generate.QueryHelpCommand$MarkdownWriter.addFile(QueryHelpCommand.java:312)
	at com.semmle.cli2.generate.QueryHelpCommand.executeSubcommand(QueryHelpCommand.java:288)
	at com.semmle.cli2.picocli.SubcommandCommon.lambda$executeSubcommandWithMessages$5(SubcommandCommon.java:892)
	at com.semmle.cli2.picocli.SubcommandCommon.withCompilationMessages(SubcommandCommon.java:444)
	at com.semmle.cli2.picocli.SubcommandCommon.executeSubcommandWithMessages(SubcommandCommon.java:890)
	at com.semmle.cli2.picocli.SubcommandCommon.toplevelMain(SubcommandCommon.java:777)
	at com.semmle.cli2.picocli.SubcommandCommon.call(SubcommandCommon.java:757)
	at com.semmle.cli2.picocli.SubcommandMaker.runMain(SubcommandMaker.java:238)
	at com.semmle.cli2.picocli.SubcommandMaker.runMain(SubcommandMaker.java:259)
	at com.semmle.cli2.CodeQL.main(CodeQL.java:115)

LWSimpkins avatar Jun 09 '25 22:06 LWSimpkins