Assertion failure: generatorVal.isObject(), at js/src/vm/AsyncIteration.cpp:285 with Debugger
Categories
(Core :: JavaScript Engine, defect, P1)
Tracking
()
People
(Reporter: decoder, Assigned: jorendorff)
References
(Regression)
Details
(4 keywords, Whiteboard: [jsbugmon:testComment=14,origRev=8ec327de0ba7])
Attachments
(1 file)
Comment 1•6 years ago
|
||
Updated•6 years ago
|
Comment 2•6 years ago
|
||
Comment 3•6 years ago
|
||
Assignee | ||
Comment 4•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 5•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 6•6 years ago
|
||
Assignee | ||
Comment 7•6 years ago
|
||
Assignee | ||
Comment 8•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Comment 10•6 years ago
|
||
Comment 11•6 years ago
|
||
Assignee | ||
Comment 12•6 years ago
|
||
Here's one way the new code can go wrong:
-
We fire the onStep hook before the initial yield for a generator.
-
It returns
{return: "banana"}
. -
CheckResumptionValue is called, it closes the generator and throws an error, because this isn't supported anymore.
-
BUT then the unhandledExceptionHook fires, and it returns undefined.
-
Now we continue running the debuggee. But we already closed that generator object, screwing up the state machine.
It asserts later.
Updated•6 years ago
|
Comment hidden (obsolete) |
g = newGlobal();
g.parent = this;
g.eval(`
Debugger(parent).onExceptionUnwind = function(frame) {
return frame.eval("");
}
`);
var obj = {
async *method({ x: callbackfn = unresolvableReference }) {}
};
obj.method().next().then(() => {}).each ($DONE, $DONE);
asserts js shell compiled with --enable-debug on m-c rev 8ec327de0ba7 using --fuzzing-safe --no-threads --no-baseline --no-ion --more-compartments at Assertion failure: generatorVal.isObject(), at js/src/vm/AsyncIteration.cpp:273
Updated•6 years ago
|
Updated•6 years ago
|
Comment 15•6 years ago
|
||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 16•6 years ago
|
||
There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:jorendorff, could you have a look please?
Assignee | ||
Comment 17•6 years ago
|
||
Comment 19•6 years ago
|
||
Comment 20•6 years ago
|
||
bugherder |
Updated•6 years ago
|
Updated•6 years ago
|
Updated•6 years ago
|
Updated•3 years ago
|
Description
•