Potential timeout issues - tests running in the same vm

David Holmes david.holmes at oracle.com
Thu Nov 17 04:43:13 UTC 2011


Gary,

On 17/11/2011 2:29 AM, Gary Adams wrote:
>
> The jtreg tests that use othervm along with a timeout argument should be
> fairly reliable in getting a consistent result. The tests that did not
> specify
> othervm may run into problems, if they are run concurrently with other
> tests.

Given they are not run concurrently with other tests (modulo the testing 
framework [gtee/ute not jtreg] running multiple testsuites on the same 
machine) the only issue I can see that would impact samevm mode is if 
other test lefts threads behind. I'm not sure if this is possible with 
jtreg, but if it were then it is those other tests that need to be fixed.

As Alan indicated we want to reduce use of othervm where we can because 
often the overhead of launching a new VM far outweighs the execution 
time of a successful test.

David
-----

> Here's a quick sampling of the java/util and java/lang tests that might
> have issues.
> Would there be any harm in changing these to designate running in
> othervm mode?
>
> find jdk/test/java/{util,lang} -type f |grep -v hg/|xargs grep -n @run
> |grep timeout |egrep -v "othervm|shell"
>
> jdk/test/java/util/ResourceBundle/Bug4168625Test.java:27: @run
> main/timeout=600 Bug4168625Test
> jdk/test/java/util/concurrent/BlockingQueue/CancelledProducerConsumerLoops.java:38:
> * @run main/timeout=7000 CancelledProducerConsumerLoops
> jdk/test/java/util/concurrent/BlockingQueue/MultipleProducersSingleConsumerLoops.java:38:
> * @run main/timeout=3600 MultipleProducersSingleConsumerLoops
> jdk/test/java/util/concurrent/BlockingQueue/ProducerConsumerLoops.java:38:
> * @run main/timeout=3600 ProducerConsumerLoops
> jdk/test/java/util/concurrent/BlockingQueue/SingleProducerMultipleConsumerLoops.java:38:
> * @run main/timeout=600 SingleProducerMultipleConsumerLoops
> jdk/test/java/util/concurrent/ConcurrentHashMap/MapCheck.java:38: * @run
> main/timeout=240 MapCheck
> jdk/test/java/util/concurrent/ConcurrentHashMap/MapLoops.java:38: * @run
> main/timeout=1600 MapLoops
> jdk/test/java/util/concurrent/Exchanger/ExchangeLoops.java:38: * @run
> main/timeout=720 ExchangeLoops
> jdk/test/java/util/concurrent/ExecutorCompletionService/ExecutorCompletionServiceLoops.java:38:
> * @run main/timeout=3600 ExecutorCompletionServiceLoops
> jdk/test/java/util/concurrent/FutureTask/CancelledFutureLoops.java:38: *
> @run main/timeout=2000 CancelledFutureLoops
> jdk/test/java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java:38:
> * @run main/timeout=2800 CancelledLockLoops
> jdk/test/java/util/concurrent/locks/ReentrantLock/LockOncePerThreadLoops.java:38:
> * @run main/timeout=15000 LockOncePerThreadLoops
> jdk/test/java/util/concurrent/locks/ReentrantLock/SimpleReentrantLockLoops.java:38:
> * @run main/timeout=4500 SimpleReentrantLockLoops
> jdk/test/java/util/concurrent/locks/ReentrantReadWriteLock/MapLoops.java:38:
> * @run main/timeout=4700 MapLoops
> jdk/test/java/util/logging/LoggingDeadlock.java:32: * @run
> main/timeout=15 LoggingDeadlock
> jdk/test/java/util/logging/LoggingDeadlock2.java:31: * @run
> main/timeout=15 LoggingDeadlock2
> jdk/test/java/util/logging/LoggingDeadlock3.java:30: * @run
> main/timeout=80 LoggingDeadlock3
> jdk/test/java/util/logging/LoggingDeadlock4.java:30: * @run
> main/timeout=15 LoggingDeadlock4
> jdk/test/java/util/zip/ZipFile/ManyEntries.java:27: * @run
> main/timeout=600 ManyEntries
> jdk/test/java/lang/annotation/AnnotationTypeMismatchException/FoundType.java:29:
> * @run main/timeout=30 FoundType
> jdk/test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java:34:
> * @run main/timeout=300 CollectionUsageThreshold
>



More information about the core-libs-dev mailing list