RFR: 8261483: jdk/dynalink/TypeConverterFactoryMemoryLeakTest.java failed with "AssertionError: Should have GCd a method handle by now" [v2]
Attila Szegedi
attila at openjdk.java.net
Sat Feb 27 20:21:40 UTC 2021
On Thu, 25 Feb 2021 15:34:10 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> Attila Szegedi has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR.
>
> test/jdk/jdk/dynalink/TypeConverterFactoryMemoryLeakTest.java line 28:
>
>> 26: * @bug 8198540
>> 27: * @summary Test TypeConverterFactory is not leaking method handles
>> 28: * @run main/othervm -Xmx4M TypeConverterFactoryMemoryLeakTest
>
> I think `-Xmx4m` is risking it on some platforms that cannot go that low heap. Maybe do 128M, and bulk up the test allocations, so that GC definitely triggers?
I removed the `-Xmx` option altogether on @plevart's suggestion to invoke `System.gc` explicitly instead. I added multiple @run directives, with all current GCs. (BTW, do I need to add `@requires vm.gc.Shenandoah` to the tests if I include Shenandoah?)
It's funny how ZGC and Shenandoah need 1 iteration less than all other GCs. If a test needs 12 iterations with most GCs, ZGC and Shenandoah need 11. If a test needs 2 iterations with others, these two will get it done in 1.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2617
More information about the core-libs-dev
mailing list