Open Bug 1373901 Opened 7 years ago Updated 2 years ago

Assertion failure: mOwningEventTarget->IsOnCurrentThread()

Categories

(Core :: XPCOM, defect)

defect

Tracking

()

People

(Reporter: bc, Unassigned)

Details

Attachments

(2 files)

1. http://bangla.bdnews24.com/politics/article1344099.bdnews

2. Assertion failure: mOwningEventTarget->IsOnCurrentThread(), at z:/build/build/src/xpcom/threads/LazyIdleThread.cpp:563
Assertion failure: mPendingEventCount (Mismatched calls to observer methods!), at z:/build/build/src/xpcom/threads/LazyIdleThread.cpp:583

This appears to be Windows only.

While trying to reproduce this I failed but kept getting various leaks after shutting down after loading the url. Many times this was a:

WARNING: YOU ARE LEAKING THE WORLD (at least one JSRuntime and everything alive inside it, that is) AT JS_ShutDown TIME.  FIX THIS!

I've seen this assertion on a number of urls. I was unable to reproduce it manually however.
Attached file bd.log.gz
log from manual test.
Component: General → JavaScript Engine
The JS assertion reported here usually indicates that the embedding -- in this case, Gecko and Firefox -- is misusing the JSAPI and failing to clean up its resources properly.  Given Gecko's complexity, it's all but guaranteed that Gecko is at fault here, not SpiderMonkey.  Exactly *how* Gecko is failing to clean up its resources, is not immediately clear from a leak report at shutdown.

Something like capturing stack traces of all JS_NewRuntime and JS_DestroyRuntime calls and finding the unmatched runtime-creation is required to properly debug this.  I hate to throw this back into the great unwashed pool, but I don't have time to investigate deeply enough to do otherwise.  :-(  And at least doing this puts it back in front of Gecko folks to debug further.
Component: JavaScript Engine → General
Eric - Is this something we can find an engineer for through MemShrink?
Flags: needinfo?(erahm)
Whiteboard: [MemShrink]
It is pretty easy to make Firefox "leak" by closing it while a page is open. I think that's a red herring. It is unfortunate that there's no STR, but maybe somebody can figure something from the assertion stack.
Component: General → XPCOM
Flags: needinfo?(erahm)
Summary: WARNING: YOU ARE LEAKING THE WORLD | Assertion failure: mOwningEventTarget->IsOnCurrentThread() → Assertion failure: mOwningEventTarget->IsOnCurrentThread()
Whiteboard: [MemShrink]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: