Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Twitter triggers segfaults within SM internals called from JITed JS code. #10229

Closed
eddyb opened this issue Mar 27, 2016 · 11 comments
Closed

Twitter triggers segfaults within SM internals called from JITed JS code. #10229

eddyb opened this issue Mar 27, 2016 · 11 comments

Comments

@eddyb
Copy link
Contributor

@eddyb eddyb commented Mar 27, 2016

I expect these to be pretty random (but they do happen every time for me). Example:

Thread 20 "ScriptThread Pi" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe7dfc700 (LWP 10865)]
0x0000555556e88462 in js::ObjectGroup::defaultNewGroup (cx=cx@entry=0x7fffeb4d9c00, 
    clasp=clasp@entry=0x5555587f2000 <js::CallObject::class_>, proto=proto@entry=..., 
    associated=associated@entry=0x0)
    at /home/eddy/Projects/servo/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ObjectGroup.cpp:459
459     {
(gdb) bt
#0  0x0000555556e88462 in js::ObjectGroup::defaultNewGroup (cx=cx@entry=0x7fffeb4d9c00, 
    clasp=clasp@entry=0x5555587f2000 <js::CallObject::class_>, proto=proto@entry=..., 
    associated=associated@entry=0x0)
    at /home/eddy/Projects/servo/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ObjectGroup.cpp:459
#1  0x0000555556e8e435 in js::CallObject::createTemplateObject (cx=cx@entry=0x7fffeb4d9c00, script=..., 
    script@entry=..., heap=js::gc::DefaultHeap)
    at /home/eddy/Projects/servo/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ScopeObject.cpp:181
#2  0x0000555556e8e5c1 in js::CallObject::create (cx=cx@entry=0x7fffeb4d9c00, script=..., script@entry=..., 
    enclosing=..., enclosing@entry=..., callee=...)
    at /home/eddy/Projects/servo/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ScopeObject.cpp:210
#3  0x0000555556e8ed3f in js::CallObject::createForFunction (cx=cx@entry=0x7fffeb4d9c00, enclosing=..., 
    enclosing@entry=..., callee=..., callee@entry=...)
    at /home/eddy/Projects/servo/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ScopeObject.cpp:244
#4  0x0000555556e8ee0e in js::CallObject::createForFunction (cx=0x7fffeb4d9c00, frame=...)
    at /home/eddy/Projects/servo/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ScopeObject.cpp:256
#5  0x0000555556f6ab7f in js::jit::BaselineFrame::initFunctionScopeObjects (cx=<optimized out>, 
    this=0x7fffe7bfd278)
    at /home/eddy/Projects/servo/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/jit/BaselineFrame.cpp:143
#6  js::jit::BaselineFrame::heavyweightFunPrologue (this=0x7fffe7bfd278, cx=<optimized out>)
    at /home/eddy/Projects/servo/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/jit/BaselineFrame.cpp:134
#7  0x00007fffef00a5b2 in ?? ()
#8  0x0000000000000000 in ?? ()

Another example from @Manishearth:

0x0000555556e8cf94 in get (this=<optimized out>)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/gc/Barrier.h:717
717             if (!InternalGCMethods<T>::isMarkable(value))
(gdb) bt
#0  0x0000555556e8cf94 in get (this=<optimized out>)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/gc/Barrier.h:717
#1  operator-> (this=<optimized out>)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/gc/Barrier.h:730
#2  match (lookup=..., key=...)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ObjectGroup.cpp:395
#3  match (l=..., e=...) at ../../dist/include/js/HashTable.h:1219
#4  lookup (collisionBit=1, keyHash=3532413266, l=..., this=0x7fffe43b6740)
    at ../../dist/include/js/HashTable.h:1246
#5  lookupForAdd (l=..., this=0x7fffe43b6740) at ../../dist/include/js/HashTable.h:1568
#6  lookupForAdd (l=..., this=0x7fffe43b6740) at ../../dist/include/js/HashTable.h:374
#7  js::ObjectGroup::defaultNewGroup (cx=cx@entry=0x7fffe42ae000,
    clasp=clasp@entry=0x555558607240 <js::CallObject::class_>, proto=proto@entry=...,
    associated=associated@entry=0x0)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ObjectGroup.cpp:502
#8  0x0000555556e931e5 in js::CallObject::createTemplateObject (cx=cx@entry=0x7fffe42ae000, script=...,
    script@entry=..., heap=js::gc::DefaultHeap)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ScopeObject.cpp:181
#9  0x0000555556e93391 in js::CallObject::create (cx=cx@entry=0x7fffe42ae000, script=..., script@entry=...,
    enclosing=..., enclosing@entry=..., callee=...)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ScopeObject.cpp:210
#10 0x0000555556e93bbf in js::CallObject::createForFunction (cx=cx@entry=0x7fffe42ae000, enclosing=...,
    enclosing@entry=..., callee=..., callee@entry=...)
---Type <return> to continue, or q <return> to quit---
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ScopeObject.cpp:244
#11 0x0000555556e93cae in js::CallObject::createForFunction (cx=0x7fffe42ae000, frame=...)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/vm/ScopeObject.cpp:256
#12 0x0000555556f72faf in initFunctionScopeObjects (cx=<optimized out>, this=0x7fffe4e002d8)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/jit/BaselineFrame.cpp:143
#13 js::jit::BaselineFrame::heavyweightFunPrologue (this=0x7fffe4e002d8, cx=<optimized out>)
    at /home/manishearth/Mozilla/.cargo/git/checkouts/mozjs-06d7f04b6dbb8a8e/master/mozjs/js/src/jit/BaselineFrame.cpp:134
#14 0x00007fffee45b5b2 in ?? ()
#15 0x0000000000000000 in ?? ()
@Manishearth
Copy link
Member

@Manishearth Manishearth commented Mar 27, 2016

Seen on 0826a5b

STR: open https://twitter.com/whitequark (or some other profile), scroll down. Happens both with and without webrender.

This might just be a problem in spidermonkey, but we might also be forgetting to root something here.

Not yet tried with rr.

cc @tschneidereit @michaelwu @jdm

@jdm
Copy link
Member

@jdm jdm commented Mar 28, 2016

It would be really valuable to use a debug-mozjs build and grab the backtrace from that.

@tschneidereit
Copy link
Contributor

@tschneidereit tschneidereit commented Mar 29, 2016

I agree, without a debug build, it's really hard to get to the bottom of
this.

That being said, there have been lots of bug fixes around GC, and lots of
improvements to error handling, so while this might well be an issue in
Servo, a smup might give us better tooling for debugging it.

@Ms2ger
Copy link
Contributor

@Ms2ger Ms2ger commented Mar 29, 2016

I tried to repro with a debug build, but hit something else first.

@pcwalton
Copy link
Contributor

@pcwalton pcwalton commented Mar 29, 2016

This manifests itself as a stack overflow for me.

@pcwalton
Copy link
Contributor

@pcwalton pcwalton commented Mar 29, 2016

Backtrace:

