I don't know what was the thing w/ the strings generated before, but now I
ran the test again w/ the same seed and it generates the same strings. So at
least it seems there are no problems w/ the Random class :).

However, the string l.E fails w/ the IBM JVM and succeeds w/ SUN's. Any
ideas why? What does the test check anyway?

I ran TRR2, and set the regexp to always be "l.E" and the test passes. The
failure comes from

junit.framework.AssertionFailedError: expected:<true> but was:<false>
    at
org.apache.lucene.util.automaton.TestUTF32ToUTF8.assertAutomaton(TestUTF32ToUTF8.java:199)
    at
org.apache.lucene.util.automaton.TestUTF32ToUTF8.testRandomRegexes(TestUTF32ToUTF8.java:171)

I've set regexp to "l.E", and also 'string' inside assertAutomaton to
"\u006C\uD9FF\u0045". The byte[] returned from string.getBytes("UTF-8") are
[108, 69]. It just ignores the middle character. Perhaps that's why the test
fails?

When I run this w/ SUN's JVM, the bytes returned are [108, 63, 69].

If I manually set the bytes, using IBM's, to [108, 63, 69], then the test
passes.

Interestingly, Googling for \uD9FF brings back LUCENE-2019 as the first
result :). I'll dig some more into this character, and why the IBM and SUN
JVMs return different byte[] representation for the same sequence of
characters. If you already spot the problem, please let me know.

BTW, the test calls _TestUtil.getRandomMultiplier on every iteration loop,
which goes and checks a system property. Perhaps we can extract it to a
variable, or include a static constant in LuceneTestCase(J4) or something?

Shai

On Mon, Jul 26, 2010 at 9:22 PM, Robert Muir <rcm...@gmail.com> wrote:

