enterFrame thread-local is not destroyed on shutdown

VERIFIED INVALID

Status

Tamarin
Garbage Collection (mmGC)
P2
normal
VERIFIED INVALID
9 years ago
8 years ago

People

(Reporter: Lars T Hansen, Assigned: Lars T Hansen)

Tracking

unspecified
flash10.1
x86
Mac OS X

Details

(Assignee)

Description

9 years ago
(From Manoj Tharwani and Mukesh Shah, Flashlite)

Problem
=======
 
GCHeap class has GCThreadlocal template member 
   GCThreadLocal<EnterFrame*> enterFrame;

Constructor of GCThreadLocal calls VMPI_tlsCreate(&tlsId);

However there is no calls to destructor of GCThreadLocal

This results in _no_ calls to VMPI_tlsDestroy(tlsId);
 
Fix Suggested
===========
 
Call to explicit destructor from the GCHeap::DestroyInstance() by adding
      enterFrame.~GCThreadlocal();
 
This fix doesn’t seems to be a clean fix. Please let us know your suggestion to handle this situation in a better way.

Comment 1

9 years ago
Upon visual inspection I don't see the bug, GCHeap::DestroyInstance calls GCThreadLocal::destroy which calls VMPO_tlsDestroy.
(Assignee)

Updated

9 years ago
Assignee: nobody → lhansen
Priority: -- → P2
Target Milestone: --- → flash10.1
(Assignee)

Comment 2

9 years ago
(In reply to comment #1)
> Upon visual inspection I don't see the bug, GCHeap::DestroyInstance calls
> GCThreadLocal::destroy which calls VMPO_tlsDestroy.

I agree, and testing verifies that.
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → INVALID

Updated

8 years ago
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.