* thread #30: tid = 0x8a075d, 0x0000000102d66f9c servo`JS::detail::UsedRvalBase<(JS::detail::UsedRval)0>::clearUsedRval(this=0x0000000000000000) const + 12 at CallArgs.h:114, stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x0000000102d66f9c servo`JS::detail::UsedRvalBase<(JS::detail::UsedRval)0>::clearUsedRval(this=0x0000000000000000) const + 12 at CallArgs.h:114
    frame #1: 0x0000000102d6ead5 servo`JS::CallArgs::create(argc=50646408, argv=0x000070000304c190) + 37 at CallArgs.h:336
    frame #2: 0x00000001023bb45e servo`CallJitGetterOp + 78
    frame #3: 0x00000001008e880e servo`script::dom::bindings::utils::generic_call(cx=0x000000010a740f80, argc=0, vp=0x000070000304cd78, is_lenient=false, call=(servo`CallJitGetterOp)) + 1646 at utils.rs:501
    frame #4: 0x00000001008e9a3c servo`script::dom::bindings::utils::generic_getter(cx=0x000000010a740f80, argc=0, vp=0x000070000304cd78) + 44 at utils.rs:517
    frame #5: 0x00000001008e9a03 servo`dom::bindings::utils::generic_getter::h52be7299e633a7c3Qtg + 35
    frame #6: 0x0000000102746a4d servo`js::CallJSNative(cx=0x000000010a740f80, native=(servo`dom::bindings::utils::generic_getter::h52be7299e633a7c3Qtg), args=0x000070000304cc10)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #7: 0x0000000102708087 servo`js::Invoke(cx=0x000000010a740f80, args=CallArgs @ 0x000070000304cc10, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #8: 0x00000001026fd27e servo`js::Invoke(cx=0x000000010a740f80, thisv=0x000070000304cdf8, fval=0x000070000304ce30, argc=0, argv=0x0000000000000000, rval=JS::MutableHandleValue @ 0x000070000304cd10) + 894 at Interpreter.cpp:558
    frame #9: 0x000000010272befe servo`js::InvokeGetterOrSetter(cx=0x000000010a740f80, obj=0x0000000118756060, fval=Value @ 0x000070000304ce30, argc=0, argv=0x0000000000000000, rval=JS::MutableHandleValue @ 0x000070000304ce28) + 158 at Interpreter.cpp:628
    frame #10: 0x00000001027cf6e2 servo`CallGetter(cx=0x000000010a740f80, receiver=JS::HandleObject @ 0x000070000304cef0, shape=js::HandleShape @ 0x000070000304cee8, vp=JS::MutableHandleValue @ 0x000070000304cee0) + 226 at NativeObject.cpp:1614
    frame #11: 0x0000000102795db7 servo`bool GetExistingProperty<(js::AllowGC)1>(cx=0x000000010a740f80, receiver=js::MaybeRooted<JSObject *, js::AllowGC>::HandleType @ 0x000070000304cfe0, obj=js::MaybeRooted<js::NativeObject *, js::AllowGC>::HandleType @ 0x000070000304cfd8, shape=js::MaybeRooted<js::Shape *, js::AllowGC>::HandleType @ 0x000070000304cfd0, vp=js::MaybeRooted<JS::Value, js::AllowGC>::MutableHandleType @ 0x000070000304cfc8)1>::HandleType, js::MaybeRooted<js::NativeObject*, (js::AllowGC)1>::HandleType, js::MaybeRooted<js::Shape*, (js::AllowGC)1>::HandleType, js::MaybeRooted<JS::Value, (js::AllowGC)1>::MutableHandleType) + 791 at NativeObject.cpp:1661
    frame #12: 0x0000000102795a95 servo`js::NativeGetExistingProperty(cx=0x000000010a740f80, receiver=JS::HandleObject @ 0x000070000304d048, obj=js::HandleNativeObject @ 0x000070000304d040, shape=js::HandleShape @ 0x000070000304d038, vp=JS::MutableHandleValue @ 0x000070000304d030) + 85 at NativeObject.cpp:1682
    frame #13: 0x00000001027696be servo`bool js::FetchName<false>(cx=0x000000010a740f80, obj=JS::HandleObject @ 0x000070000304d1b0, obj2=JS::HandleObject @ 0x000070000304d1a8, name=js::HandlePropertyName @ 0x000070000304d1a0, shape=js::HandleShape @ 0x000070000304d198, vp=JS::MutableHandleValue @ 0x000070000304d190) + 942 at Interpreter-inl.h:248
    frame #14: 0x0000000102739c94 servo`GetNameOperation(cx=0x000000010a740f80, fp=0x000000010b8ec830, pc="\x9a", vp=JS::MutableHandleValue @ 0x000070000304d3e0) + 1188 at Interpreter.cpp:312
    frame #15: 0x00000001027211fe servo`Interpret(cx=0x000000010a740f80, state=0x0000700003050310) + 53358 at Interpreter.cpp:2733
    frame #16: 0x000000010271409b servo`js::RunScript(cx=0x000000010a740f80, state=0x0000700003050310) + 571 at Interpreter.cpp:452
    frame #17: 0x000000010272c367 servo`js::ExecuteKernel(cx=0x000000010a740f80, script=JS::HandleScript @ 0x0000700003050438, scopeChainArg=0x0000000118756060, thisv=0x00007000030504b0, type=EXECUTE_GLOBAL, evalInFrame=(ptr_ = 0), result=0x0000700003051070) + 1095 at Interpreter.cpp:660
    frame #18: 0x000000010272c780 servo`js::Execute(cx=0x000000010a740f80, script=JS::HandleScript @ 0x0000700003050520, scopeChainArg=0x0000000118756060, rval=0x0000700003051070) + 944 at Interpreter.cpp:702
    frame #19: 0x0000000102d0d5d7 servo`Evaluate(cx=0x000000010a740f80, scope=JS::HandleObject @ 0x0000700003050798, optionsArg=0x00000001097b2630, srcBuf=0x00007000030507f0, rval=JS::MutableHandleValue @ 0x0000700003050790) + 983 at jsapi.cpp:4184
    frame #20: 0x0000000102d0d92e servo`Evaluate(cx=0x000000010a740f80, optionsArg=0x00000001097b2630, chars=u"\n    if (window.top != window) {\n  window.top.postMessage({'bouncer': true, 'event': 'complete'}, '*');\n}\n  ", length=108, rval=JS::MutableHandleValue @ 0x0000700003050828) + 126 at jsapi.cpp:4219
    frame #21: 0x0000000102d0d89d servo`JS::Evaluate(cx=0x000000010a740f80, optionsArg=0x00000001097b2630, chars=u"\n    if (window.top != window) {\n  window.top.postMessage({'bouncer': true, 'event': 'complete'}, '*');\n}\n  ", length=108, rval=JS::MutableHandleValue @ 0x0000700003050868) + 61 at jsapi.cpp:4273
    frame #22: 0x00000001008cc407 servo`script::dom::window::&'a T.ScriptHelpers::evaluate_script_on_global_with_result(self=0x000000011985c000, code=(data_ptr = "\n    if (window.top != window) {\n  window.top.postMessage({'bouncer': true, 'event': 'complete'}, '*');\n}\n  ", length = 108), filename=(data_ptr = "https://twitter.com/whitequark", length = 30), rval=MutableHandle<js::jsapi_macos_64::Value> @ 0x0000700003050bb8) + 1111 at window.rs:833
    frame #23: 0x0000000100ee1036 servo`script::dom::htmlscriptelement::HTMLScriptElement::execute(self=0x000000011985c380) + 4566 at htmlscriptelement.rs:433
    frame #24: 0x0000000101058fcb servo`script::dom::htmlscriptelement::HTMLScriptElement::prepare(self=0x000000011985c380) + 9387 at htmlscriptelement.rs:353
    frame #25: 0x00000001010e8194 servo`script::parse::html::servohtmlparser::Sink.TreeSink::complete_script(self=0x0000000119871038, node=JS<script::dom::node::Node> @ 0x0000700003053108) + 68 at html.rs:159
    frame #26: 0x00000001010cd220 servo`script::tree_builder::rules::super::TreeBuilder<Handle, Sink>.TreeBuilderStep::step(self=0x0000000119871030, mode=Text, token=Token @ 0x0000700003059340) + 53632 at rules.expanded.rs:1461
    frame #27: 0x00000001010b3888 servo`script::tree_builder::TreeBuilder<Handle, Sink>::process_to_completion(self=0x0000000119871030, token=Token @ 0x0000700003059b38) + 616 at mod.rs:327
    frame #28: 0x00000001010aed47 servo`script::tree_builder::TreeBuilder<Handle, Sink>.TokenSink::process_token(self=0x0000000119871030, token=Token @ 0x0000700003059fe0) + 3415 at mod.rs:425
    frame #29: 0x00000001010adf0e servo`script::tokenizer::Tokenizer<Sink>::process_token(self=0x0000000119871010, token=Token @ 0x000070000305a140) + 654 at mod.rs:233
    frame #30: 0x00000001010facf4 servo`script::tokenizer::Tokenizer<Sink>::emit_current_tag(self=0x0000000119871010) + 1140 at mod.rs:392
    frame #31: 0x00000001010f2aca servo`script::tokenizer::Tokenizer<Sink>::step(self=0x0000000119871010) + 15370 at mod.rs:795
    frame #32: 0x00000001010eeea2 servo`script::tokenizer::Tokenizer<Sink>::run(self=0x0000000119871010) + 610 at mod.rs:334
    frame #33: 0x000000010110f73f servo`script::tokenizer::Tokenizer<Sink>::feed(self=0x0000000119871010, input=Tendril<tendril::fmt::UTF8, tendril::tendril::NonAtomic> @ 0x000070000305bd28) + 415 at mod.rs:221
    frame #34: 0x00000001010a4c18 servo`script::dom::servohtmlparser::ServoHTMLParser::parse_sync(self=0x0000000119871000) + 504 at servohtmlparser.rs:470
    frame #35: 0x00000001010a4393 servo`script::dom::servohtmlparser::&'a ServoHTMLParser.Parser::parse_chunk(self=0x0000000119871000, input=String @ 0x000070000305bf38) + 371 at servohtmlparser.rs:355
    frame #36: 0x00000001010a416c servo`script::dom::servohtmlparser::ParserRef<'a>::parse_chunk(self=0x000070000305c0a0, input=String @ 0x000070000305bff8) + 172 at servohtmlparser.rs:141
    frame #37: 0x00000001010a837b servo`script::dom::servohtmlparser::ParserContext.AsyncResponseListener::data_available(self=0x000000011984c018, payload=Vec<u8> @ 0x000070000305c168) + 635 at servohtmlparser.rs:306
    frame #38: 0x00000001020d7c89 servo`net_traits::ResponseAction::process(self=ResponseAction @ 0x000070000305c410, listener=&mut AsyncResponseListener @ 0x000070000305c400) + 425 at lib.rs:141
    frame #39: 0x00000001012f04e7 servo`script::network_listener::ListenerRunnable<T>.Runnable::handler(self=0x0000000113e521c0) + 487 at network_listener.rs:48
    frame #40: 0x000000010124f412 servo`script::script_thread::ScriptThread::handle_msg_from_script(self=0x00007000030607b8, msg=MainThreadScriptMsg @ 0x000070000305cc40) + 1106 at script_thread.rs:1072
    frame #41: 0x00000001012cf470 servo`fnfn + 384 at script_thread.rs:915
    frame #42: 0x00000001012cf036 servo`script::script_thread::ScriptThread::profile_event<closure,core::option::Option<bool>>(self=0x00007000030607b8, category=NetworkEvent, f=closure @ 0x000070000305d5e8) + 950 at script_thread.rs:1006
    frame #43: 0x00000001012a231b servo`script::script_thread::ScriptThread::handle_msgs(self=0x00007000030607b8) + 7419 at script_thread.rs:907
    frame #44: 0x000000010124b54d servo`script::script_thread::ScriptThread::start(self=0x00007000030607b8) + 29 at script_thread.rs:765
    frame #45: 0x000000010124b3f1 servo`fnfn + 49 at script_thread.rs:550
    frame #46: 0x000000010124b13d servo`script::mem::ProfilerChan::run_with_memory_reporting<closure,fn(profile_traits::mem::ReportsChan) -> script::script_thread::CommonScriptMsg,script::script_thread::CommonScriptMsg,Box<ScriptChan>>(self=0x00007000030609e8, f=closure @ 0x00007000030600c0, reporter_name=String @ 0x00007000030600a8, channel_for_reporter=Box<ScriptChan> @ 0x0000700003060098, msg=(servo`ref183346)) + 573 at mem.rs:59
    frame #47: 0x0000000101236577 servo`fnfn + 2039 at script_thread.rs:549
    frame #48: 0x0000000101235ad8 servo`fnfn + 104 at thread.rs:52
    frame #49: 0x00000001012354c4 servo`fnfn + 116 at mod.rs:278
    frame #50: 0x0000000101235439 servo`script::sys_common::unwind::try::try_fn<closure>(opt_closure="") + 73 at mod.rs:127
    frame #51: 0x000000010358045c servo`__rust_try + 12
    frame #52: 0x00000001035803e4 servo`sys_common::unwind::inner_try::hdf6affff6fc30ecdNWt + 116
    frame #53: 0x0000000101235376 servo`script::sys_common::unwind::try<closure>(f=closure @ 0x0000700003061690) + 150 at mod.rs:123
    frame #54: 0x00000001012351af servo`fnfn + 431 at mod.rs:278
    frame #55: 0x0000000101235cf8 servo`script::boxed::F.FnBox<A>::call_box(self=0x0000000117042000, args=<unavailable>) + 104 at boxed.rs:541
    frame #56: 0x0000000103583dfd servo`sys::thread::Thread::new::thread_start::he33a0e5f2597fcdejOy + 61
    frame #57: 0x00007fff90e36c13 libsystem_pthread.dylib`_pthread_body + 131
    frame #58: 0x00007fff90e36b90 libsystem_pthread.dylib`_pthread_start + 168
    frame #59: 0x00007fff90e34375 libsystem_pthread.dylib`thread_start + 13
