RFR 8069291: [TESTBUG] Fibonacci test: OutOfMemoryError: unable to create native thread
christian.tornqvist at oracle.com
Thu Feb 19 13:27:11 UTC 2015
This looks good. Could you do a quick run through JPRT to see how long this test takes to run? We might need to exclude it from JPRT if it takes more than 30s to run.
From: Dmitry Dmitriev [mailto:dmitry.dmitriev at oracle.com]
Sent: Thursday, February 19, 2015 4:05 AM
To: David Holmes; christian.tornqvist at oracle.com
Cc: hotspot-runtime-dev at openjdk.java.net
Subject: Re: RFR 8069291: [TESTBUG] Fibonacci test: OutOfMemoryError: unable to create native thread
Thank you for proposal. I was think about it, but finally decided to implement different fix. I leave the original thread creation logic, but exclude running this test on 32 bit JVM on Windows(via "@requires" jtreg tag).
New open webrev:
JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8069291
On 17.02.2015 2:24, David Holmes wrote:
> On 17/02/2015 7:31 AM, Dmitry Dmitriev wrote:
>> Hi Christian,
>> With this fix the N threads will be alive at the same time for N
>> Fibonacci number. E.g. for 15th Fibonacci number at the same time
>> will be 15 threads alive. Test takes small amount of time to run,
>> less than a minute.
>> But now I understand that for finding possible thread corruption it
>> will be better to keep previous logic for creation threads. But in
>> this case we need to limit maximum Fibonacci number for 32 bit
>> systems to lower value, e.g. to 13. In this case only 751 threads
>> will be created. For example 1973 threads are created for 15th
>> Fibonacci number.
> So the usefulness of this seems to be as a stress test - in which case
> scaling it back renders it less useful.
> I'm still inclined to treat the OOME as a transient error that may
> affect some systems. Have the test not fail when that occurs if you
> want to reduce testing noise.
>> ----- Original Message -----
>> From: christian.tornqvist at oracle.com
>> To: dmitry.dmitriev at oracle.com, hotspot-runtime-dev at openjdk.java.net
>> Sent: Tuesday, 17 February, 2015 12:02:44 AM GMT +03:00 Iraq
>> Subject: RE: RFR 8069291: [TESTBUG] Fibonacci test: OutOfMemoryError:
>> unable to create native thread
>> Hi Dmitry,
>> How many threads will usually be alive at the same time? How long
>> does the test usually take to run?
>> -----Original Message-----
>> From: hotspot-runtime-dev
>> [mailto:hotspot-runtime-dev-bounces at openjdk.java.net] On Behalf Of
>> Dmitry Dmitriev
>> Sent: Friday, February 13, 2015 3:12 PM
>> To: hotspot-runtime-dev at openjdk.java.net
>> Subject: RFR 8069291: [TESTBUG] Fibonacci test: OutOfMemoryError:
>> unable to create native thread
>> Please review this fix for JDK-8069291. Unfortunately, the bug report
>> isn't visible outside Oracle.
>> This test calculates Fibonacci numbers "recursively" via threads and
>> compares the result with the classical calculation. I correct
>> out-of-memory error which sometimes occurred on 32 bit systems. I
>> changed how the recursive threads are created. Now left & right
>> branches creates separately and thread wait one branch to finish
>> before creating thread for another branch.
>> As part of the fixing the OOM issue I am moving the test to OpenJDK.
>> Open webrev:
>> JBS bug: https://bugs.openjdk.java.net/browse/JDK-8069291
>> I run this test on all main platforms; Linux x64, Linux x32, Win x32,
>> Win x64, MacOS x64, Solaris x64, Solaris Sparc64
More information about the hotspot-runtime-dev