Closed Bug 839758 Opened 11 years ago Closed 11 years ago

"Assertion failure: isObject(),"

Categories

(Core :: JavaScript Engine, defect)

x86_64
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: gkw, Unassigned)

Details

(Keywords: assertion, testcase, Whiteboard: [jsbugmon:update,bisect,testComment=6,ignore])

Attachments

(1 file)

Attached file stack
function f() {
    try {
        evalcx("(function(){\
                    return new function(){arguments.callee.caller()}\
                })()", newGlobal())
    } catch (e) {}
}
f()
f()

asserts the following js debug shell on m-c changeset 6a2bebec5914 with -a --ion-range-analysis=off :

http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2013-02-08-mozilla-central-debug/jsshell-mac64.zip
No longer occurs with:

http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2013-02-25-mozilla-central-debug/jsshell-mac64.zip

-> WFM.
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: in-testsuite?
Resolution: --- → WORKSFORME
Testcase landed via bug 845569.
Status: RESOLVED → VERIFIED
Flags: in-testsuite? → in-testsuite+
Status: REOPENED → NEW
Brian, do you know what could be the cause here? The testcase seems very intermittent.
Flags: needinfo?(bhackett1024)
As per IRC, requesting to put this unreliable testcase through LangFuzz. Thanks decoder!
Flags: needinfo?(choller)
Test for mozilla-central 0a91da5f5eab, 64 bit debug+opt build (no options required):


function reportMatch () {}
gcparam("maxBytes", gcparam("gcBytes") + 4*1024);
function foo() {
  evaluate("\
    function enterFunc () {}\
    test();\
    function test() {\
      enterFunc (new test('Date.prototype'));\
      function err() {  }\
    }\
  ", { noScriptRval : true });
}
foo();


Trying to bisect it, but this test uses OOM, so probably not very reliable. Fix it while it's hot :D
Flags: needinfo?(choller)
Whiteboard: [jsbugmon:update,bisect,testComment=6]
The original bug involves too-much-recursion rather than OOM.  So the artificial-OOM testcase might demonstrate a different bug.
(In reply to Jesse Ruderman from comment #7)
> The original bug involves too-much-recursion rather than OOM.  So the
> artificial-OOM testcase might demonstrate a different bug.

Not necessarily because artificial OOM and too-much-recursion often trigger the same kind of bugs (I think they use the same check mechanism and both will make the callee return an error, so if the caller doesn't handle that properly, the error will trigger, no matter if it was OOM or TMR).

The stacks in this case are very close to each other too (esp. that #1 goes through js::StackFrame::constructorThis).
Setting needinfo from Naveed to find an owner.
Flags: needinfo?(nihsanullah)
This will likely go away when JaegerMonkey goes away after Baseline Compiler is landed in possibly a few weeks' time.
Flags: needinfo?(nihsanullah)
Flags: needinfo?(bhackett1024)
Whiteboard: [jsbugmon:update,bisect,testComment=6] → [jsbugmon:update,bisect,testComment=6,ignore]
JSBugMon: The testcase found in this bug no longer reproduces (tried revision 9d5f05a6d497).
Will likely be fixed by the upcoming JM removal in bug 857845. (moreover it no longer reproduces, so marking FIXED as a first step)
Status: NEW → RESOLVED
Closed: 11 years ago11 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: