Marek created SOLR-13204:
----------------------------

             Summary: ArrayIndexOutOfBoundsException in 
org/apache/solr/search/grouping/endresulttransformer/MainEndResultTransformer.java[36]
                 Key: SOLR-13204
                 URL: https://issues.apache.org/jira/browse/SOLR-13204
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
    Affects Versions: master (9.0)
         Environment: h1. Steps to reproduce

* Use a Linux machine.
*  Build commit {{ea2c8ba}} of Solr as described in the section below.
* Build the films collection as described below.
* Start the server using the command {{./bin/solr start -f -p 8983 -s 
/tmp/home}}
* Request the URL given in the bug description.

h1. Compiling the server

{noformat}
git clone https://github.com/apache/lucene-solr
cd lucene-solr
git checkout ea2c8ba
ant compile
cd solr
ant server
{noformat}

h1. Building the collection and reproducing the bug

We followed [Exercise 
2|http://lucene.apache.org/solr/guide/7_5/solr-tutorial.html#exercise-2] from 
the [Solr Tutorial|http://lucene.apache.org/solr/guide/7_5/solr-tutorial.html].

{noformat}
mkdir -p /tmp/home
echo '<?xml version="1.0" encoding="UTF-8" ?><solr></solr>' > /tmp/home/solr.xml
{noformat}

In one terminal start a Solr instance in foreground:
{noformat}
./bin/solr start -f -p 8983 -s /tmp/home
{noformat}

In another terminal, create a collection of movies, with no shards and no 
replication, and initialize it:

{noformat}
bin/solr create -c films
curl -X POST -H 'Content-type:application/json' --data-binary '{"add-field": 
{"name":"name", "type":"text_general", "multiValued":false, "stored":true}}' 
http://localhost:8983/solr/films/schema
curl -X POST -H 'Content-type:application/json' --data-binary 
'{"add-copy-field" : {"source":"*","dest":"_text_"}}' 
http://localhost:8983/solr/films/schema
./bin/post -c films example/films/films.json
curl -v "URL_BUG"
{noformat}

Please check the issue description below to find the "URL_BUG" that will allow 
you to reproduce the issue reported.

            Reporter: Marek


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

{noformat}
solr/films/select?group=true&distrib=true&group.main=true
{noformat}

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

{noformat}
ERROR (qtp689401025-18) [   x:films] o.a.s.s.HttpSolrCall 
null:java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.solr.search.grouping.endresulttransformer.MainEndResultTransformer.transform(MainEndResultTransformer.java:36)
        at 
org.apache.solr.handler.component.QueryComponent.groupedFinishStage(QueryComponent.java:638)
        at 
org.apache.solr.handler.component.QueryComponent.finishStage(QueryComponent.java:601)
        at 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:432)
        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)
        [...]
{noformat}

There is accessed the first element of an empty array of strings, stored in the 
member 'org.apache.solr.search.grouping.GroupingSpecification.fields'. There is 
an attept to put some strings to the array at 
org/apache/solr/handler/component/QueryComponent.java[283]; however, the string 
"group.field" is not present in params of the processed 
org.apache.solr.request.SolrQueryRequest instance.

Look into section 'Environment' above to see installation step of Solr and 
films collection.

We found this issue and ~70 more like this using [Diffblue Microservices 
Testing|https://www.diffblue.com/labs/?utm_source=solr-br]. Find more 
information on this [fuzz testing 
campaign|https://www.diffblue.com/blog/2018/12/19/diffblue-microservice-testing-a-sneak-peek-at-our-early-product-and-results?utm_source=solr-br].



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to