Closed Bug 1502476 Opened 6 years ago Closed 6 years ago

Assertion failure: false (MOZ_ASSERT_UNREACHABLE: this token was previously looked up with a different modifier, potentially making tokenization non-deterministic), at js/src/frontend/TokenStream.h:557

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla65
Tracking Status
firefox-esr60 --- unaffected
firefox63 --- unaffected
firefox64 --- unaffected
firefox65 --- fixed

People

(Reporter: gkw, Assigned: khyperia)

References

Details

(4 keywords, Whiteboard: [jsbugmon:update])

Attachments

(2 files)

The following testcase crashes on mozilla-central revision 28a4562cb517 (build with --enable-debug --enable-more-deterministic, run with --fuzzing-safe --no-threads --no-baseline --no-ion):

// Adapted from randomly chosen test: js/src/tests/test262/language/statements/class/fields-arrow-fnc-init-err-contains-super.js
class C {
    x = () =>
}

Backtrace:

#0  0x000055f6415ef08e in js::frontend::TokenStreamShared::verifyConsistentModifier (modifier=<optimized out>, lookaheadToken=...) at js/src/frontend/TokenStream.h:555
#1  js::frontend::TokenStreamSpecific<char16_t, js::frontend::ParserAnyCharsAccess<js::frontend::GeneralParser<js::frontend::FullParseHandler, char16_t> > >::getToken (this=<optimized out>, ttp=<optimized out>, modifier=<optimized out>) at js/src/frontend/TokenStream.h:2531
#2  0x000055f6415f5fae in js::frontend::GeneralParser<js::frontend::FullParseHandler, char16_t>::classDefinition (this=0x7ffddab4ae48, yieldHandling=js::frontend::YieldIsName, classContext=js::frontend::GeneralParser<js::frontend::FullParseHandler, char16_t>::ClassStatement, defaultHandling=<optimized out>) at js/src/frontend/Parser.cpp:8091
#3  0x000055f6415f0fb4 in js::frontend::GeneralParser<js::frontend::FullParseHandler, char16_t>::statementListItem (this=0x7ffddab4ae48, yieldHandling=js::frontend::YieldIsName, canHaveDirectives=true) at js/src/frontend/Parser.cpp:8678
#4  0x000055f6415eed90 in js::frontend::GeneralParser<js::frontend::FullParseHandler, char16_t>::statementList (this=0x7ffddab4ae48, yieldHandling=js::frontend::YieldIsName) at js/src/frontend/Parser.cpp:4655
/snip

For detailed crash information, see attachment.
autobisectjs shows this is probably related to the following changeset:

The first bad revision is:
changeset:   https://hg.mozilla.org/mozilla-central/rev/d0b577458d53
user:        Ashley Hauck
date:        Thu Oct 25 18:25:34 2018 +0000
summary:     Bug 1499448 - Implement syntax for public and private fields. r=jorendorff

Ashley, is bug 1499448 a likely regressor?
Blocks: es-fields
Flags: needinfo?(khyperia)
Looks very related, yep. Looking into it now.
Flags: needinfo?(khyperia)
Keywords: checkin-needed
Assignee: nobody → khyperia
https://hg.mozilla.org/mozilla-central/rev/d97efe78674d
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: