lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <>
Subject [jira] [Commented] (LUCENE-7032) jdk-9-ea+105 breaks MinimizeOperations.minimize()
Date Wed, 17 Feb 2016 16:39:18 GMT


Robert Muir commented on LUCENE-7032:

Thanks dawid, I optimized test parameters further and experimented with your suggestions.

It now fails 100% reproducible for me with a single test method invocation on my linux machine
(4 seconds):

rmuir@beast:~/workspace/lucene-solr/lucene/core$ ant test -Dtestcase=TestMinimize -Dtests.method="testBasic*"
-Dtests.seed=5E1BF6106DCA9EC9 -Dargs="-XX:-TieredCompilation -Xbatch"

<<< anting >>>

[junit4:pickseed] Seed property 'tests.seed' already defined: 5E1BF6106DCA9EC9
   [junit4] <JUnit4> says g'day! Master seed: 5E1BF6106DCA9EC9
   [junit4] Executing 1 suite with 1 JVM.
   [junit4] Started J0 PID(5919@localhost).
   [junit4] Suite: org.apache.lucene.util.automaton.TestMinimize
   [junit4]   2> NOTE: reproduce with: ant test  -Dtestcase=TestMinimize -Dtests.method=testBasic
-Dtests.seed=5E1BF6106DCA9EC9 -Dtests.locale=fr-GF -Dtests.timezone=Africa/Khartoum -Dtests.asserts=true
   [junit4] ERROR   0.59s | TestMinimize.testBasic <<<
   [junit4]    > Throwable #1: java.lang.IllegalArgumentException: source=3 is out of bounds
(maxState is 2)
   [junit4]    > 	at __randomizedtesting.SeedInfo.seed([5E1BF6106DCA9EC9:F5E1EB05B21618E7]:0)
   [junit4]    > 	at org.apache.lucene.util.automaton.Automaton.addTransition(
   [junit4]    > 	at org.apache.lucene.util.automaton.MinimizationOperations.minimize(
   [junit4]    > 	at org.apache.lucene.util.automaton.RegExp.toAutomatonInternal(
   [junit4]    > 	at org.apache.lucene.util.automaton.RegExp.findLeaves(
   [junit4]    > 	at org.apache.lucene.util.automaton.RegExp.toAutomatonInternal(
   [junit4]    > 	at org.apache.lucene.util.automaton.RegExp.toAutomaton(
   [junit4]    > 	at org.apache.lucene.util.automaton.RegExp.toAutomaton(
   [junit4]    > 	at org.apache.lucene.util.automaton.AutomatonTestUtil.randomSingleAutomaton(
   [junit4]    > 	at org.apache.lucene.util.automaton.AutomatonTestUtil.randomAutomaton(
   [junit4]    > 	at org.apache.lucene.util.automaton.TestMinimize.testBasic(
   [junit4]    > 	at
   [junit4]   2> NOTE: test params are: codec=Asserting(Lucene60): {}, docValues:{}, sim=RandomSimilarity(queryNorm=true,coord=no):
{}, locale=fr-GF, timezone=Africa/Khartoum
   [junit4]   2> NOTE: Linux 4.2.0-25-generic amd64/Oracle Corporation 9-ea (64-bit)/cpus=8,threads=1,free=162224128,total=197132288
   [junit4]   2> NOTE: All tests run in this JVM: [TestMinimize]
   [junit4] Completed [1/1 (1!)] in 1.69s, 1 test, 1 error <<< FAILURES!
   [junit4] Tests with failures [seed: 5E1BF6106DCA9EC9]:
   [junit4]   - org.apache.lucene.util.automaton.TestMinimize.testBasic
   [junit4] JVM J0:     0.58 ..     2.96 =     2.38s
   [junit4] Execution time total: 2.98 sec.
   [junit4] Tests summary: 1 suite, 1 test, 1 error

/home/rmuir/workspace/lucene-solr/lucene/common-build.xml:1457: The following error occurred
while executing this line:
/home/rmuir/workspace/lucene-solr/lucene/common-build.xml:1014: There were test failures:
1 suite, 1 test, 1 error [seed: 5E1BF6106DCA9EC9]

Total time: 4 seconds

Now, to think about how to boil it down from here.

> jdk-9-ea+105 breaks MinimizeOperations.minimize()
> -------------------------------------------------
>                 Key: LUCENE-7032
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
> As soon as jdk-9-ea+105 was put into test rotation, automaton tests have been sporatically
failing in non-reproducible ways. All of them invoke hopcroft minimization either directly
or indirectly.
> The bug manifests in several forms:
> * ArrayIndexOutOfBoundsException in minimize()
> * IllegalArgumentException for an explicit bounds check
> * incorrect resulting automaton
> This method is ... let's say not the ideal one to debug something like this, but I've
at least got it where I can make it fail in a few minutes with beasting, so we can try simple
things like turning on/off jvm flags to try to narrow it more.
> It would be really great to make it fail more efficiently, but unfortunately it takes
many thousands of iterations until we understand more about it.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message