RFR 8069291: [TESTBUG] Fibonacci test: OutOfMemoryError: unable to create native thread
Christian Tornqvist
christian.tornqvist at oracle.com
Thu Feb 19 16:22:05 UTC 2015
Hi Dmitry,
Ok, then there is no need to exclude this from JPRT. Thanks for taking the time to gather this data.
Thanks,
Christian
-----Original Message-----
From: Dmitry Dmitriev [mailto:dmitry.dmitriev at oracle.com]
Sent: Thursday, February 19, 2015 11:09 AM
To: Christian Tornqvist
Cc: hotspot-runtime-dev at openjdk.java.net; 'David Holmes'
Subject: Re: RFR 8069291: [TESTBUG] Fibonacci test: OutOfMemoryError: unable to create native thread
Hi Christian,
Test takes small time to run. Here are several results from JPRT(other are similar):
linux_i586_2.6-fastdebug-c1:
TEST: runtime/Thread/Fibonacci.java
build: 2.431 seconds
compile: 2.43 seconds
main: 0.612 seconds
TEST RESULT: Passed. Execution successful
macosx_x64_10.7-fastdebug-c2:
TEST: runtime/Thread/Fibonacci.java
build: 1.992 seconds
compile: 1.992 seconds
main: 0.437 seconds
TEST RESULT: Passed. Execution successful
solaris_sparcv9_5.11-fastdebug-c2:
TEST: runtime/Thread/Fibonacci.java
build: 6.857 seconds
compile: 6.856 seconds
main: 0.803 seconds
TEST RESULT: Passed. Execution successful
windows_x64_6.1-fastdebug-c2:
TEST: runtime/Thread/Fibonacci.java
build: 2.038 seconds
compile: 2.037 seconds
main: 0.51 seconds
TEST RESULT: Passed. Execution successful
The worst result is for sparcv9, but it still less than 30s.
Thanks,
Dmitry
On 19.02.2015 16:27, Christian Tornqvist wrote:
> Hi Dmitry,
>
> 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.
>
> Thanks,
> Christian
>
> -----Original Message-----
> 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
>
> Hello David,
>
> 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:
> http://cr.openjdk.java.net/~ctornqvi/webrev/8069291/webrev.01/
> <http://cr.openjdk.java.net/%7Ectornqvi/webrev/8069291/webrev.01/>
> JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8069291
>
> Regards,
> Dmitry
>
> 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.
>>
>> David
>>
>>> Thanks,
>>> Dmitry
>>>
>>> ----- 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?
>>>
>>> Thanks,
>>> Christian
>>>
>>> -----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
>>>
>>> Hello!
>>>
>>>
>>>
>>> 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
>>>
>>>
>>> Thanks,
>>> Dmitry
>>>
>>>
>
More information about the hotspot-runtime-dev
mailing list