generational zgc issues

Alen Vrečko alen.vrecko at gmail.com
Mon Nov 13 18:05:20 UTC 2023


Hello everyone,

o) young gen reference processor

A bit puzzled by reading in a thread on the list:

> mentioning that we decided to not ship a young generation reference
processor for 21

Unless you made changes to ByteBuffer#allocateDirect it uses reference
processor to free native memory. If I am not mistaking just using standard
library API such as Files.readAllBytes will in some cases do
BB#allocateDirect in the internals.

Or maybe I am misunderstanding something? I made a toy program and indeed I
could easily get a situation where 20% of reference handlers are not called
like ever.

This will cause issues for code that is using reference handlers.

o) seeing weird byte[] corruption in production

On CentOS 7 Generational works fine. No issues observed. But on Alma Linux
9.2 either reading byte[] from file or sending byte[] over the network
corrupts the byte[]. Didn't investigate at all. Just observed corruption in
some cases for some byte[] arrays - not all - just some. On the same Alma
Linux 9.2 without generational zgc no byte[] corruption is observed and
everything works fine as before.

To me Generational ZGC looks more like an experimental feature for now. I
am a bit surprised it doesn't require the extra flag to unlock experimental
features.

Thanks
Alen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/zgc-dev/attachments/20231113/dd9bdc47/attachment-0001.htm>


More information about the zgc-dev mailing list