Uploaded image for project: 'Confluence'
  1. Confluence
  2. CONFLUENCE-379

Headers in list items break XDOM generation

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 9.76.0
    • 9.75.0
    • Syntax - XHTML
    • None
    • Unknown

    Description

      They cause list item to be outside lists. This is because BEGIN_SECTION events are produced before headers, but the corresponding END_SECTION come after the lists.
      A fix consists in generating END_SECTION events before closing the list item, and then ignoring the corresponding number of END_SECTION that will come after, effectively moving the END_SECTION events at the right place

      Such exceptions can be seen (thanks MichaelHamann):

      org.xwiki.search.solr.internal.api.SolrIndexerException: Failed to get input Solr document for entity 'internal:Automation-DevSecOps.Server-Automation.clmapidocmaster.API-reference.Cloud-API-reference.ServiceOfferingInstance-class.ServiceOfferingInstance-offboard-requ
      est.WebHome'
              at org.xwiki.search.solr.internal.metadata.AbstractSolrMetadataExtractor.getSolrDocument(AbstractSolrMetadataExtractor.java:178)
              at org.xwiki.search.solr.internal.DefaultSolrIndexer.lambda$getSolrDocument$0(DefaultSolrIndexer.java:525)
              at org.xwiki.bridge.internal.DefaultDocumentContextExecutor.call(DefaultDocumentContextExecutor.java:65)
              at org.xwiki.search.solr.internal.DefaultSolrIndexer.getSolrDocument(DefaultSolrIndexer.java:525)
              at org.xwiki.search.solr.internal.DefaultSolrIndexer.processBatch(DefaultSolrIndexer.java:428)
              at org.xwiki.search.solr.internal.DefaultSolrIndexer.run(DefaultSolrIndexer.java:393)
              at java.base/java.lang.Thread.run(Thread.java:840)
      Caused by: java.lang.NullPointerException: Cannot read field "listItemIndex" because the return value of "java.util.Deque.peek()" is null
              at org.xwiki.rendering.listener.chaining.BlockStateChainingListener.beginListItem(BlockStateChainingListener.java:354)
              at org.xwiki.rendering.listener.chaining.AbstractChainingListener.beginListItem(AbstractChainingListener.java:235)
              at org.xwiki.rendering.block.ListItemBlock.before(ListItemBlock.java:61)
              at org.xwiki.rendering.block.AbstractBlock.traverse(AbstractBlock.java:590)
              at org.xwiki.rendering.block.AbstractBlock.traverse(AbstractBlock.java:593)
              at org.xwiki.rendering.block.AbstractBlock.traverse(AbstractBlock.java:593)
              at org.xwiki.rendering.block.AbstractBlock.traverse(AbstractBlock.java:593)
              at org.xwiki.rendering.block.AbstractBlock.traverse(AbstractBlock.java:593)
              at org.xwiki.rendering.internal.renderer.AbstractBlockRenderer.render(AbstractBlockRenderer.java:63)
              at org.xwiki.rendering.internal.renderer.AbstractBlockRenderer.render(AbstractBlockRenderer.java:55)
              at org.xwiki.search.solr.internal.metadata.DocumentSolrMetadataExtractor.setFieldsInternal(DocumentSolrMetadataExtractor.java:126)
              at org.xwiki.search.solr.internal.metadata.AbstractSolrMetadataExtractor.getSolrDocument(AbstractSolrMetadataExtractor.java:171)
              ... 6 common frames omitted
      

      Attachments

        Issue Links

          Activity

            People

              rjakse Raphaël Jakse
              rjakse Raphaël Jakse
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: