Closed Bug 75166 Opened 24 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: 24 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: 24 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.