Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-13199

NPE due to unexpected null return value from QueryBitSetProducer.getBitSet

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 9.0
    • 8.6
    • search

    Description

      Requesting the following URL causes Solr to return an HTTP 500 error response:

      http://localhost:8983/solr/films/select?fl=[child%20parentFilter=ge]&q=*:*
      

      The error response seems to be caused by the following uncaught exception:

      java.lang.NullPointerException
      at org.apache.solr.response.transform.ChildDocTransformer.transform(ChildDocTransformer.java:92)
      at org.apache.solr.response.DocsStreamer.next(DocsStreamer.java:103)
      at org.apache.solr.response.DocsStreamer.next(DocsStreamer.java:1)
      at org.apache.solr.response.TextResponseWriter.writeDocuments(TextResponseWriter.java:184)
      at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:136)
      at org.apache.solr.common.util.JsonTextWriter.writeNamedListAsMapWithDups(JsonTextWriter.java:386)
      at org.apache.solr.common.util.JsonTextWriter.writeNamedList(JsonTextWriter.java:292)
      at org.apache.solr.response.JSONWriter.writeResponse(JSONWriter.java:73)
      

      In ChildDocTransformer.transform, we have the following lines:

      final BitSet segParentsBitSet = parentsFilter.getBitSet(leafReaderContext);
      final int segPrevRootId = segRootId==0? -1: segParentsBitSet.prevSetBit(segRootId - 1); // can return -1 and that's okay
      

      But getBitSet can return null if the set of DocIds is empty:

      return docIdSet == DocIdSet.EMPTY ? null : ((BitDocIdSet) docIdSet).bits();
      

      We found this bug using Diffblue Microservices Testing. Find more information on this fuzz testing campaign.

      Attachments

        1. home.zip
          376 kB
          Johannes Kloos
        2. SOLR-13199.patch
          6 kB
          Munendra S N
        3. SOLR-13199.patch
          4 kB
          Munendra S N

        Activity

          People

            munendrasn Munendra S N
            jkloos Johannes Kloos
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: