RFR 8069291: [TESTBUG] Fibonacci test: OutOfMemoryError: unable to create native thread
dmitry.dmitriev at oracle.com
Mon Feb 16 21:31:04 UTC 2015
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.
----- 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
How many threads will usually be alive at the same time? How long does the test usually take to run?
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: http://cr.openjdk.java.net/~ctornqvi/webrev/8069291/webrev.00/
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