[
https://issues.apache.org/jira/browse/LUCENE-4948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13638186#comment-13638186
]
Robert Muir commented on LUCENE-4948:
-------------------------------------
Thanks for looking into this Mike! I agree the current code is wrong (stinky)
> Stink bug in PostingsHighlighter
> --------------------------------
>
> Key: LUCENE-4948
> URL: https://issues.apache.org/jira/browse/LUCENE-4948
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/highlighter
> Reporter: Michael McCandless
> Fix For: 5.0, 4.4
>
>
> This test fail reproduces on IBM J9:
> {noformat}
> NOTE: reproduce with: ant test -Dtestcase=TestPostingsHighlighter
> -Dtests.method=testCambridgeMA -Dtests.seed=2A9A93DAC39E0938
> -Dtests.multiplier=3 -Dtests.slow=true -Dtests.locale=es_HN
> -Dtests.timezone=America/Yellowknife -Dtests.file.encoding=UTF-8
> {noformat}
> {noformat}
> Stack Trace:
> java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 37
> at
> __randomizedtesting.SeedInfo.seed([2A9A93DAC39E0938:AB8FF071AD305139]:0)
> at
> org.apache.lucene.search.postingshighlight.Passage.addMatch(Passage.java:53)
> at
> org.apache.lucene.search.postingshighlight.PostingsHighlighter.highlightDoc(PostingsHighlighter.java:547)
> at
> org.apache.lucene.search.postingshighlight.PostingsHighlighter.highlightField(PostingsHighlighter.java:425)
> at
> org.apache.lucene.search.postingshighlight.PostingsHighlighter.highlightFields(PostingsHighlighter.java:364)
> at
> org.apache.lucene.search.postingshighlight.PostingsHighlighter.highlightFields(PostingsHighlighter.java:268)
> at
> org.apache.lucene.search.postingshighlight.PostingsHighlighter.highlight(PostingsHighlighter.java:198)
> at
> org.apache.lucene.search.postingshighlight.TestPostingsHighlighter.testCambridgeMA(TestPostingsHighlighter.java:373)
> {noformat}
> I think it's because J9 grows arrays in a different progression than other
> JVMs ... we should fix PostingsHighlighter to forcefully grow the arrays to
> the same length instead of this:
> {noformat}
> if (numMatches == matchStarts.length) {
> matchStarts = ArrayUtil.grow(matchStarts, numMatches+1);
> matchEnds = ArrayUtil.grow(matchEnds, numMatches+1);
> BytesRef newMatchTerms[] = new
> BytesRef[ArrayUtil.oversize(numMatches+1,
> RamUsageEstimator.NUM_BYTES_OBJECT_REF)];
> System.arraycopy(matchTerms, 0, newMatchTerms, 0, numMatches);
> matchTerms = newMatchTerms;
> }
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]