Avoid priority inversion deadlocks in GCHeap/FixedMalloc

RESOLVED WONTFIX

Status

Tamarin
Garbage Collection (mmGC)
RESOLVED WONTFIX
10 years ago
7 years ago

People

(Reporter: Tommy Reilly, Unassigned)

Tracking

unspecified
Future
Bug Flags:
flashplayer-qrb +
flashplayer-triage +

Details

(Reporter)

Description

10 years ago
We should replace these with something that avoids priority inversion deadlocks.  Ideally something that backs off to an OS lock, maybe NSPR has something we re-use.
(Reporter)

Updated

10 years ago
Status: NEW → ASSIGNED

Comment 1

9 years ago
cleaning out old bugs. set triage+, any change in status?
Flags: flashplayer-triage+
Flags: flashplayer-qrb?
(Reporter)

Comment 2

9 years ago
Its possible this is causing a month long mysterious hang/crash on wince.
(Reporter)

Comment 3

9 years ago
besides real locks another thing we could do is have a thread local DisableAllocation notion where the allocator will return NULL and assert when its engaged (to prevent further issues in this area).

Updated

9 years ago
Flags: flashplayer-qrb? → flashplayer-qrb+
Priority: -- → P2
Target Milestone: --- → flash10.x

Comment 4

8 years ago
(In reply to comment #0)
> We should replace these with something that avoids priority inversion
> deadlocks.  Ideally something that backs off to an OS lock, maybe NSPR has
> something we re-use.

I wonder if the "futex" approach would be appropriate here: http://en.wikipedia.org/wiki/Futex

Updated

8 years ago
Summary: Replace inifinite spin locks in GCHeap/FixedMalloc → Replace infinite spin locks in GCHeap/FixedMalloc
(Reporter)

Comment 5

8 years ago
this isn't a super high priority since the priority deadlock issue has been fixed on win32 with a periodic sleep so this bug's priority can probably be lowered

Comment 6

8 years ago
Deferring.  I think we probably need a thorough review of locking/threading strategies in the GC, post-Argo.
Assignee: treilly → nobody
Status: ASSIGNED → NEW
Priority: P2 → --
Target Milestone: flash10.1 → Future

Updated

8 years ago
Priority: -- → P3
Target Milestone: Future → flash10.2

Updated

8 years ago
Summary: Replace infinite spin locks in GCHeap/FixedMalloc → Avoid priority inversion deadlocks in GCHeap/FixedMalloc

Updated

8 years ago
Assignee: nobody → siwilkin

Updated

7 years ago
Assignee: siwilkin → nobody
Priority: P3 → --
Target Milestone: flash10.x - Serrano → Future

Comment 7

7 years ago
Crypto-duplicate of broader threading agenda.
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.