@pcwalton
Copy link
Contributor

@pcwalton pcwalton commented Mar 29, 2016

Another backtrace:

  * frame #0: 0x000000010279a388 servo`js::ObjectGroup::defaultNewGroup(cx=0x000000010989af70, clasp=0x0000000104f5d700, proto=TaggedProto @ 0x0000700002ddf150, associated=0x0000000000000000) + 280 at ObjectGroup.cpp:462
    frame #1: 0x00000001027b236d servo`js::CallObject::createTemplateObject(cx=0x000000010989af70, script=JS::HandleScript @ 0x0000700002ddf240, heap=DefaultHeap) + 269 at ScopeObject.cpp:181
    frame #2: 0x00000001027b259a servo`js::CallObject::create(cx=0x000000010989af70, script=JS::HandleScript @ 0x0000700002ddf300, enclosing=JS::HandleObject @ 0x0000700002ddf2f8, callee=JS::HandleFunction @ 0x0000700002ddf2f0) + 90 at ScopeObject.cpp:210
    frame #3: 0x00000001027b2915 servo`js::CallObject::createForFunction(cx=0x000000010989af70, enclosing=JS::HandleObject @ 0x0000700002ddf3f0, callee=JS::HandleFunction @ 0x0000700002ddf3e8) + 533 at ScopeObject.cpp:244
    frame #4: 0x00000001027b2bb8 servo`js::CallObject::createForFunction(cx=0x000000010989af70, frame=(ptr_ = 123145350411834)) + 312 at ScopeObject.cpp:256
    frame #5: 0x0000000102990a07 servo`js::jit::BaselineFrame::initFunctionScopeObjects(this=0x0000700002ddf638, cx=0x000000010989af70) + 215 at BaselineFrame.cpp:143
    frame #6: 0x000000010299091d servo`js::jit::BaselineFrame::heavyweightFunPrologue(this=0x0000700002ddf638, cx=0x000000010989af70) + 29 at BaselineFrame.cpp:134
    frame #7: 0x0000000102c74b3d servo`js::jit::HeavyweightFunPrologue(cx=0x000000010989af70, frame=0x0000700002ddf638) + 29 at VMFunctions.cpp:862
    frame #8: 0x000000011eeba25d
    frame #9: 0x00000001131a1cc5
@pcwalton
Copy link
Contributor

@pcwalton pcwalton commented Mar 29, 2016

This hits a stack guard, so it's a stack overflow in C++ code.

@pcwalton
Copy link
Contributor

@pcwalton pcwalton commented Mar 29, 2016

