RFR: 8319376: ParallelGC: Forwarded objects found during heap inspection

Roman Kennke rkennke at openjdk.org
Mon Nov 6 16:23:11 UTC 2023


On Fri, 3 Nov 2023 12:42:46 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

> See JBS issue for details.
> 
> Testing:
>  - [x] gc/logging/TestUnifiedLoggingSwitchStress.java -XX:+UseParallelGC
>  - [x] tier1 -XX:+UseParallelGC
>  - [ ] tier2 -XX:+UseParallelGC
>  - [ ] hotspot_gc

> * JDK-8319376



> > It is not totally clear how we can get a forwarded object in eden in the first place.
> 
> This can happen when promotion-failure occurs. Serial and G1 have special code to fix self-forwarded (promotion-fail) objs. Maybe Parallel should do sth similar.

Maybe. But that is not (only) what is happening here. I added a check for self-forwarded into my proposed change and it asserts like this:


#  Internal Error (/home/rkennke/src/openjdk/jdk/src/hotspot/share/memory/heapInspection.cpp:217), pid=7955, tid=8208
#  assert(obj->forwardee() == obj) failed: expect self-forwarded: obj: 0x00000000fac62258, fwd: 0x00000000fd6bac78

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

PR Comment: https://git.openjdk.org/jdk/pull/16494#issuecomment-1795334683


More information about the serviceability-dev mailing list