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

User scripts that throw an exception during initial execution trigger a panic #22696

Open
jdm opened this issue Jan 15, 2019 · 0 comments
Open

User scripts that throw an exception during initial execution trigger a panic #22696

jdm opened this issue Jan 15, 2019 · 0 comments

Comments

@jdm
Copy link
Member

@jdm jdm commented Jan 15, 2019

This happens because the error event is fired, and the script is executed while the parser is active (and thus any document.write call would trigger a borrow error). We should probably find a way to treat this more like an inline script element, rather than executing the JS directly.

[2019-01-15T19:34:59Z ERROR script::dom::bindings::error] Error at :1:0 illegal character
assertion failed: window.Document().can_invoke_script() (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(2) }, at components/script/dom/eventtarget.rs:378)
stack backtrace:
   0:        0x113ae5e64 - __ZN9backtrace9backtrace5trace17h639040ad2b3cb7adE
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.9/src/backtrace/mod.rs:42
   1:        0x113adf03c - __ZN9backtrace7capture9Backtrace14new_unresolved17hfc3d3fdb95744dbfE
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.9/src/capture.rs:88
   2:        0x113adef9e - __ZN9backtrace7capture9Backtrace3new17h1adc7c431d21dc98E
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.9/src/capture.rs:63
   3:        0x10da95da6 - __ZN5servo4main28_$u7b$$u7b$closure$u7d$$u7d$17h75ee57e8c3524930E
                        at ports/servo/non_android_main.rs:111
   4:        0x115896d61 - __ZN3std9panicking20rust_panic_with_hook17hbc6de5ef7bb3bf80E
                        at src/libstd/panicking.rs:482
   5:        0x115801de7 - __ZN3std9panicking11begin_panic17h6b603b71cad5a3aeE
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/libstd/panicking.rs:412
   6:        0x110a9635d - __ZN6script3dom11eventtarget11EventTarget14dispatch_event17h98b0dcdc0b98643aE
                        at components/script/dom/eventtarget.rs:378
   7:        0x1105a4e0a - __ZN6script3dom5event5Event4fire17h8b72f900111a1cf0E
                        at components/script/dom/event.rs:241
   8:        0x1102b49d9 - __ZN6script3dom11globalscope11GlobalScope15report_an_error17hed7f363017b4a8f4E
                        at components/script/dom/globalscope.rs:440
   9:        0x10fd05f22 - __ZN6script3dom8bindings5error24report_pending_exception17he89f9aa7e1a7c974E
                        at components/script/dom/bindings/error.rs:281
  10:        0x1102b5723 - __ZN6script3dom11globalscope11GlobalScope37evaluate_script_on_global_with_result28_$u7b$$u7b$closure$u7d$$u7d$17h550fac164f0d9f8bE
                        at components/script/dom/globalscope.rs:561
  11:        0x110b0ce50 - __ZN14profile_traits4time7profile17hd7b62b2f6d581ee0E
                        at /Users/jdm/src/servo/components/profile_traits/time.rs:142
  12:        0x1102b5200 - __ZN6script3dom11globalscope11GlobalScope37evaluate_script_on_global_with_result17had1e814ac6e39528E
                        at components/script/dom/globalscope.rs:534
  13:        0x1102b4faf - __ZN6script3dom11globalscope11GlobalScope33evaluate_js_on_global_with_result17h985514dd3f00c95fE
                        at components/script/dom/globalscope.rs:513
  14:        0x110b052eb - __ZN6script3dom11userscripts11load_script28_$u7b$$u7b$closure$u7d$$u7d$17h96be5e282c4682b6E
                        at components/script/dom/userscripts.rs:42
  15:        0x10f0a0100 - __ZN4core3ops8function6FnOnce9call_once17hc3e023b3bd626068E
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/libcore/ops/function.rs:231
  16:        0x110b04c70 - __ZN108_$LT$script..dom..userscripts..load_script..UserScriptExecute$LT$F$GT$$u20$as$u20$script..task..TaskOnce$GT$8run_once17h8968cc4dbcd34b5bE
                        at components/script/task.rs:24
  17:        0x110a1b0df - __ZN43_$LT$T$u20$as$u20$script..task..TaskBox$GT$7run_box17h5a479c4ebf3e5550E
                        at components/script/task.rs:64
  18:        0x10f5520fb - __ZN6script3dom8document8Document32remove_script_and_layout_blocker17h90dcdc9145d6b746E
                        at components/script/dom/document.rs:2772
  19:        0x10f589007 - __ZN6script3dom4node4Node6insert17hdce7a36921274bb4E
                        at components/script/dom/node.rs:1788
  20:        0x10f588095 - __ZN6script3dom4node4Node10pre_insert17h133b41d0ec2782c6E
                        at components/script/dom/node.rs:1680
  21:        0x10f58ddcb - __ZN123_$LT$script..dom..node..Node$u20$as$u20$script..dom..bindings..codegen..Bindings..NodeBinding..NodeBinding..NodeMethods$GT$12InsertBefore17hc8908160548509bbE
                        at components/script/dom/node.rs:2219
  22:        0x10f5a2440 - __ZN6script3dom11servoparser6insert17h4b2dd6fc01580219E
                        at components/script/dom/servoparser/mod.rs:866
  23:        0x10f5a3cad - __ZN97_$LT$script..dom..servoparser..Sink$u20$as$u20$markup5ever..interface..tree_builder..TreeSink$GT$6append17h728cf0f91ecdfc3dE
                        at components/script/dom/servoparser/mod.rs:1035
  24:        0x110a0c5a6 - __ZN71_$LT$html5ever..tree_builder..TreeBuilder$LT$Handle$C$$u20$Sink$GT$$GT$9insert_at17hc20fa9efe6316beaE
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tree_builder/mod.rs:402
  25:        0x1109bb9e8 - __ZN71_$LT$html5ever..tree_builder..TreeBuilder$LT$Handle$C$$u20$Sink$GT$$GT$14insert_element17h7043b4c2052b4735E
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tree_builder/mod.rs:1201
  26:        0x1109c67c5 - __ZN71_$LT$html5ever..tree_builder..TreeBuilder$LT$Handle$C$$u20$Sink$GT$$GT$18insert_element_for17he96c26726a9fdd01E
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tree_builder/mod.rs:1212
  27:        0x1109da8cb - __ZN71_$LT$html5ever..tree_builder..TreeBuilder$LT$Handle$C$$u20$Sink$GT$$GT$4step17h6fec5c7a2f06fc61E
                        at /Users/jdm/src/servo/target/debug/build/html5ever-e28baae1b9a08697/out/rules.rs:52
  28:        0x1109d078c - __ZN71_$LT$html5ever..tree_builder..TreeBuilder$LT$Handle$C$$u20$Sink$GT$$GT$21process_to_completion17h97f094addcf3aeaaE
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tree_builder/mod.rs:314
  29:        0x1108ce5a9 - __ZN125_$LT$html5ever..tree_builder..TreeBuilder$LT$Handle$C$$u20$Sink$GT$$u20$as$u20$html5ever..tokenizer..interface..TokenSink$GT$13process_token17haf5ee2980aee9471E
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tree_builder/mod.rs:476
  30:        0x10f2e90af - __ZN52_$LT$html5ever..tokenizer..Tokenizer$LT$Sink$GT$$GT$13process_token17hff1a31e3644104e6E
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tokenizer/mod.rs:232
  31:        0x10f2ea71f - __ZN52_$LT$html5ever..tokenizer..Tokenizer$LT$Sink$GT$$GT$16emit_current_tag17hdba5dc882cfeaa8aE
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tokenizer/mod.rs:425
  32:        0x10f2f96d4 - __ZN52_$LT$html5ever..tokenizer..Tokenizer$LT$Sink$GT$$GT$4step17hcbd5f97db0621237E
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tokenizer/mod.rs:627
  33:        0x10f2ef21a - __ZN52_$LT$html5ever..tokenizer..Tokenizer$LT$Sink$GT$$GT$3run17he5b0cd1d32546f81E
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tokenizer/mod.rs:361
  34:        0x10f2ef3b3 - __ZN52_$LT$html5ever..tokenizer..Tokenizer$LT$Sink$GT$$GT$4feed17hacdd6de5259da615E
                        at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/html5ever-0.22.5/src/tokenizer/mod.rs:219
  35:        0x110aa51fa - __ZN6script3dom11servoparser4html9Tokenizer4feed17h78dbafc1f939df1aE
                        at components/script/dom/servoparser/html.rs:80
  36:        0x10f59f18c - __ZN6script3dom11servoparser9Tokenizer4feed17h1d5b93424b218a55E
                        at components/script/dom/servoparser/mod.rs:603
  37:        0x10f59e1fe - __ZN6script3dom11servoparser11ServoParser13do_parse_sync28_$u7b$$u7b$closure$u7d$$u7d$17hb81d65f10fcabbf4E
                        at components/script/dom/servoparser/mod.rs:481
  38:        0x10f59e8d4 - __ZN6script3dom11servoparser11ServoParser8tokenize17h9d811b77a783c336E
                        at components/script/dom/servoparser/mod.rs:519
  39:        0x10f59dfb4 - __ZN6script3dom11servoparser11ServoParser13do_parse_sync17h1978751f79a30cb3E
                        at components/script/dom/servoparser/mod.rs:481
  40:        0x10f59dcb7 - __ZN6script3dom11servoparser11ServoParser10parse_sync28_$u7b$$u7b$closure$u7d$$u7d$17he38993c442cb81f2E
                        at components/script/dom/servoparser/mod.rs:463
  41:        0x110b09b36 - __ZN14profile_traits4time7profile17h6bbfd6b50f7c1f69E
                        at /Users/jdm/src/servo/components/profile_traits/time.rs:142
  42:        0x10f59dc22 - __ZN6script3dom11servoparser11ServoParser10parse_sync17h6353cd48e59a3f59E
                        at components/script/dom/servoparser/mod.rs:455
  43:        0x10f5a0b4d - __ZN93_$LT$script..dom..servoparser..ParserContext$u20$as$u20$net_traits..FetchResponseListener$GT$16process_response17ha43dca92ce23795eE
                        at components/script/dom/servoparser/mod.rs:750
  44:        0x110010e1d - __ZN6script13script_thread12ScriptThread21handle_fetch_metadata17h6f54c6ea768efb39E
                        at components/script/script_thread.rs:3274
  45:        0x10fff8e41 - __ZN6script13script_thread12ScriptThread29handle_msg_from_constellation17h270c107535deee62E
                        at components/script/script_thread.rs:1551
  46:        0x10fff2f23 - __ZN6script13script_thread12ScriptThread11handle_msgs28_$u7b$$u7b$closure$u7d$$u7d$17h55be7dc697aa892cE
                        at components/script/script_thread.rs:1287
  47:        0x10fff40b0 - __ZN6script13script_thread12ScriptThread13profile_event17h04c85c8e85b7faf1E
                        at components/script/script_thread.rs:1522
  48:        0x10fff1005 - __ZN6script13script_thread12ScriptThread11handle_msgs17hf2605c765025ae5eE
                        at components/script/script_thread.rs:1281
  49:        0x10ffee9dc - __ZN6script13script_thread12ScriptThread5start17h94b723799d378f58E
                        at components/script/script_thread.rs:1126
  50:        0x10ffe9ed4 - __ZN90_$LT$script..script_thread..ScriptThread$u20$as$u20$script_traits..ScriptThreadFactory$GT$6create28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17he40682aa2d217f4eE
                        at components/script/script_thread.rs:711
  51:        0x1108cfbca - __ZN14profile_traits3mem12ProfilerChan25run_with_memory_reporting17haa007d7001100c18E
                        at /Users/jdm/src/servo/components/profile_traits/mem.rs:88
  52:        0x10ffea4c9 - __ZN90_$LT$script..script_thread..ScriptThread$u20$as$u20$script_traits..ScriptThreadFactory$GT$6create28_$u7b$$u7b$closure$u7d$$u7d$17ha8ed87fc7bf3647cE
                        at components/script/script_thread.rs:709
  53:        0x1108d1772 - __ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h159dc492e0c540f4E
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/libstd/sys_common/backtrace.rs:135
  54:        0x10fbd3a12 - __ZN3std6thread7Builder15spawn_unchecked28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17h5addcaac0c8a7d49E
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/libstd/thread/mod.rs:469
  55:        0x1100f90a2 - __ZN101_$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$9call_once17hdf57eb7152b73189E
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/libstd/panic.rs:309
  56:        0x10e605402 - __ZN3std9panicking3try7do_call17h30150fe65cb52bf6E
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/libstd/panicking.rs:297
  57:        0x11589fc7e - ___rust_maybe_catch_panic
                        at src/libpanic_unwind/lib.rs:92
  58:        0x10e5dd7c4 - __ZN3std9panicking3try17hf5941656f56e489fE
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/libstd/panicking.rs:276
  59:        0x1102007f2 - __ZN3std5panic12catch_unwind17hf68911bf6247c6e1E
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/libstd/panic.rs:388
  60:        0x10fbd14fb - __ZN3std6thread7Builder15spawn_unchecked28_$u7b$$u7b$closure$u7d$$u7d$17h238313f64b2796deE
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/libstd/thread/mod.rs:468
  61:        0x10fbeb273 - __ZN50_$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$8call_box17h721c49a0aa678011E
                        at /rustc/c0bbc3927e28c22edefe6a1353b5ecc95ea9a104/src/liballoc/boxed.rs:724
  62:        0x11589f22b - __ZN3std3sys4unix6thread6Thread3new12thread_start17hc651d155b46de6bdE
                        at src/libstd/sys_common/thread.rs:14
  63:     0x7fffae9ec93a - __pthread_body
  64:     0x7fffae9ec886 - __pthread_start
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
1 participant
You can’t perform that action at this time.