Closed
Bug 800878
Opened 14 years ago
Closed 14 years ago
IonMonkey: Assertion failure: isScript() && !isIon(), at ../../vm/Stack.h:1785
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla19
People
(Reporter: decoder, Assigned: nbp)
Details
(Keywords: assertion, testcase, Whiteboard: [fuzzblocker] [jsbugmon:update][ion:p1])
Attachments
(1 file, 1 obsolete file)
|
1.20 KB,
patch
|
luke
:
review+
decoder
:
review+
|
Details | Diff | Splinter Review |
The following testcase asserts on mozilla-central revision 1301a72b1c39 (run with --ion-eager):
[1,2,3,4,(':'),6,7,8].forEach(
function(x) {
assertEq(evalInFrame(0, ('^')), x);
}
);
| Reporter | ||
Comment 1•14 years ago
|
||
This is triggering quite often. I can delete the evalInFrame function but if it would be fixed that'd be even better :)
Whiteboard: [jsbugmon:update,bisect][fuzzblocker]
Comment 2•14 years ago
|
||
Testcase uses FastInvoke (for array.forEach), but it's unrelated, this one asserts too:
(function() {
evalInFrame(0, 'x');
})();
The evalInFrame shell function assumes debug mode is enabled, but doesn't check for it.
| Reporter | ||
Updated•14 years ago
|
Whiteboard: [jsbugmon:update,bisect][fuzzblocker] → [fuzzblocker] [jsbugmon:update]
| Reporter | ||
Comment 3•14 years ago
|
||
JSBugMon: Bisection requested, result:
autoBisect shows this is probably related to the following changeset:
The first bad revision is:
changeset: 109920:ebeca12019a2
user: Nicolas B. Pierron
date: Wed Oct 10 20:41:01 2012 -0700
summary: Bug 797977 - Rename StackIter::fp() to StackIter::interpFrame(). r=luke
This iteration took 94.587 seconds to run.
Updated•14 years ago
|
Whiteboard: [fuzzblocker] [jsbugmon:update] → [fuzzblocker] [jsbugmon:update][ion:p1]
| Assignee | ||
Updated•14 years ago
|
Assignee: general → nicolas.b.pierron
Status: NEW → ASSIGNED
| Assignee | ||
Comment 4•14 years ago
|
||
As this is a shell function, the current patch limit it's usage to be used under valid use-cases as JSD is. Skip this function in deterministic builds because there is no way to predict if a function will been ion-compiled in another run mode. Skip this function and forbids Ion compilation in non-deterministic builds.
Attachment #672155 -
Flags: review?(luke)
Attachment #672155 -
Flags: review?(choller)
| Reporter | ||
Comment 5•14 years ago
|
||
Comment on attachment 672155 [details] [diff] [review]
Restrict EvalInFrame to prevent incorrect fuzzer results.
Review of attachment 672155 [details] [diff] [review]:
-----------------------------------------------------------------
With the patch and the test in comment 0 I get:
Assertion failure: InNoGCScope(), at ../../gc/Root.h:417
Attachment #672155 -
Flags: review?(choller) → review-
Updated•14 years ago
|
Attachment #672155 -
Flags: review?(luke) → review+
| Assignee | ||
Comment 6•14 years ago
|
||
This should be better as it produce the same error message as the current function (when not ran with --ion-eager) and keep the assertion which ensure that not Ion frames are live when we are debugging.
Attachment #672512 -
Flags: review?(luke)
Attachment #672512 -
Flags: review?(choller)
| Assignee | ||
Updated•14 years ago
|
Attachment #672155 -
Attachment is obsolete: true
| Reporter | ||
Comment 7•14 years ago
|
||
Comment on attachment 672512 [details] [diff] [review]
EvalInFrame, Check debug mode before iterating the stack.
Fix is working for me, thanks :)
Attachment #672512 -
Flags: review?(choller) → review+
Comment 8•14 years ago
|
||
Comment on attachment 672512 [details] [diff] [review]
EvalInFrame, Check debug mode before iterating the stack.
Hah, I much prefer this strategy.
Attachment #672512 -
Flags: review?(luke) → review+
| Assignee | ||
Comment 9•14 years ago
|
||
Comment 10•14 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
| Reporter | ||
Comment 11•13 years ago
|
||
Automatically extracted testcase for this bug was committed:
https://hg.mozilla.org/mozilla-central/rev/efaf8960a929
Flags: in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•