Closed Bug 1264568 Opened 8 years ago Closed 8 years ago

Assertion failure: !isIndex(&dummy), at js/src/vm/String.h:1415

Categories

(Core :: JavaScript Engine, defect)

x86_64
macOS
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox47 --- unaffected
firefox48 --- affected

People

(Reporter: gkw, Unassigned)

References

Details

(Keywords: assertion, testcase, Whiteboard: [jsbugmon:update])

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

f = (function(stdlib, foreign, heap) {
            "use asm";
            ({ "0"
               ()
               { eval }

Backtrace:

0   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100049d90 js::frontend::Parser<js::frontend::FullParseHandler>::leaveFunction(js::frontend::ParseNode*, js::frontend::ParseContext<js::frontend::FullParseHandler>*, js::frontend::FunctionSyntaxKind) + 1664 (String.h:1415)
1   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100049503 js::frontend::Parser<js::frontend::FullParseHandler>::functionArgsAndBody(js::frontend::InHandling, js::frontend::ParseNode*, JS::Handle<JSFunction*>, js::frontend::FunctionSyntaxKind, js::GeneratorKind, js::frontend::Directives, js::frontend::Directives*) + 835 (Parser.cpp:3015)
2   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x000000010005c5b0 js::frontend::Parser<js::frontend::FullParseHandler>::functionDef(js::frontend::InHandling, js::frontend::YieldHandling, JS::Handle<JSAtom*>, js::frontend::FunctionSyntaxKind, js::GeneratorKind, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction, js::frontend::ParseNode**) + 816 (Parser.cpp:2841)
3   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000663ec js::frontend::Parser<js::frontend::FullParseHandler>::objectLiteral(js::frontend::YieldHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*) + 1340 (Parser.cpp:9430)
4   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100060a67 js::frontend::Parser<js::frontend::FullParseHandler>::primaryExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::TokenKind, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 743 (Parser.cpp:9501)
5   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100063f19 js::frontend::Parser<js::frontend::FullParseHandler>::memberExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::TokenKind, bool, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 809 (Parser.cpp:8742)
6   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100063811 js::frontend::Parser<js::frontend::FullParseHandler>::unaryExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 737 (Parser.cpp:8270)
7   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000630c9 js::frontend::Parser<js::frontend::FullParseHandler>::orExpr1(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 73 (Parser.cpp:7747)
8   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100062eaf js::frontend::Parser<js::frontend::FullParseHandler>::condExpr1(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 31 (Parser.cpp:7807)
9   js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100061cb1 js::frontend::Parser<js::frontend::FullParseHandler>::assignExpr(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 753 (Parser.cpp:7935)
10  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000616e5 js::frontend::Parser<js::frontend::FullParseHandler>::expr(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 37 (Parser.cpp:7584)
11  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100060dce js::frontend::Parser<js::frontend::FullParseHandler>::primaryExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::TokenKind, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 1614 (Parser.cpp:9644)
12  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100063f19 js::frontend::Parser<js::frontend::FullParseHandler>::memberExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::TokenKind, bool, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 809 (Parser.cpp:8742)
13  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100063811 js::frontend::Parser<js::frontend::FullParseHandler>::unaryExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 737 (Parser.cpp:8270)
14  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000630c9 js::frontend::Parser<js::frontend::FullParseHandler>::orExpr1(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 73 (Parser.cpp:7747)
15  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100062eaf js::frontend::Parser<js::frontend::FullParseHandler>::condExpr1(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 31 (Parser.cpp:7807)
16  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100061cb1 js::frontend::Parser<js::frontend::FullParseHandler>::assignExpr(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 753 (Parser.cpp:7935)
17  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000616e5 js::frontend::Parser<js::frontend::FullParseHandler>::expr(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 37 (Parser.cpp:7584)
18  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100054f23 js::frontend::Parser<js::frontend::FullParseHandler>::expressionStatement(js::frontend::YieldHandling, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 99 (Parser.cpp:7640)
19  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x000000010005439d js::frontend::Parser<js::frontend::FullParseHandler>::statement(js::frontend::YieldHandling, bool) + 1325 (Parser.cpp:7422)
20  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x000000010005253b js::frontend::Parser<js::frontend::FullParseHandler>::statements(js::frontend::YieldHandling) + 571 (Parser.cpp:3557)
21  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100059c35 js::frontend::Parser<js::frontend::FullParseHandler>::functionBody(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::FunctionSyntaxKind, js::frontend::Parser<js::frontend::FullParseHandler>::FunctionBodyType) + 229 (Parser.cpp:1366)
22  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x000000010005ab6c js::frontend::Parser<js::frontend::FullParseHandler>::functionArgsAndBodyGeneric(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::ParseNode*, JS::Handle<JSFunction*>, js::frontend::FunctionSyntaxKind) + 588 (Parser.cpp:3207)
23  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000494ee js::frontend::Parser<js::frontend::FullParseHandler>::functionArgsAndBody(js::frontend::InHandling, js::frontend::ParseNode*, JS::Handle<JSFunction*>, js::frontend::FunctionSyntaxKind, js::GeneratorKind, js::frontend::Directives, js::frontend::Directives*) + 814 (Parser.cpp:3012)
24  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x000000010005c67f js::frontend::Parser<js::frontend::FullParseHandler>::functionDef(js::frontend::InHandling, js::frontend::YieldHandling, JS::Handle<JSAtom*>, js::frontend::FunctionSyntaxKind, js::GeneratorKind, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction, js::frontend::ParseNode**) + 1023 (Parser.cpp:2841)
25  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x000000010005ccf3 js::frontend::Parser<js::frontend::FullParseHandler>::functionExpr(js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 451 (Parser.cpp:3366)
26  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100060b40 js::frontend::Parser<js::frontend::FullParseHandler>::primaryExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::TokenKind, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 960 (Parser.cpp:9492)
27  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100063f19 js::frontend::Parser<js::frontend::FullParseHandler>::memberExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::TokenKind, bool, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 809 (Parser.cpp:8742)
28  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100063811 js::frontend::Parser<js::frontend::FullParseHandler>::unaryExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 737 (Parser.cpp:8270)
29  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000630c9 js::frontend::Parser<js::frontend::FullParseHandler>::orExpr1(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 73 (Parser.cpp:7747)
30  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100062eaf js::frontend::Parser<js::frontend::FullParseHandler>::condExpr1(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 31 (Parser.cpp:7807)
31  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100061cb1 js::frontend::Parser<js::frontend::FullParseHandler>::assignExpr(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 753 (Parser.cpp:7935)
32  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000616e5 js::frontend::Parser<js::frontend::FullParseHandler>::expr(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 37 (Parser.cpp:7584)
33  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100060dce js::frontend::Parser<js::frontend::FullParseHandler>::primaryExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::TokenKind, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 1614 (Parser.cpp:9644)
34  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100063f19 js::frontend::Parser<js::frontend::FullParseHandler>::memberExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::TokenKind, bool, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 809 (Parser.cpp:8742)
35  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100063811 js::frontend::Parser<js::frontend::FullParseHandler>::unaryExpr(js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 737 (Parser.cpp:8270)
36  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000630c9 js::frontend::Parser<js::frontend::FullParseHandler>::orExpr1(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 73 (Parser.cpp:7747)
37  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100062eaf js::frontend::Parser<js::frontend::FullParseHandler>::condExpr1(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 31 (Parser.cpp:7807)
38  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100061cb1 js::frontend::Parser<js::frontend::FullParseHandler>::assignExpr(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 753 (Parser.cpp:7935)
39  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100061f88 js::frontend::Parser<js::frontend::FullParseHandler>::assignExpr(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 1480 (Parser.cpp:8041)
40  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000616e5 js::frontend::Parser<js::frontend::FullParseHandler>::expr(js::frontend::InHandling, js::frontend::YieldHandling, js::frontend::TripledotHandling, js::frontend::Parser<js::frontend::FullParseHandler>::PossibleError*, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 37 (Parser.cpp:7584)
41  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100054f23 js::frontend::Parser<js::frontend::FullParseHandler>::expressionStatement(js::frontend::YieldHandling, js::frontend::Parser<js::frontend::FullParseHandler>::InvokedPrediction) + 99 (Parser.cpp:7640)
42  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000544c6 js::frontend::Parser<js::frontend::FullParseHandler>::statement(js::frontend::YieldHandling, bool) + 1622 (Parser.cpp:7468)
43  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x000000010005253b js::frontend::Parser<js::frontend::FullParseHandler>::statements(js::frontend::YieldHandling) + 571 (Parser.cpp:3557)
44  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x000000010004bc9d js::frontend::Parser<js::frontend::FullParseHandler>::globalBody() + 77 (Parser.cpp:1108)
45  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001009b787d BytecodeCompiler::compileScript(JS::Handle<JSObject*>, JS::Handle<JSScript*>) + 717 (BytecodeCompiler.cpp:531)
46  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001009b96d5 js::frontend::CompileScript(js::ExclusiveContext*, js::LifoAlloc*, JS::Handle<JSObject*>, JS::Handle<js::StaticScope*>, JS::Handle<JSScript*>, JS::ReadOnlyCompileOptions const&, JS::SourceBufferHolder&, JSString*, js::SourceCompressionTask*, js::ScriptSourceObject**) + 197 (BytecodeCompiler.cpp:742)
47  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100594474 Compile(JSContext*, JS::ReadOnlyCompileOptions const&, SyntacticScopeOption, JS::SourceBufferHolder&, JS::MutableHandle<JSScript*>) + 404 (RootingAPI.h:482)
48  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001005947fb Compile(JSContext*, JS::ReadOnlyCompileOptions const&, SyntacticScopeOption, char const*, unsigned long, JS::MutableHandle<JSScript*>) + 267 (jsapi.cpp:3988)
49  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100594950 JS::Compile(JSContext*, JS::ReadOnlyCompileOptions const&, __sFILE*, JS::MutableHandle<JSScript*>) + 112 (jsapi.cpp:4014)
50  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x0000000100020fda Process(JSContext*, char const*, bool, FileKind) + 3434 (js.cpp:522)
51  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x000000010000673b main + 11739 (js.cpp:6740)
52  js-dbg-64-dm-clang-darwin-8630367f5e3f	0x00000001000019a4 start + 52
autoBisect shows this is probably related to the following changeset:

The first bad revision is:
changeset:   https://hg.mozilla.org/mozilla-central/rev/0a5cf306560d
user:        Tom Schuster
date:        Wed Apr 13 13:43:43 2016 +0200
summary:     Bug 1255925 - Give a name to getters/setters and integer-named methods. r=efaust

Tom, is bug 1255925 a likely regressor?
Blocks: 1255925
Flags: needinfo?(evilpies)
Assignee: nobody → evilpies
Flags: needinfo?(evilpies)
Thanks, I will have to backout bug 1255925, because JSFunction::name is a PropertyName and used everywhere.
Fixed by backout.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
Assignee: evilpies → nobody
I'd probably use WORKSFORME since regressor is no longer present.
Resolution: WONTFIX → WORKSFORME
You need to log in before you can comment on or make changes to this bug.