"Assertion failure: cx->isExceptionPending()" with proxies, typed arrays, OOM

RESOLVED WORKSFORME

Status

()

--
critical
RESOLVED WORKSFORME
8 years ago
7 years ago

People

(Reporter: jruderman, Unassigned)

Tracking

(Blocks: 1 bug, {assertion, testcase})

Trunk
x86_64
Mac OS X
assertion, testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

8 years ago
Created attachment 528506 [details]
testcase (hangs and then crashes Firefox)

Assertion failure: cx->isExceptionPending(), at js/src/jsscan.cpp:1931
(Reporter)

Comment 1

8 years ago
Created attachment 528507 [details]
stack trace
This appears to be an OOM crash. I got a different stack trace from what you got: I got a compartment assert via trying to call JS_GetParent as part of reporting an OOM error:

nsIScriptGlobalObject *
nsJSUtils::GetStaticScriptGlobal(JSContext* aContext, JSObject* aObj)
{
  nsISupports* supports;
  JSClass* clazz;
  JSObject* parent;
  JSObject* glob = aObj; // starting point for search

  if (!glob)
    return nsnull;

  while ((parent = ::JS_GetParent(aContext, glob)))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                   compartment assert here
    glob = parent;

glob is a BackstagePass, and we get here from running chrome JS. That seems like some kind of good hint, but I don't know what it means.
WFM on current nightly, also it hangs a little bit. GetStaticScriptGlobal seems to be gone.
(Reporter)

Comment 4

7 years ago
Yeah, WFM.  I think it makes sense that the testcase hangs for a bit.
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → WORKSFORME
(Reporter)

Updated

7 years ago
Summary: "Assertion failure: cx->isExceptionPending()" with proxies, typed arrays → "Assertion failure: cx->isExceptionPending()" with proxies, typed arrays, OOM
You need to log in before you can comment on or make changes to this bug.