Closed Bug 524540 Opened 16 years ago Closed 16 years ago

Deadlock when Abort induced during GC::Collect

Categories

(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P2)

defect

Tracking

(Not tracked)

VERIFIED FIXED
flash10.1

People

(Reporter: bgetlin, Assigned: lhansen)

Details

(Whiteboard: Has patch)

Attachments

(1 file, 2 obsolete files)

User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729) Build Identifier: If the memory hardlimit is induced, we attempt to iterate through all active GC instances to invoke a collection. If GC::Collect is invoked "out of line" from the current thread's GC::stackEnter, and then Aborts due to memory allocation, the m_gcLock on that GC is never released. Reproducible: Sometimes
Attached patch Patch (obsolete) — Splinter Review
P4 change:594536
Attachment #408459 - Flags: review?(lhansen)
Substantive: - the comment in GCHeap.cpp about "collecting on another thread's gc" is misleading, because GCs don't belong to threads, and indeed the only way that ef->m_collectingGC can be non-NULL is that that GC is not active on any thread in the conventional sense. What is actually going on is that the calling thread is holding a lock for a GC that's not currently active on this thread, and that lock must be broken. Stylistic: - broken indentation in new code in GCHeap.cpp (one tab too many; tab stops are 4 places when used at all) - the "NULL == whatever" style in the new code in GC.cpp needs to be changed (that style is not used in the VM)
Status: UNCONFIRMED → ASSIGNED
Component: Virtual Machine → Garbage Collection (mmGC)
Ever confirmed: true
OS: Windows Vista → All
Priority: -- → P2
QA Contact: vm → gc
Hardware: x86 → All
Target Milestone: --- → flash10.1
Comment on attachment 408459 [details] [diff] [review] Patch I'll make the adjustments before landing.
Attachment #408459 - Flags: review?(lhansen) → review+
Assignee: nobody → lhansen
Attachment #408459 - Attachment is obsolete: true
Whiteboard: Has patch
Attachment #408565 - Attachment is obsolete: true
redux changeset: 2885:d45e4c075424
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Engineering work item. Marking as verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: