Assertion failure in GenNurseryTraceLocal.isLive when finalizing objects marked with @NonMoving

Description

All generational collectors (except GenRC) crash when finalizing objects that are annotated with @NonMoving if a custom finalize() method is used. This is true even if the finalize() method is empty.

Shortened crash log:

Died in GC:
vm internal error at:
Thread #5
– Stack –
(0x70cb4d9c 3174) at [0x70cb4d9c, 0x6433af02] Lorg/jikesrvm/VM; sysFail(Ljava/lang/StringV at line 2327
(0x70cb4dbc 3002) at [0x70cb4dbc, 0x6433b007] Lorg/jikesrvm/VM; _assertionFailure(Ljava/lang/String;Ljava/lang/StringV at line 626
(0x70cb4de4 3001) at [0x70cb4de4, 0x6433b095] Lorg/jikesrvm/VM; _assert(ZLjava/lang/String;Ljava/lang/StringV at line 609
(0x70cb4e08 2999) at [0x70cb4e08, 0x6423418b] Lorg/jikesrvm/VM; _assert(Z)V at line 584
(0x70cb4e28 11080) at [0x70cb4e28, 0x641ce6a8] Lorg/jikesrvm/mm/mmtk/Assert; _assert(Z)V at line 54
(0x70cb4e4c 4393) at [0x70cb4e4c, 0x64231568] Lorg/mmtk/plan/generational/GenNurseryTraceLocal; isLive(Lorg/vmmagic/unboxed/ObjectReferenceZ at line 67
(0x70cb4e84 4299) at [0x70cb4e84, 0x641b91fc] Lorg/jikesrvm/mm/mmtk/FinalizableProcessor; scan(Lorg/mmtk/plan/TraceLocal;Z)V at line 186
(0x70cb4eb0 4194) at [0x70cb4eb0, 0x641cc29c] Lorg/mmtk/plan/SimpleCollector; collectionPhase(SZ)V at line 99
(0x70cb4edc 4202) at [0x70cb4edc, 0x641ced42] Lorg/mmtk/plan/generational/GenCollector; collectionPhase(SZ)V at line 129
(0x70cb4f08 4208) at [0x70cb4f08, 0x642d7194] Lorg/mmtk/plan/generational/marksweep/GenMSCollector; collectionPhase(SZ)V at line 141
(0x70cb4f60 2957) at [0x70cb4f60, 0x642d7584] Lorg/mmtk/plan/Phase; processPhaseStack(Z)V at line 474
(0x70cb4f80 2955) at [0x70cb4f80, 0x641ced94] Lorg/mmtk/plan/Phase; beginNewPhaseStack(I)V at line 385
(0x70cb4f9c 4197) at [0x70cb4f9c, 0x641b8efe] Lorg/mmtk/plan/StopTheWorldCollector; collect()V at line 40
(0x70cb4fb8 4185) at [0x70cb4fb8, 0x641d5f3c] Lorg/mmtk/plan/ParallelCollector; run()V at line 50
(0x70cb4fd8 9949) at [0x70cb4fd8, 0x64325f27] Lorg/jikesrvm/mm/mminterface/CollectorThread; run()V at line 80
(0x70cb4ff8 13142) at [0x70cb4ff8, 0x0804ff04] Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 2606

Environment

All

Assignee

Robin Garner

Reporter

Erik Brangs

Labels

None

Components

Fix versions

Affects versions

Priority

Lowest
Configure