We're updating the issue view to help you get more done. 

Unexpectedly large processor lock contention

Description

The following fault occurs intermittently when running "benchmarks" such as RingComm in testing/tbench. Not sure if this is a regression or an existing limitation of the RVM.

Unexpectedly large processor lock contention

– Stack –
at [0x6d67ecd8] Lorg/jikesrvm/scheduler/VM_ProcessorLock; handleMicrocontention(I)V at line 225
at [0x6d67ed08] Lorg/jikesrvm/scheduler/VM_ProcessorLock; lock(Ljava/lang/StringV at line 133
at [0x6d67ed30] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenProcessor; transferThread(Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThreadV at line 429
at [0x6d67ed58] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenProcessor; scheduleThread(Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThreadV at line 455
at [0x6d67ed90] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; schedule()V at line 754
at [0x6d67ed90] Lorg/jikesrvm/memorymanagers/mminterface/VM_Handshake; initiateCollection()V at line 167
at [0x6d67edb4] Lorg/jikesrvm/memorymanagers/mminterface/VM_Handshake; request(I)Z at line 251
at [0x6d67edd8] Lorg/jikesrvm/memorymanagers/mminterface/VM_Handshake; requestAndContinue(I)V at line 87
at [0x6d67edd8] Lorg/jikesrvm/memorymanagers/mminterface/VM_CollectorThread; asyncCollect(Lorg/jikesrvm/memorymanagers/mminterface/VM_Handshake;I)V at line 279
at [0x6d67edd8] Lorg/jikesrvm/mm/mmtk/Collection; triggerAsyncCollection(I)V at line 189
at [0x6d67ee00] Lorg/mmtk/plan/Plan; checkForAsyncCollection()V at line 853
at [0x6d67ee00] Lorg/mmtk/utility/deque/LocalSSB; tailOverflow(I)V at line 184
at [0x6d67ee28] Lorg/mmtk/utility/deque/LocalSSB; checkTailInsert(I)V at line 111
at [0x6d67ee28] Lorg/mmtk/utility/deque/WriteBuffer; insert(Lorg/vmmagic/unboxed/AddressV at line 48
at [0x6d67ee64] Lorg/mmtk/plan/generational/GenMutator; writeBarrier(Lorg/vmmagic/unboxed/ObjectReference;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/ObjectReference;Lorg/vmmagic/unboxed/Offset;II)V at line 171
at [0x6d67ee64] Lorg/jikesrvm/memorymanagers/mminterface/MM_Interface; putfieldWriteBarrier(Ljava/lang/Object;Lorg/vmmagic/unboxed/Offset;Ljava/lang/Object;I)V at line 172
at [0x6d67ee64] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThreadQueue; enqueue(Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThreadV at line 73
at [0x6d67ee8c] Lorg/jikesrvm/scheduler/greenthreads/VM_GlobalGreenThreadQueue; enqueue(Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThreadV at line 44
at [0x6d67ee8c] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenProcessor; transferThread(Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThreadV at line 437
at [0x6d67eeb4] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenProcessor; scheduleThread(Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThreadV at line 475
at [0x6d67eefc] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; schedule()V at line 754
at [0x6d67eefc] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; unblock()V at line 167
at [0x6d67eefc] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenLock; unlockHeavy(Ljava/lang/ObjectV at line 105
at [0x6d67ef30] Lorg/jikesrvm/scheduler/VM_ThinLock; unlock(Ljava/lang/Object;Lorg/vmmagic/unboxed/OffsetV at line 208
at [0x6d67ef48] Lorg/jikesrvm/objectmodel/VM_JavaHeader; genericUnlock(Ljava/lang/ObjectV at line 580
at [0x6d67ef48] Lorg/jikesrvm/objectmodel/VM_ObjectModel; genericUnlock(Ljava/lang/ObjectV at line 474
at [0x6d67ef68] Ltest/org/jikesrvm/tbench/Zog; send(I)V at line 54
at [0x6d67ef88] Ltest/org/jikesrvm/tbench/Zog; relay()V at line 47
at [0x6d67efa8] Ltest/org/jikesrvm/tbench/Zog; run()V at line 37
at [0x6d67efd8] Lorg/jikesrvm/scheduler/VM_Thread; run()V at line 581
at [0x6d67f000] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 619

Environment

None

Status

Assignee

Daniel Frampton

Reporter

Peter Donald

Labels

None

External issue ID

None

Fix versions

Affects versions

2.9.2

Priority

Medium