RFR: 8337517: Redacted Heap Dumps

Aleksey Shipilev shade at openjdk.org
Thu Aug 1 14:19:31 UTC 2024


On Thu, 1 Aug 2024 03:37:26 GMT, David Holmes <dholmes at openjdk.org> wrote:

> I must be missing something in the approach. The vast majority of confidential data will be in strings yet you focus on primitives that would rarely (if ever for boolean float/double) contain anything that could be recognised as such.

Notes from the field, looking through real world heap dumps: while most of the time the confidential data is in primitive arrays (key material, cipher buffers, string contents), primitive fields carry identifiable data as well, e.g. numeric account/transaction IDs. Even double/floats contain data often, think financial data or even (pants heavily) LLM weights.

A good approach is to strip everything that is not needed to follow-up on heap occupancy problems, as this is an overwhelmingly major use case. I think the approach of "strip everything, but the shape of the object graph and the shape of the objects" is a very reasonable thing to do. This is what zeroing out all primitive fields and primitive arrays contents achieves.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/20409#issuecomment-2263195036


More information about the serviceability-dev mailing list