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

NullPointerException in org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:667)

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: main (9.0)
    • Fix Version/s: None
    • Component/s: None
    • Labels:
    • Environment:

      Description

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

      http://localhost:8983/solr/films/select?q={!parent%20fq={!collapse%20field=id}&rentDocument}
      

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

      ERROR (qtp689401025-21) [   x:films] o.a.s.s.HttpSolrCall null:java.lang.NullPointerException
      	at org.apache.lucene.search.IndexSearcher.rewrite(IndexSearcher.java:667)
      	at org.apache.lucene.search.join.QueryBitSetProducer.getBitSet(QueryBitSetProducer.java:73)
      	at org.apache.solr.search.join.BlockJoinParentQParser$BitDocIdSetFilterWrapper.getDocIdSet(BlockJoinParentQParser.java:135)
      	at org.apache.solr.search.SolrConstantScoreQuery$ConstantWeight.scorer(SolrConstantScoreQuery.java:99)
      	at org.apache.lucene.search.Weight.bulkScorer(Weight.java:177)
      	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:649)
      	at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:443)
      	at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:200)
      	at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1604)
      	at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1420)
      	at org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:567)
      	at org.apache.solr.handler.component.QueryComponent.doProcessUngroupedSearch(QueryComponent.java:1434)
      	at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:373)
      	at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:298)
      	at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199)
      	at org.apache.solr.core.SolrCore.execute(SolrCore.java:2559)
      	at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:711)
      	at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:516)
      	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:394)
      	at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:340)
      	[...]
      

      In org/apache/lucene/search/join/QueryBitSetProducer.java[73] there is called
      method 'org.apache.lucene.search.IndexSearcher.rewrite' with null value stored
      in the member 'query'. Inside the called method there is method 'rewrite' on the
      accepted argument.

      The member 'query' of QueryBitSetProducer is initialised only once (i.e. only for
      the first query issued; for subsequent queries it is not created again) from
      'org.apache.solr.search.join.BlockJoinParentQParser.getCachedFilter'
      (org/apache/solr/search/join/BlockJoinParentQParser.java[98]), where is
      called 'createParentFilter' with null.

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

        Attachments

        1. home.zip
          376 kB
          Marek

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              marek.trtik Marek
            • Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated: