Closed Bug 75166 Opened 23 years ago Closed 23 years ago

nsProxyEventObject destructor may call Release on wrong thread

Categories

(Core :: XPCOM, defect, P4)

defect

Tracking

()

RESOLVED DUPLICATE of bug 101252
mozilla1.0

People

(Reporter: dmosedale, Assigned: dmosedale)

References

Details

If the final release of an nsProxyEventObject happens on a thread other than the
thread being proxied to, the destructor for nsProxyEventObject will then get
called on that other thread.  The last thing the destructor does is
NS_IF_RELEASE(mRoot), which releases the real, unproxied object.  This can cause
a threadsafety assertion in that object's implementation of Release, which won't
necessarily be threadsafe.
This is not correct. The real raw object is held in the nsProxyEvent 
class.  I made sure that releasing ALWAYS happens on the proper thread.  Take a 
look at this release:

http://lxr.mozilla.org/seamonkey/source/xpcom/proxy/src/nsProxyEvent.cpp#262

Let me know if this bug is not invalid.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → INVALID
I have to admit, I don't understand how nsProxyEventObject and nsProxyEvent
interrelate, but I'm _seeing_ the assertion I described above with regularity in
some code that I've written (but is not yet checked in).  I can show it to you
in gdb, if you like...
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
okay. I will drop by tomorrow.  
moving to 0.9.1
Status: REOPENED → ASSIGNED
dmose, please paste a stack of the assertion.
Assignee: dougt → dmose
Status: ASSIGNED → NEW
Blocks: 70933
Blocks: 17880
No longer blocks: 70933
I haven't been seen this assertion for a while.  Olga or Yulian, could you if see 
this or have anyway of coming up with a test case that can reproduce this, it 
would be very handy.
Keywords: nsbeta1
Priority: -- → P3
QA Contact: scc → yulian
Target Milestone: --- → mozilla0.9.2
reassign to Olga as QA contact
QA Contact: yulian → olgac
Priority: P3 → P4
Haven't seen this in months.  Marking works for me.
Status: NEW → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → WORKSFORME
I started seeing what I think is an instance of this again yesterday in my own
patched tree.  More details to come...
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Target Milestone: mozilla0.9.2 → mozilla0.9.4
Keywords: nsenterprise
Target Milestone: mozilla0.9.4 → mozilla0.9.5
Moving out to Mozilla1.0, denominating nsenterprise.
Keywords: nsenterprise
Target Milestone: mozilla0.9.5 → mozilla1.0
Blocks: 104166

*** This bug has been marked as a duplicate of 101252 ***
No longer blocks: 17880
Status: REOPENED → RESOLVED
Closed: 23 years ago23 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.