harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregory Shimansky <gshiman...@gmail.com>
Subject Re: [drlvm][test]Exclude some tests from "build test" target, make 'build test' pass
Date Thu, 16 Nov 2006 15:23:15 GMT
Elena Semukhina wrote:
> As Gregory mentioned ThreadTest.testJoinlongint() failure he observed
> yesterday, I filed a http://issues.apache.org/jira/browse/HARMONY-2204 
> issue
> for that. I saw this failure quite long ago but cannot reproduce it today
> trying different platforms/EMs. When the test failed, it reported that
> actual wait time is less than required.
> The spec for join() reads: "Waits at most millis milliseconds plus
> nanosnanoseconds for this thread to die. " There is an obvious
> misprint here:
> there should be "at least" but not "at most" and this was mentioned in
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4132653
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5068368
> On the other hand, in classlib ThreadTest I saw that they agree with
> Thread.sleep(1000)  duration >= 800 and join(100, 999999) duration <= 300.
> Can the current DRLVM guarantee that it does not exit join() earlier than
> expected?
> If not, we should make the test more tolerable to timing.

There is also an unstable ObjectTest.testWaitlongint which fails once in 
a while (about once in 50 - 100 runs). It also seems to wait a bit less 
than required. I think there is also a bug in the test, nanos should be 
500000, not 500. But fixing this doesn't help, test still fails on windows.

I checked the APR function and underlying win API functions, the 
System.currentTimeMillis is measured with microseconds accuracy. The 
Thread.join and Thread.wait end up with WaitForSingleObject function 
which accepts an argument in milliseconds. So I cannot understand why 
the wait/join time is less than required.


View raw message