> maybe there is a bug in ibm's random generator :)
>
>
> On Mon, Jul 26, 2010 at 11:50 AM, Michael McCandless <
> luc...@mikemccandless.com> wrote:
>
>> That's VERY spooky that w/ a fixed seed you see different random
>> regexps being made.
>>
>> Mike
>>
>> On Mon, Jul 26, 2010 at 11:40 AM, Shai Erera <ser...@gmail.com> wrote:
>> > Ok I've dug deeper into the test. I set the random seed to
>> > -9029631602016965389L in setUp(), and discovered that on the 4th
>> iteration
>> > it breaks. For some reason though, AutomatonTestUtil.randomRegex
>> generates
>> > different strings every time I run the test, even though it uses the
>> same
>> > Random object w/ the same seed ...
>> >
>> > Anyway, one of the regex that failed was this "l.E" (w/o the quotes) and
>> I
>> > think it's a lowercase L, '.' (dot) and 'E' (uppercase). Hope this
>> helps.
>> >
>> > Shai
>> >
>> > On Mon, Jul 26, 2010 at 6:23 PM, Robert Muir <rcm...@gmail.com> wrote:
>> >>
>> >> sounds nasty... its good you are running the tests with this different
>> >> jvm...
>> >>
>> >> On Mon, Jul 26, 2010 at 11:21 AM, Shai Erera <ser...@gmail.com> wrote:
>> >>>
>> >>> Tried to run it w/ SUN JRE6 and it succeeds ! I've tried several times
>> >>> and it succeeds every time. However, when I revert back to IBM's, it
>> fail
>> >>> immediately.
>> >>>
>> >>> I can help w/ the debug, if you give me a hint where to look :).
>> >>>
>> >>> Shai
>> >>>
>> >>> On Mon, Jul 26, 2010 at 5:57 PM, Shai Erera <ser...@gmail.com> wrote:
>> >>>>
>> >>>> Sorry for the delayed response.
>> >>>>
>> >>>> I ran it a couple more times, from Eclipse and Ant, and each time it
>> >>>> fails (amazing !), w/ different seeds. More seeds that fail:
>> >>>> NOTE: random seed of testcase 'testRandomRegexes' was:
>> >>>> -4244174191361080127
>> >>>> NOTE: random seed of testcase 'testRandomRegexes' was:
>> >>>> -7059086272401721644
>> >>>> NOTE: random seed of testcase 'testRandomRegexes' was:
>> >>>> -1314734215611104147
>> >>>>
>> >>>> I use IBM JVM, tried w/ both 1.5 and 1.6 ...
>> >>>>
>> >>>> Mike, can we use LUCENE-2565 to track this, or would you prefer that
>> I
>> >>>> open a separate one?
>> >>>>
>> >>>> Shai
>> >>>>
>> >>>> On Mon, Jul 26, 2010 at 3:26 PM, Michael McCandless
>> >>>> <luc...@mikemccandless.com> wrote:
>> >>>>>
>> >>>>> On a more general note...
>> >>>>>
>> >>>>> Any time any of you out there hit an "odd" test failure, please
>> please
>> >>>>> please do just what Shai did: take it to the dev list!
>> >>>>>
>> >>>>> Think of Lucene's unit tests like SETI :)  We are desperately
>> seeking
>> >>>>> bugs, and you and your machine may just be lucky enough to find
>> one...
>> >>>>> go forth and buy expensive new power hungry computers just so you
>> can
>> >>>>> run the random tests over and over, seeking the bugs!
>> >>>>>
>> >>>>> But be sure to include that random seed when you do hit a failure...
>> >>>>>
>> >>>>> Mike
>> >>>>>
>> >>>>> On Mon, Jul 26, 2010 at 8:23 AM, Robert Muir <rcm...@gmail.com>
>> wrote:
>> >>>>> > I agree, Shai can you open a bug? I cannot reproduce, did you use
>> an
>> >>>>> > IBM JVM
>> >>>>> > or another environment that might help us figure it out?
>> >>>>> >
>> >>>>> > On Mon, Jul 26, 2010 at 6:29 AM, Michael McCandless
>> >>>>> > <luc...@mikemccandless.com> wrote:
>> >>>>> >>
>> >>>>> >> Hmmm this means a bug is lurking.  This is the power of random
>> >>>>> >> testing
>> >>>>> >> (that every time we all run tests, we're testing different
>> "paths"
>> >>>>> >> through the code)....
>> >>>>> >>
>> >>>>> >> It seems exceptionally unlikely that LUCENE-2537's changes would
>> >>>>> >> cause
>> >>>>> >> this!
>> >>>>> >>
>> >>>>> >> But, unfortunately, when I plug that seed in I don't see it fail,
>> >>>>> >> which is odd.  I'll run a stress test to see if I can tickle the
>> >>>>> >> bug... can you open a Jira issue so we don't lose track?
>> >>>>> >>
>> >>>>> >> Mike
>> >>>>> >>
>> >>>>> >> On Mon, Jul 26, 2010 at 2:57 AM, Shai Erera <ser...@gmail.com>
>> >>>>> >> wrote:
>> >>>>> >> > Hi
>> >>>>> >> >
>> >>>>> >> > I was running tests on trunk (after merging the changes from
>> >>>>> >> > LUCENE-2537)
>> >>>>> >> > and received this error message:
>> >>>>> >> >
>> >>>>> >> > expected:<true> but was:<false>
>> >>>>> >> >
>> >>>>> >> > junit.framework.AssertionFailedError: expected: but was:
>> >>>>> >> > at
>> >>>>> >> >
>> >>>>> >> >
>> >>>>> >> >
>> org.apache.lucene.util.automaton.TestUTF32ToUTF8.assertAutomaton(TestUTF32ToUTF8.java:197)
>> >>>>> >> > at
>> >>>>> >> >
>> >>>>> >> >
>> >>>>> >> >
>> org.apache.lucene.util.automaton.TestUTF32ToUTF8.testRandomRegexes(TestUTF32ToUTF8.java:170)
>> >>>>> >> > at
>> >>>>> >> >
>> >>>>> >> >
>> org.apache.lucene.util.LuceneTestCase.runBare(LuceneTestCase.java:285)
>> >>>>> >> >
>> >>>>> >> > NOTE: random seed of testcase 'testRandomRegexes' was:
>> >>>>> >> > 3510820306304573866
>> >>>>> >> >
>> >>>>> >> > I'm sure it's related to my changes. Has anyone else seen this
>> >>>>> >> > before?
>> >>>>> >> >
>> >>>>> >> > Shai
>> >>>>> >> >
>> >>>>> >>
>> >>>>> >>
>> >>>>> >>
>> ---------------------------------------------------------------------
>> >>>>> >> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> >>>>> >> For additional commands, e-mail: dev-h...@lucene.apache.org
>> >>>>> >>
>> >>>>> >
>> >>>>> >
>> >>>>> >
>> >>>>> > --
>> >>>>> > Robert Muir
>> >>>>> > rcm...@gmail.com
>> >>>>> >
>> >>>>>
>> >>>>>
>> ---------------------------------------------------------------------
>> >>>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> >>>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>> >>>>>
>> >>>>
>> >>>
>> >>
>> >>
>> >>
>> >> --
>> >> Robert Muir
>> >> rcm...@gmail.com
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>
>>
>
>
> --
> Robert Muir
> rcm...@gmail.com
>

Reply via email to