(lldb) bt
* thread #33: tid = 0x8b4a43, 0x0000000102d6f290 servo`JS::CallArgs::create(argc=2, argv=0x000000010bad7850) + 32 at CallArgs.h:336, stop reason = EXC_BAD_ACCESS (code=2, address=0x7000035eaff8)
  * frame #0: 0x0000000102d6f290 servo`JS::CallArgs::create(argc=2, argv=0x000000010bad7850) + 32 at CallArgs.h:336
    frame #1: 0x0000000102d6f049 servo`JS::CallArgsFromVp(argc=2, vp=0x000000010bad7840) + 41 at CallArgs.h:354
    frame #2: 0x0000000102db8b79 servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad7840) + 73 at jsfun.cpp:1247
    frame #3: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000035ec2c0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #4: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000035ec2c0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #5: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000035ef198) + 49892 at Interpreter.cpp:2609
    frame #6: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000035ef198) + 571 at Interpreter.cpp:452
    frame #7: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000035ef990, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #8: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad7650) + 1693 at jsfun.cpp:1312
    frame #9: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000035f0bf0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #10: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000035f0bf0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #11: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000035f3ac8) + 49892 at Interpreter.cpp:2609
    frame #12: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000035f3ac8) + 571 at Interpreter.cpp:452
    frame #13: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000035f42c0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #14: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad7460) + 1693 at jsfun.cpp:1312
    frame #15: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000035f5520)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #16: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000035f5520, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #17: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000035f83f8) + 49892 at Interpreter.cpp:2609
    frame #18: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000035f83f8) + 571 at Interpreter.cpp:452
    frame #19: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000035f8bf0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #20: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad7270) + 1693 at jsfun.cpp:1312
    frame #21: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000035f9e50)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #22: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000035f9e50, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #23: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000035fcd28) + 49892 at Interpreter.cpp:2609
    frame #24: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000035fcd28) + 571 at Interpreter.cpp:452
    frame #25: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000035fd520, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #26: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad7080) + 1693 at jsfun.cpp:1312
    frame #27: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000035fe780)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #28: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000035fe780, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #29: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003601658) + 49892 at Interpreter.cpp:2609
    frame #30: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003601658) + 571 at Interpreter.cpp:452
    frame #31: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003601e50, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #32: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad6e90) + 1693 at jsfun.cpp:1312
    frame #33: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036030b0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #34: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036030b0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #35: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003605f88) + 49892 at Interpreter.cpp:2609
    frame #36: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003605f88) + 571 at Interpreter.cpp:452
    frame #37: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003606780, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #38: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad6c20) + 1693 at jsfun.cpp:1312
    frame #39: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036079e0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #40: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036079e0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #41: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000360a8b8) + 49892 at Interpreter.cpp:2609
    frame #42: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000360a8b8) + 571 at Interpreter.cpp:452
    frame #43: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000360b0b0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #44: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad6a30) + 1693 at jsfun.cpp:1312
    frame #45: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000360c310)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #46: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000360c310, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #47: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000360f1e8) + 49892 at Interpreter.cpp:2609
    frame #48: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000360f1e8) + 571 at Interpreter.cpp:452
    frame #49: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000360f9e0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #50: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad6840) + 1693 at jsfun.cpp:1312
    frame #51: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003610c40)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #52: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003610c40, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #53: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003613b18) + 49892 at Interpreter.cpp:2609
    frame #54: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003613b18) + 571 at Interpreter.cpp:452
    frame #55: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003614310, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #56: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad6650) + 1693 at jsfun.cpp:1312
    frame #57: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003615570)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #58: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003615570, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #59: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003618448) + 49892 at Interpreter.cpp:2609
    frame #60: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003618448) + 571 at Interpreter.cpp:452
    frame #61: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003618c40, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #62: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad6460) + 1693 at jsfun.cpp:1312
    frame #63: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003619ea0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #64: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003619ea0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #65: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000361cd78) + 49892 at Interpreter.cpp:2609
    frame #66: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000361cd78) + 571 at Interpreter.cpp:452
    frame #67: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000361d570, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #68: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad6270) + 1693 at jsfun.cpp:1312
    frame #69: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000361e7d0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #70: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000361e7d0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #71: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036216a8) + 49892 at Interpreter.cpp:2609
    frame #72: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036216a8) + 571 at Interpreter.cpp:452
    frame #73: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003621ea0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #74: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad6080) + 1693 at jsfun.cpp:1312
    frame #75: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003623100)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #76: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003623100, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #77: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003625fd8) + 49892 at Interpreter.cpp:2609
    frame #78: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003625fd8) + 571 at Interpreter.cpp:452
    frame #79: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036267d0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #80: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad5e90) + 1693 at jsfun.cpp:1312
    frame #81: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003627a30)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #82: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003627a30, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #83: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000362a908) + 49892 at Interpreter.cpp:2609
    frame #84: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000362a908) + 571 at Interpreter.cpp:452
    frame #85: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000362b100, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #86: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad5c20) + 1693 at jsfun.cpp:1312
    frame #87: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000362c360)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #88: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000362c360, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #89: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000362f238) + 49892 at Interpreter.cpp:2609
    frame #90: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000362f238) + 571 at Interpreter.cpp:452
    frame #91: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000362fa30, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #92: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad5a30) + 1693 at jsfun.cpp:1312
    frame #93: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003630c90)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #94: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003630c90, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #95: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003633b68) + 49892 at Interpreter.cpp:2609
    frame #96: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003633b68) + 571 at Interpreter.cpp:452
    frame #97: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003634360, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #98: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad5840) + 1693 at jsfun.cpp:1312
    frame #99: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036355c0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #100: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036355c0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #101: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003638498) + 49892 at Interpreter.cpp:2609
    frame #102: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003638498) + 571 at Interpreter.cpp:452
    frame #103: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003638c90, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #104: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad5650) + 1693 at jsfun.cpp:1312
    frame #105: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003639ef0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #106: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003639ef0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #107: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000363cdc8) + 49892 at Interpreter.cpp:2609
    frame #108: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000363cdc8) + 571 at Interpreter.cpp:452
    frame #109: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000363d5c0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #110: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad5460) + 1693 at jsfun.cpp:1312
    frame #111: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000363e820)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #112: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000363e820, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #113: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036416f8) + 49892 at Interpreter.cpp:2609
    frame #114: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036416f8) + 571 at Interpreter.cpp:452
    frame #115: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003641ef0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #116: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad5270) + 1693 at jsfun.cpp:1312
    frame #117: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003643150)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #118: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003643150, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #119: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003646028) + 49892 at Interpreter.cpp:2609
    frame #120: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003646028) + 571 at Interpreter.cpp:452
    frame #121: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003646820, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #122: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad5080) + 1693 at jsfun.cpp:1312
    frame #123: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003647a80)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #124: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003647a80, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #125: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000364a958) + 49892 at Interpreter.cpp:2609
    frame #126: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000364a958) + 571 at Interpreter.cpp:452
    frame #127: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000364b150, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #128: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad4e90) + 1693 at jsfun.cpp:1312
    frame #129: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000364c3b0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #130: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000364c3b0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #131: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000364f288) + 49892 at Interpreter.cpp:2609
    frame #132: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000364f288) + 571 at Interpreter.cpp:452
    frame #133: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000364fa80, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #134: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad4c20) + 1693 at jsfun.cpp:1312
    frame #135: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003650ce0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #136: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003650ce0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #137: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003653bb8) + 49892 at Interpreter.cpp:2609
    frame #138: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003653bb8) + 571 at Interpreter.cpp:452
    frame #139: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036543b0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #140: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad4a30) + 1693 at jsfun.cpp:1312
    frame #141: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003655610)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #142: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003655610, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #143: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036584e8) + 49892 at Interpreter.cpp:2609
    frame #144: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036584e8) + 571 at Interpreter.cpp:452
    frame #145: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003658ce0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #146: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad4840) + 1693 at jsfun.cpp:1312
    frame #147: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003659f40)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #148: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003659f40, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #149: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000365ce18) + 49892 at Interpreter.cpp:2609
    frame #150: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000365ce18) + 571 at Interpreter.cpp:452
    frame #151: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000365d610, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #152: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad4650) + 1693 at jsfun.cpp:1312
    frame #153: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000365e870)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #154: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000365e870, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #155: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003661748) + 49892 at Interpreter.cpp:2609
    frame #156: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003661748) + 571 at Interpreter.cpp:452
    frame #157: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003661f40, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #158: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad4460) + 1693 at jsfun.cpp:1312
    frame #159: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036631a0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #160: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036631a0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #161: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003666078) + 49892 at Interpreter.cpp:2609
    frame #162: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003666078) + 571 at Interpreter.cpp:452
    frame #163: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003666870, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #164: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad4270) + 1693 at jsfun.cpp:1312
    frame #165: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003667ad0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #166: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003667ad0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #167: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000366a9a8) + 49892 at Interpreter.cpp:2609
    frame #168: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000366a9a8) + 571 at Interpreter.cpp:452
    frame #169: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000366b1a0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #170: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad4080) + 1693 at jsfun.cpp:1312
    frame #171: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000366c400)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #172: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000366c400, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #173: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000366f2d8) + 49892 at Interpreter.cpp:2609
    frame #174: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000366f2d8) + 571 at Interpreter.cpp:452
    frame #175: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000366fad0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #176: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad3e90) + 1693 at jsfun.cpp:1312
    frame #177: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003670d30)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #178: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003670d30, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #179: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003673c08) + 49892 at Interpreter.cpp:2609
    frame #180: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003673c08) + 571 at Interpreter.cpp:452
    frame #181: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003674400, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #182: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad3c20) + 1693 at jsfun.cpp:1312
    frame #183: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003675660)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #184: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003675660, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #185: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003678538) + 49892 at Interpreter.cpp:2609
    frame #186: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003678538) + 571 at Interpreter.cpp:452
    frame #187: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003678d30, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #188: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad3a30) + 1693 at jsfun.cpp:1312
    frame #189: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003679f90)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #190: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003679f90, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #191: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000367ce68) + 49892 at Interpreter.cpp:2609
    frame #192: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000367ce68) + 571 at Interpreter.cpp:452
    frame #193: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000367d660, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #194: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad3840) + 1693 at jsfun.cpp:1312
    frame #195: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000367e8c0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #196: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000367e8c0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #197: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003681798) + 49892 at Interpreter.cpp:2609
    frame #198: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003681798) + 571 at Interpreter.cpp:452
    frame #199: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003681f90, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #200: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad3650) + 1693 at jsfun.cpp:1312
    frame #201: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036831f0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #202: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036831f0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #203: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036860c8) + 49892 at Interpreter.cpp:2609
    frame #204: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036860c8) + 571 at Interpreter.cpp:452
    frame #205: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036868c0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #206: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad3460) + 1693 at jsfun.cpp:1312
    frame #207: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003687b20)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #208: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003687b20, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #209: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000368a9f8) + 49892 at Interpreter.cpp:2609
    frame #210: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000368a9f8) + 571 at Interpreter.cpp:452
    frame #211: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000368b1f0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #212: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad3270) + 1693 at jsfun.cpp:1312
    frame #213: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000368c450)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #214: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000368c450, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #215: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000368f328) + 49892 at Interpreter.cpp:2609
    frame #216: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000368f328) + 571 at Interpreter.cpp:452
    frame #217: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000368fb20, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #218: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad3080) + 1693 at jsfun.cpp:1312
    frame #219: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003690d80)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #220: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003690d80, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #221: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003693c58) + 49892 at Interpreter.cpp:2609
    frame #222: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003693c58) + 571 at Interpreter.cpp:452
    frame #223: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003694450, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #224: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad2e90) + 1693 at jsfun.cpp:1312
    frame #225: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036956b0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #226: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036956b0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #227: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003698588) + 49892 at Interpreter.cpp:2609
    frame #228: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003698588) + 571 at Interpreter.cpp:452
    frame #229: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003698d80, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #230: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad2c20) + 1693 at jsfun.cpp:1312
    frame #231: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003699fe0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #232: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003699fe0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #233: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000369ceb8) + 49892 at Interpreter.cpp:2609
    frame #234: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000369ceb8) + 571 at Interpreter.cpp:452
    frame #235: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000369d6b0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #236: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad2a30) + 1693 at jsfun.cpp:1312
    frame #237: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000369e910)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #238: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000369e910, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #239: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036a17e8) + 49892 at Interpreter.cpp:2609
    frame #240: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036a17e8) + 571 at Interpreter.cpp:452
    frame #241: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036a1fe0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #242: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad2840) + 1693 at jsfun.cpp:1312
    frame #243: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036a3240)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #244: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036a3240, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #245: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036a6118) + 49892 at Interpreter.cpp:2609
    frame #246: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036a6118) + 571 at Interpreter.cpp:452
    frame #247: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036a6910, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #248: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad2650) + 1693 at jsfun.cpp:1312
    frame #249: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036a7b70)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #250: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036a7b70, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #251: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036aaa48) + 49892 at Interpreter.cpp:2609
    frame #252: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036aaa48) + 571 at Interpreter.cpp:452
    frame #253: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036ab240, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #254: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad2460) + 1693 at jsfun.cpp:1312
    frame #255: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036ac4a0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #256: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036ac4a0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #257: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036af378) + 49892 at Interpreter.cpp:2609
    frame #258: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036af378) + 571 at Interpreter.cpp:452
    frame #259: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036afb70, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #260: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad2270) + 1693 at jsfun.cpp:1312
    frame #261: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036b0dd0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #262: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036b0dd0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #263: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036b3ca8) + 49892 at Interpreter.cpp:2609
    frame #264: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036b3ca8) + 571 at Interpreter.cpp:452
    frame #265: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036b44a0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #266: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad2080) + 1693 at jsfun.cpp:1312
    frame #267: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036b5700)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #268: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036b5700, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #269: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036b85d8) + 49892 at Interpreter.cpp:2609
    frame #270: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036b85d8) + 571 at Interpreter.cpp:452
    frame #271: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036b8dd0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #272: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bad1e90) + 1693 at jsfun.cpp:1312
    frame #273: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036ba030)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #274: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036ba030, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #275: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036bcf08) + 49892 at Interpreter.cpp:2609
    frame #276: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036bcf08) + 571 at Interpreter.cpp:452
    frame #277: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036bd700, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #278: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a1e7820) + 1693 at jsfun.cpp:1312
    frame #279: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036be960)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #280: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036be960, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #281: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036c1838) + 49892 at Interpreter.cpp:2609
    frame #282: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036c1838) + 571 at Interpreter.cpp:452
    frame #283: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036c2030, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #284: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a1e7630) + 1693 at jsfun.cpp:1312
    frame #285: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036c3290)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #286: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036c3290, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #287: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036c6168) + 49892 at Interpreter.cpp:2609
    frame #288: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036c6168) + 571 at Interpreter.cpp:452
    frame #289: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036c6960, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #290: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a1e7440) + 1693 at jsfun.cpp:1312
    frame #291: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036c7bc0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #292: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036c7bc0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #293: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036caa98) + 49892 at Interpreter.cpp:2609
    frame #294: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036caa98) + 571 at Interpreter.cpp:452
    frame #295: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036cb290, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #296: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a1e7250) + 1693 at jsfun.cpp:1312
    frame #297: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036cc4f0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #298: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036cc4f0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #299: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036cf3c8) + 49892 at Interpreter.cpp:2609
    frame #300: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036cf3c8) + 571 at Interpreter.cpp:452
    frame #301: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036cfbc0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #302: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a1e7060) + 1693 at jsfun.cpp:1312
    frame #303: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036d0e20)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #304: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036d0e20, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #305: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036d3cf8) + 49892 at Interpreter.cpp:2609
    frame #306: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036d3cf8) + 571 at Interpreter.cpp:452
    frame #307: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036d44f0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #308: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a1e6e70) + 1693 at jsfun.cpp:1312
    frame #309: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036d5750)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #310: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036d5750, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #311: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036d8628) + 49892 at Interpreter.cpp:2609
    frame #312: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036d8628) + 571 at Interpreter.cpp:452
    frame #313: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036d8e20, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #314: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a1e6c80) + 1693 at jsfun.cpp:1312
    frame #315: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036da080)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #316: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036da080, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #317: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036dcf58) + 49892 at Interpreter.cpp:2609
    frame #318: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036dcf58) + 571 at Interpreter.cpp:452
    frame #319: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036dd750, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #320: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a1e6a90) + 1693 at jsfun.cpp:1312
    frame #321: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036de9b0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #322: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036de9b0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #323: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036e1888) + 49892 at Interpreter.cpp:2609
    frame #324: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036e1888) + 571 at Interpreter.cpp:452
    frame #325: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036e2080, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #326: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bb1c020) + 1693 at jsfun.cpp:1312
    frame #327: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036e32e0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #328: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036e32e0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #329: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036e61b8) + 49892 at Interpreter.cpp:2609
    frame #330: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036e61b8) + 571 at Interpreter.cpp:452
    frame #331: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036e69b0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #332: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bb1be30) + 1693 at jsfun.cpp:1312
    frame #333: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036e7c10)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #334: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036e7c10, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #335: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036eaae8) + 49892 at Interpreter.cpp:2609
    frame #336: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036eaae8) + 571 at Interpreter.cpp:452
    frame #337: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036eb2e0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #338: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bb1bc40) + 1693 at jsfun.cpp:1312
    frame #339: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036ec540)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #340: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036ec540, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #341: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036ef418) + 49892 at Interpreter.cpp:2609
    frame #342: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036ef418) + 571 at Interpreter.cpp:452
    frame #343: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036efc10, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #344: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bb1ba50) + 1693 at jsfun.cpp:1312
    frame #345: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036f0e70)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #346: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036f0e70, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #347: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036f3d48) + 49892 at Interpreter.cpp:2609
    frame #348: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036f3d48) + 571 at Interpreter.cpp:452
    frame #349: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036f4540, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #350: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bb1b860) + 1693 at jsfun.cpp:1312
    frame #351: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036f57a0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #352: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036f57a0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #353: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036f8678) + 49892 at Interpreter.cpp:2609
    frame #354: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036f8678) + 571 at Interpreter.cpp:452
    frame #355: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036f8e70, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #356: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bb1b670) + 1693 at jsfun.cpp:1312
    frame #357: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036fa0d0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #358: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036fa0d0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #359: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000036fcfa8) + 49892 at Interpreter.cpp:2609
    frame #360: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000036fcfa8) + 571 at Interpreter.cpp:452
    frame #361: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036fd7a0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #362: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bb1b480) + 1693 at jsfun.cpp:1312
    frame #363: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000036fea00)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #364: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000036fea00, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #365: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037018d8) + 49892 at Interpreter.cpp:2609
    frame #366: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037018d8) + 571 at Interpreter.cpp:452
    frame #367: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037020d0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #368: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bb1b290) + 1693 at jsfun.cpp:1312
    frame #369: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003703330)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #370: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003703330, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #371: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003706208) + 49892 at Interpreter.cpp:2609
    frame #372: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003706208) + 571 at Interpreter.cpp:452
    frame #373: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003706a00, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #374: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9e2620) + 1693 at jsfun.cpp:1312
    frame #375: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003707c60)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #376: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003707c60, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #377: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000370ab38) + 49892 at Interpreter.cpp:2609
    frame #378: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000370ab38) + 571 at Interpreter.cpp:452
    frame #379: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000370b330, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #380: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9e2430) + 1693 at jsfun.cpp:1312
    frame #381: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000370c590)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #382: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000370c590, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #383: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000370f468) + 49892 at Interpreter.cpp:2609
    frame #384: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000370f468) + 571 at Interpreter.cpp:452
    frame #385: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000370fc60, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #386: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9e2240) + 1693 at jsfun.cpp:1312
    frame #387: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003710ec0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #388: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003710ec0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #389: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003713d98) + 49892 at Interpreter.cpp:2609
    frame #390: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003713d98) + 571 at Interpreter.cpp:452
    frame #391: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003714590, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #392: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9e2050) + 1693 at jsfun.cpp:1312
    frame #393: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037157f0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #394: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037157f0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #395: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037186c8) + 49892 at Interpreter.cpp:2609
    frame #396: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037186c8) + 571 at Interpreter.cpp:452
    frame #397: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003718ec0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #398: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9e1e60) + 1693 at jsfun.cpp:1312
    frame #399: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000371a120)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #400: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000371a120, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #401: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000371cff8) + 49892 at Interpreter.cpp:2609
    frame #402: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000371cff8) + 571 at Interpreter.cpp:452
    frame #403: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000371d7f0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #404: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9e1c70) + 1693 at jsfun.cpp:1312
    frame #405: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000371ea50)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #406: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000371ea50, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #407: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003721928) + 49892 at Interpreter.cpp:2609
    frame #408: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003721928) + 571 at Interpreter.cpp:452
    frame #409: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003722120, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #410: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9e1a80) + 1693 at jsfun.cpp:1312
    frame #411: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003723380)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #412: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003723380, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #413: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003726258) + 49892 at Interpreter.cpp:2609
    frame #414: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003726258) + 571 at Interpreter.cpp:452
    frame #415: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003726a50, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #416: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9e1890) + 1693 at jsfun.cpp:1312
    frame #417: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003727cb0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #418: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003727cb0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #419: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000372ab88) + 49892 at Interpreter.cpp:2609
    frame #420: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000372ab88) + 571 at Interpreter.cpp:452
    frame #421: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000372b380, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #422: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bae2620) + 1693 at jsfun.cpp:1312
    frame #423: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000372c5e0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #424: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000372c5e0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #425: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000372f4b8) + 49892 at Interpreter.cpp:2609
    frame #426: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000372f4b8) + 571 at Interpreter.cpp:452
    frame #427: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000372fcb0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #428: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bae2430) + 1693 at jsfun.cpp:1312
    frame #429: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003730f10)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #430: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003730f10, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #431: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003733de8) + 49892 at Interpreter.cpp:2609
    frame #432: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003733de8) + 571 at Interpreter.cpp:452
    frame #433: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037345e0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #434: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bae2240) + 1693 at jsfun.cpp:1312
    frame #435: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003735840)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #436: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003735840, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #437: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003738718) + 49892 at Interpreter.cpp:2609
    frame #438: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003738718) + 571 at Interpreter.cpp:452
    frame #439: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003738f10, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #440: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bae2050) + 1693 at jsfun.cpp:1312
    frame #441: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000373a170)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #442: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000373a170, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #443: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000373d048) + 49892 at Interpreter.cpp:2609
    frame #444: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000373d048) + 571 at Interpreter.cpp:452
    frame #445: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000373d840, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #446: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bae1e60) + 1693 at jsfun.cpp:1312
    frame #447: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000373eaa0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #448: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000373eaa0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #449: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003741978) + 49892 at Interpreter.cpp:2609
    frame #450: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003741978) + 571 at Interpreter.cpp:452
    frame #451: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003742170, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #452: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bae1c70) + 1693 at jsfun.cpp:1312
    frame #453: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037433d0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #454: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037433d0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #455: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037462a8) + 49892 at Interpreter.cpp:2609
    frame #456: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037462a8) + 571 at Interpreter.cpp:452
    frame #457: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003746aa0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #458: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bae1a80) + 1693 at jsfun.cpp:1312
    frame #459: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003747d00)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #460: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003747d00, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #461: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000374abd8) + 49892 at Interpreter.cpp:2609
    frame #462: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000374abd8) + 571 at Interpreter.cpp:452
    frame #463: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000374b3d0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #464: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010bae1890) + 1693 at jsfun.cpp:1312
    frame #465: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000374c630)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #466: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000374c630, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #467: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000374f508) + 49892 at Interpreter.cpp:2609
    frame #468: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000374f508) + 571 at Interpreter.cpp:452
    frame #469: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000374fd00, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #470: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x0000000110001e20) + 1693 at jsfun.cpp:1312
    frame #471: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003750f60)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #472: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003750f60, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #473: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003753e38) + 49892 at Interpreter.cpp:2609
    frame #474: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003753e38) + 571 at Interpreter.cpp:452
    frame #475: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003754630, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #476: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x0000000110001c30) + 1693 at jsfun.cpp:1312
    frame #477: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003755890)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #478: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003755890, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #479: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003758768) + 49892 at Interpreter.cpp:2609
    frame #480: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003758768) + 571 at Interpreter.cpp:452
    frame #481: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003758f60, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #482: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x0000000110001a40) + 1693 at jsfun.cpp:1312
    frame #483: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000375a1c0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #484: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000375a1c0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #485: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000375d098) + 49892 at Interpreter.cpp:2609
    frame #486: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000375d098) + 571 at Interpreter.cpp:452
    frame #487: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000375d890, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #488: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x0000000110001850) + 1693 at jsfun.cpp:1312
    frame #489: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000375eaf0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #490: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000375eaf0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #491: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037619c8) + 49892 at Interpreter.cpp:2609
    frame #492: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037619c8) + 571 at Interpreter.cpp:452
    frame #493: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037621c0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #494: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x0000000110001660) + 1693 at jsfun.cpp:1312
    frame #495: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003763420)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #496: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003763420, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #497: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037662f8) + 49892 at Interpreter.cpp:2609
    frame #498: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037662f8) + 571 at Interpreter.cpp:452
    frame #499: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003766af0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #500: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x0000000110001470) + 1693 at jsfun.cpp:1312
    frame #501: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003767d50)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #502: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003767d50, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #503: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000376ac28) + 49892 at Interpreter.cpp:2609
    frame #504: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000376ac28) + 571 at Interpreter.cpp:452
    frame #505: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000376b420, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #506: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x0000000110001280) + 1693 at jsfun.cpp:1312
    frame #507: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000376c680)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #508: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000376c680, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #509: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000376f558) + 49892 at Interpreter.cpp:2609
    frame #510: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000376f558) + 571 at Interpreter.cpp:452
    frame #511: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000376fd50, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #512: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x0000000110001090) + 1693 at jsfun.cpp:1312
    frame #513: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003770fb0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #514: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003770fb0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #515: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003773e88) + 49892 at Interpreter.cpp:2609
    frame #516: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003773e88) + 571 at Interpreter.cpp:452
    frame #517: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003774680, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #518: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9daa20) + 1693 at jsfun.cpp:1312
    frame #519: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037758e0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #520: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037758e0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #521: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037787b8) + 49892 at Interpreter.cpp:2609
    frame #522: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037787b8) + 571 at Interpreter.cpp:452
    frame #523: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003778fb0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #524: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9da830) + 1693 at jsfun.cpp:1312
    frame #525: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000377a210)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #526: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000377a210, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #527: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000377d0e8) + 49892 at Interpreter.cpp:2609
    frame #528: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000377d0e8) + 571 at Interpreter.cpp:452
    frame #529: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000377d8e0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #530: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9da640) + 1693 at jsfun.cpp:1312
    frame #531: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000377eb40)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #532: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000377eb40, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #533: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003781a18) + 49892 at Interpreter.cpp:2609
    frame #534: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003781a18) + 571 at Interpreter.cpp:452
    frame #535: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003782210, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #536: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9da450) + 1693 at jsfun.cpp:1312
    frame #537: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003783470)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #538: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003783470, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #539: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003786348) + 49892 at Interpreter.cpp:2609
    frame #540: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003786348) + 571 at Interpreter.cpp:452
    frame #541: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003786b40, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #542: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9da260) + 1693 at jsfun.cpp:1312
    frame #543: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003787da0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #544: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003787da0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #545: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000378ac78) + 49892 at Interpreter.cpp:2609
    frame #546: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000378ac78) + 571 at Interpreter.cpp:452
    frame #547: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000378b470, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #548: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9da070) + 1693 at jsfun.cpp:1312
    frame #549: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000378c6d0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #550: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000378c6d0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #551: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000378f5a8) + 49892 at Interpreter.cpp:2609
    frame #552: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000378f5a8) + 571 at Interpreter.cpp:452
    frame #553: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000378fda0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #554: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d9e80) + 1693 at jsfun.cpp:1312
    frame #555: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003791000)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #556: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003791000, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #557: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003793ed8) + 49892 at Interpreter.cpp:2609
    frame #558: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003793ed8) + 571 at Interpreter.cpp:452
    frame #559: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037946d0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #560: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d9c90) + 1693 at jsfun.cpp:1312
    frame #561: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x0000700003795930)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #562: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003795930, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #563: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x0000700003798808) + 49892 at Interpreter.cpp:2609
    frame #564: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x0000700003798808) + 571 at Interpreter.cpp:452
    frame #565: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x0000700003799000, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #566: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d1620) + 1693 at jsfun.cpp:1312
    frame #567: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000379a260)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #568: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000379a260, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #569: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x000070000379d138) + 49892 at Interpreter.cpp:2609
    frame #570: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x000070000379d138) + 571 at Interpreter.cpp:452
    frame #571: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000379d930, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #572: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d1430) + 1693 at jsfun.cpp:1312
    frame #573: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x000070000379eb90)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #574: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x000070000379eb90, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #575: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037a1a68) + 49892 at Interpreter.cpp:2609
    frame #576: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037a1a68) + 571 at Interpreter.cpp:452
    frame #577: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037a2260, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #578: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d1240) + 1693 at jsfun.cpp:1312
    frame #579: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037a34c0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #580: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037a34c0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #581: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037a6398) + 49892 at Interpreter.cpp:2609
    frame #582: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037a6398) + 571 at Interpreter.cpp:452
    frame #583: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037a6b90, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #584: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d1050) + 1693 at jsfun.cpp:1312
    frame #585: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037a7df0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #586: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037a7df0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #587: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037aacc8) + 49892 at Interpreter.cpp:2609
    frame #588: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037aacc8) + 571 at Interpreter.cpp:452
    frame #589: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037ab4c0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #590: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d0e60) + 1693 at jsfun.cpp:1312
    frame #591: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037ac720)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #592: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037ac720, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #593: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037af5f8) + 49892 at Interpreter.cpp:2609
    frame #594: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037af5f8) + 571 at Interpreter.cpp:452
    frame #595: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037afdf0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #596: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d0c70) + 1693 at jsfun.cpp:1312
    frame #597: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037b1050)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #598: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037b1050, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #599: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037b3f28) + 49892 at Interpreter.cpp:2609
    frame #600: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037b3f28) + 571 at Interpreter.cpp:452
    frame #601: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037b4720, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #602: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d0a80) + 1693 at jsfun.cpp:1312
    frame #603: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037b5980)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #604: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037b5980, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #605: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037b8858) + 49892 at Interpreter.cpp:2609
    frame #606: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037b8858) + 571 at Interpreter.cpp:452
    frame #607: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037b9050, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #608: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a9d0890) + 1693 at jsfun.cpp:1312
    frame #609: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037ba2b0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #610: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037ba2b0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #611: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037bd188) + 49892 at Interpreter.cpp:2609
    frame #612: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037bd188) + 571 at Interpreter.cpp:452
    frame #613: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037bd980, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #614: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a971440) + 1693 at jsfun.cpp:1312
    frame #615: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037bebe0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #616: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037bebe0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #617: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037c1ab8) + 49892 at Interpreter.cpp:2609
    frame #618: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037c1ab8) + 571 at Interpreter.cpp:452
    frame #619: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037c22b0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #620: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a971250) + 1693 at jsfun.cpp:1312
    frame #621: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037c3510)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #622: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037c3510, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #623: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037c63e8) + 49892 at Interpreter.cpp:2609
    frame #624: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037c63e8) + 571 at Interpreter.cpp:452
    frame #625: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037c6be0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #626: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a971060) + 1693 at jsfun.cpp:1312
    frame #627: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037c7e40)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #628: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037c7e40, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #629: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037cad18) + 49892 at Interpreter.cpp:2609
    frame #630: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037cad18) + 571 at Interpreter.cpp:452
    frame #631: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037cb510, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #632: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010a970b88) + 1693 at jsfun.cpp:1312
    frame #633: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037cc770)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #634: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037cc770, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #635: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037cf648) + 49892 at Interpreter.cpp:2609
    frame #636: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037cf648) + 571 at Interpreter.cpp:452
    frame #637: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037cfe40, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #638: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010b8fd7f0) + 1693 at jsfun.cpp:1312
    frame #639: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037d10a0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #640: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037d10a0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #641: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037d3f78) + 49892 at Interpreter.cpp:2609
    frame #642: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037d3f78) + 571 at Interpreter.cpp:452
    frame #643: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037d4770, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #644: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010b8fd0e8) + 1693 at jsfun.cpp:1312
    frame #645: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037d59d0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #646: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037d59d0, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #647: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037d88a8) + 49892 at Interpreter.cpp:2609
    frame #648: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037d88a8) + 571 at Interpreter.cpp:452
    frame #649: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037d90a0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #650: 0x0000000102db91cd servo`js::fun_apply(cx=0x0000000109c128f0, argc=2, vp=0x000000010b8fccc8) + 1693 at jsfun.cpp:1312
    frame #651: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_apply(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1246), args=0x00007000037da300)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #652: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037da300, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #653: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037dd1d8) + 49892 at Interpreter.cpp:2609
    frame #654: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037dd1d8) + 571 at Interpreter.cpp:452
    frame #655: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037dd9d0, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #656: 0x0000000102db85fb servo`js::fun_call(cx=0x0000000109c128f0, argc=1, vp=0x000000010b8fcb70) + 571 at jsfun.cpp:1240
    frame #657: 0x000000010274720d servo`js::CallJSNative(cx=0x0000000109c128f0, native=(servo`js::fun_call(JSContext*, unsigned int, JS::Value*) at jsfun.cpp:1222), args=0x00007000037de390)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 173 at jscntxtinlines.h:235
    frame #658: 0x0000000102708847 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037de390, construct=NO_CONSTRUCT) + 1207 at Interpreter.cpp:502
    frame #659: 0x0000000102720c34 servo`Interpret(cx=0x0000000109c128f0, state=0x00007000037e1268) + 49892 at Interpreter.cpp:2609
    frame #660: 0x000000010271485b servo`js::RunScript(cx=0x0000000109c128f0, state=0x00007000037e1268) + 571 at Interpreter.cpp:452
    frame #661: 0x0000000102708985 servo`js::Invoke(cx=0x0000000109c128f0, args=CallArgs @ 0x00007000037e1a60, construct=NO_CONSTRUCT) + 1525 at Interpreter.cpp:521
    frame #662: 0x00000001026fda3e servo`js::Invoke(cx=0x0000000109c128f0, thisv=0x00007000037e1c70, fval=0x00007000037e1ed8, argc=1, argv=0x000000011bc4b468, rval=JS::MutableHandleValue @ 0x00007000037e1b60) + 894 at Interpreter.cpp:558
    frame #663: 0x0000000102d0e2d4 servo`JS_CallFunctionValue(cx=0x0000000109c128f0, obj=JS::HandleObject @ 0x00007000037e1cb8, fval=JS::HandleValue @ 0x00007000037e1cb0, args=0x00007000037e1e68, rval=JS::MutableHandleValue @ 0x00007000037e1ca8) + 324 at jsapi.cpp:4336
    frame #664: 0x0000000100a7d614 servo`script::dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull::Call(self=0x0000000114870390, cx=0x0000000109c128f0, aThisObj=Handle<*mut js::jsapi_macos_64::JSObject> @ 0x00007000037e1fb0, event=0x000000011491f400) + 1476 at EventHandlerBinding.rs:167
    frame #665: 0x0000000100f8ecd6 servo`script::dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull::Call_<script::dom::eventtarget::EventTarget>(self=0x0000000114870390, thisObj=0x000000012449ad80, event=0x000000011491f400, aExceptionHandling=Report) + 630 at EventHandlerBinding.rs:143
    frame #666: 0x0000000100f8d67b servo`script::dom::eventtarget::CompiledEventListener::call_or_handle_event<script::dom::eventtarget::EventTarget>(self=0x0000000121eeede0, object=0x000000012449ad80, event=0x000000011491f400, exception_handle=Report) + 667 at eventtarget.rs:214
    frame #667: 0x0000000100f8d31f servo`script::dom::eventdispatcher::handle_event(window=Option<&script::dom::window::Window> @ 0x00007000037e2910, listener=0x0000000121eeede0, current_target=0x000000012449ad80, event=0x000000011491f400) + 255 at eventdispatcher.rs:47
    frame #668: 0x0000000100f93328 servo`script::dom::eventdispatcher::inner_invoke(window=Option<&script::dom::window::Window> @ 0x00007000037e29d8, object=0x000000012449ad80, event=0x000000011491f400, listeners=&[script::dom::eventtarget::CompiledEventListener] @ 0x00007000037e29b8) + 280 at eventdispatcher.rs:215
    frame #669: 0x0000000100f8fc3e servo`script::dom::eventdispatcher::invoke(window=Option<&script::dom::window::Window> @ 0x00007000037e2b00, object=0x000000012449ad80, event=0x000000011491f400, specific_listener_phase=Option<script::dom::eventtarget::ListenerPhase> @ 0x00007000037e2ae8) + 558 at eventdispatcher.rs:190
    frame #670: 0x0000000100f8f2aa servo`script::dom::eventdispatcher::dispatch_to_listeners(event=0x000000011491f400, target=0x000000012449ad80, event_path=&[&script::dom::eventtarget::EventTarget] @ 0x00007000037e2dc8) + 1466 at eventdispatcher.rs:84
    frame #671: 0x0000000100f90aaa servo`script::dom::eventdispatcher::dispatch_event(target=0x000000012449ad80, target_override=Option<&script::dom::eventtarget::EventTarget> @ 0x00007000037e3380, event=0x000000011491f400) + 3306 at eventdispatcher.rs:148
    frame #672: 0x0000000100888fd4 servo`script::dom::eventtarget::EventTarget::dispatch_event(self=0x000000012449ad80, event=0x000000011491f400) + 36 at eventtarget.rs:320
    frame #673: 0x0000000100ec2c2d servo`script::dom::event::Event::fire(self=0x000000011491f400, target=0x000000012449ad80) + 45 at event.rs:297
    frame #674: 0x000000010105dbdf servo`script::dom::htmlscriptelement::HTMLScriptElement::dispatch_event(self=0x000000012449ad80, type_=(data = 2097865012304223517), bubbles=DoesNotBubble, cancelable=NotCancelable) + 319 at htmlscriptelement.rs:542
    frame #675: 0x000000010105da70 servo`script::dom::htmlscriptelement::HTMLScriptElement::dispatch_load_event(self=0x000000012449ad80) + 48 at htmlscriptelement.rs:480
    frame #676: 0x0000000100ee0ee6 servo`script::dom::htmlscriptelement::HTMLScriptElement::execute(self=0x000000012449ad80) + 4678 at htmlscriptelement.rs:449
    frame #677: 0x0000000100edc64a servo`script::dom::document::Document::process_asap_scripts(self=0x000000011bc4f500) + 1402 at document.rs:1374
    frame #678: 0x000000010088254d servo`script::dom::document::Document::finish_load(self=0x000000011bc4f500, load=LoadType @ 0x00007000037e4b58) + 317 at document.rs:1276
    frame #679: 0x0000000101055e00 servo`script::dom::htmlscriptelement::ScriptContext.AsyncResponseListener::response_complete(self=0x00000001245f8218, status=Result<(), collections::string::String> @ 0x00007000037e5168) + 800 at htmlscriptelement.rs:162
    frame #680: 0x00000001020d804c servo`net_traits::ResponseAction::process(self=ResponseAction @ 0x00007000037e5410, listener=&mut AsyncResponseListener @ 0x00007000037e5400) + 524 at lib.rs:142
    frame #681: 0x000000010105c5e7 servo`script::network_listener::ListenerRunnable<T>.Runnable::handler(self=0x00000001149df180) + 487 at network_listener.rs:48
    frame #682: 0x000000010124f252 servo`script::script_thread::ScriptThread::handle_msg_from_script(self=0x00007000037e97b8, msg=MainThreadScriptMsg @ 0x00007000037e5c40) + 1106 at script_thread.rs:1072
    frame #683: 0x00000001012cf2b0 servo`fnfn + 384 at script_thread.rs:915
    frame #684: 0x00000001012cee76 servo`script::script_thread::ScriptThread::profile_event<closure,core::option::Option<bool>>(self=0x00007000037e97b8, category=NetworkEvent, f=closure @ 0x00007000037e65e8) + 950 at script_thread.rs:1006
    frame #685: 0x00000001012a215b servo`script::script_thread::ScriptThread::handle_msgs(self=0x00007000037e97b8) + 7419 at script_thread.rs:907
    frame #686: 0x000000010124b38d servo`script::script_thread::ScriptThread::start(self=0x00007000037e97b8) + 29 at script_thread.rs:765
    frame #687: 0x000000010124b231 servo`fnfn + 49 at script_thread.rs:550
    frame #688: 0x000000010124af7d servo`script::mem::ProfilerChan::run_with_memory_reporting<closure,fn(profile_traits::mem::ReportsChan) -> script::script_thread::CommonScriptMsg,script::script_thread::CommonScriptMsg,Box<ScriptChan>>(self=0x00007000037e99e8, f=closure @ 0x00007000037e90c0, reporter_name=String @ 0x00007000037e90a8, channel_for_reporter=Box<ScriptChan> @ 0x00007000037e9098, msg=(servo`ref183346)) + 573 at mem.rs:59
    frame #689: 0x00000001012363b7 servo`fnfn + 2039 at script_thread.rs:549
    frame #690: 0x0000000101235918 servo`fnfn + 104 at thread.rs:52
    frame #691: 0x0000000101235304 servo`fnfn + 116 at mod.rs:278
    frame #692: 0x0000000101235279 servo`script::sys_common::unwind::try::try_fn<closure>(opt_closure="") + 73 at mod.rs:127
    frame #693: 0x00000001035e0e9c servo`__rust_try + 12
    frame #694: 0x00000001035e0e24 servo`sys_common::unwind::inner_try::hdf6affff6fc30ecdNWt + 116
    frame #695: 0x00000001012351b6 servo`script::sys_common::unwind::try<closure>(f=closure @ 0x00007000037ea690) + 150 at mod.rs:123
    frame #696: 0x0000000101234fef servo`fnfn + 431 at mod.rs:278
    frame #697: 0x0000000101235b38 servo`script::boxed::F.FnBox<A>::call_box(self=0x0000000119642000, args=<unavailable>) + 104 at boxed.rs:541
    frame #698: 0x00000001035e483d servo`sys::thread::Thread::new::thread_start::he33a0e5f2597fcdejOy + 61
    frame #699: 0x00007fff90e36c13 libsystem_pthread.dylib`_pthread_body + 131
    frame #700: 0x00007fff90e36b90 libsystem_pthread.dylib`_pthread_start + 168
    frame #701: 0x00007fff90e34375 libsystem_pthread.dylib`thread_start + 13
(lldb) 
@jdm
Copy link
Member

@jdm jdm commented Mar 29, 2016

#jsapi says we're missing JS_SetNativeStackQuota. See example from Gecko.

pcwalton added a commit to pcwalton/rust-mozjs that referenced this issue Mar 29, 2016
pcwalton added a commit to pcwalton/rust-mozjs that referenced this issue Mar 30, 2016
@pcwalton
Copy link
Contributor

@pcwalton pcwalton commented Mar 30, 2016

For what it's worth, this is likely not exploitable due to the guard page correctly catching the stack overflow and bringing down the process. If some way to overshoot the guard page could be found, though, it would be.

bors-servo added a commit to servo/rust-mozjs that referenced this issue Mar 30, 2016
Set the native stack quota per Gecko's defaults to defend against JavaScript stack overflows.

Addresses servo/servo#10229.

r? @jdm

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/rust-mozjs/249)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Mar 30, 2016
Update js (fixes #10229).

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10283)
<!-- Reviewable:end -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
6 participants
You can’t perform that action at this time.