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

test-background-fetch-permission.html panics with "assertion failed: !JS_IsExceptionPending(cx)" when rejecting a promise #23645

Closed
jdm opened this issue Jun 27, 2019 · 9 comments

Comments

@jdm
Copy link
Member

@jdm jdm commented Jun 27, 2019

To reproduce, run ./mach test-wpt /permissions/test-background-fetch-permission.html --pref dom.permissions.enabled.

Stack trace:

 0:08.81 pid:43062 stack backtrace:
 0:08.81 pid:43062    0: __ZN9backtrace9backtrace20trace_unsynchronized17hb6cc618e5dfe44c1E (0x116742dfc)
 0:08.81 pid:43062              at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.26/src/backtrace/mod.rs:66
 0:08.82 pid:43062    1: __ZN9backtrace9backtrace5trace17h01201da60eac6e66E (0x116742d82)
 0:08.82 pid:43062              at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.26/src/backtrace/mod.rs:53
 0:08.82 pid:43062    2: __ZN9backtrace7capture9Backtrace6create17hf9586ac2b3b05b79E (0x1167328a6)
 0:08.82 pid:43062              at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.26/src/capture.rs:163
 0:08.82 pid:43062    3: __ZN9backtrace7capture9Backtrace3new17h4c2e2bf10cc5a82fE (0x1167327e4)
 0:08.82 pid:43062              at /Users/jdm/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.26/src/capture.rs:126
 0:08.82 pid:43062    4: __ZN5servo4main28_$u7b$$u7b$closure$u7d$$u7d$17h71cc5ede7c49cd30E (0x10e881804)
 0:08.82 pid:43062              at /Users/jdm/src/master-servo/ports/glutin/main2.rs:119
 0:08.82 pid:43062    5: __ZN3std9panicking20rust_panic_with_hook17h7c45ae722ecd7c4eE (0x11703a100)
 0:08.82 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panicking.rs:479
 0:08.85 pid:43062    6: __ZN3std9panicking11begin_panic17h038017408218ae80E (0x115291a90)
 0:08.85 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panicking.rs:409
 0:08.85 pid:43062    7: __ZN6script3dom8bindings5error5Error8to_jsval17h6924d0f195234be6E (0x11146c428)
 0:08.85 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/bindings/error.rs:306
 0:08.85 pid:43062    8: __ZN6script3dom7promise7Promise12reject_error17h521fbb84c9efa79fE (0x10ff08ef7)
 0:08.85 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/promise.rs:204
 0:08.85 pid:43062    9: __ZN6script3dom11permissions11Permissions10manipulate17hf48f5f09caa1ff0fE (0x1119bedf4)
 0:08.85 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/permissions.rs:114
 0:08.85 pid:43062   10: __ZN158_$LT$script..dom..permissions..Permissions$u20$as$u20$script..dom..bindings..codegen..Bindings..PermissionsBinding..PermissionsBinding..PermissionsMethods$GT$5Query17h3411803baf97aea5E (0x1119bfa8a)
 0:08.85 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/permissions.rs:209
 0:08.85 pid:43062   11: __ZN6script3dom8bindings7codegen8Bindings18PermissionsBinding18PermissionsBinding5query28_$u7b$$u7b$closure$u7d$$u7d$17hbbf3644a81167ec9E (0x111a99aa5)
 0:08.85 pid:43062              at /Users/jdm/src/master-servo/target/debug/build/script-5418eda94acc31a4/out/Bindings/PermissionsBinding.rs:536
 0:08.85 pid:43062   12: __ZN4core3ops8function6FnOnce9call_once17hb1dad0a332956ff2E (0x11049121c)
 0:08.85 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libcore/ops/function.rs:231
 0:08.85 pid:43062   13: __ZN101_$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$9call_once17h3b2bd2d108164813E (0x1112e7017)
 0:08.86 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panic.rs:309
 0:08.86 pid:43062   14: __ZN3std9panicking3try7do_call17h4f003b510d1caa6cE (0x10f568874)
 0:08.86 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panicking.rs:294
 0:08.86 pid:43062   15: ___rust_maybe_catch_panic (0x11704281e)
 0:08.86 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libpanic_unwind/lib.rs:82
 0:08.86 pid:43062   16: __ZN3std9panicking3try17h1712bf3b8ead0a37E (0x10f34a642)
 0:08.86 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panicking.rs:273
 0:08.86 pid:43062   17: __ZN3std5panic12catch_unwind17h22b9996a130b9eb6E (0x1113938ae)
 0:08.86 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panic.rs:388
 0:08.86 pid:43062   18: __ZN5mozjs5panic10wrap_panic17h6f30f0fafd158a14E (0x1108b7096)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/rust-mozjs-8611526964119dd6/bea7b5c/src/panic.rs:22
 0:08.86 pid:43062   19: __ZN6script3dom8bindings7codegen8Bindings18PermissionsBinding18PermissionsBinding5query17hb52ba693d5fcd346E (0x111a99642)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/target/debug/build/script-5418eda94acc31a4/out/Bindings/PermissionsBinding.rs:520
 0:08.86 pid:43062   20: _CallJitMethodOp (0x1122a046c)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/rust-mozjs-8611526964119dd6/bea7b5c/src/jsglue.cpp:553
 0:08.86 pid:43062   21: __ZN6script3dom8bindings5utils12generic_call17h85a78bdf381ca94cE (0x10ff00210)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/bindings/utils.rs:479
 0:08.86 pid:43062   22: __ZN6script3dom8bindings5utils14generic_method17he1ea7ace3bdb6f06E (0x10ff002eb)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/bindings/utils.rs:495
 0:08.86 pid:43062   23: __Z12CallJSNativeP9JSContextPFbS0_jPN2JS5ValueEERKNS1_8CallArgsE (0x1122e0ba3)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:441
 0:08.86 pid:43062   24: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (0x1122e07df)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:533
 0:08.86 pid:43062   25: __ZL12InternalCallP9JSContextRKN2js13AnyInvokeArgsE (0x1122e10b9)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:588
 0:08.86 pid:43062   26: __ZN2js13CallFromStackEP9JSContextRKN2JS8CallArgsE (0x1122e0eac)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:592
 0:08.86 pid:43062   27: __ZL9InterpretP9JSContextRN2js8RunStateE (0x1122d4994)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:3069
 0:08.86 pid:43062   28: __ZN2js9RunScriptEP9JSContextRNS_8RunStateE (0x1122c9834)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:421
 0:08.86 pid:43062   29: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (0x1122e0991)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:561
 0:08.86 pid:43062   30: __ZL12InternalCallP9JSContextRKN2js13AnyInvokeArgsE (0x1122e10b9)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:588
 0:08.86 pid:43062   31: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EE (0x1122e1132)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:604
 0:08.86 pid:43062   32: __ZN2js9fun_applyEP9JSContextjPN2JS5ValueE (0x112503ff7)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/JSFunction.cpp:1218
 0:08.86 pid:43062   33: __Z12CallJSNativeP9JSContextPFbS0_jPN2JS5ValueEERKNS1_8CallArgsE (0x1122e0ba3)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:441
 0:08.86 pid:43062   34: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (0x1122e07df)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:533
 0:08.86 pid:43062   35: __ZL12InternalCallP9JSContextRKN2js13AnyInvokeArgsE (0x1122e10b9)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:588
 0:08.86 pid:43062   36: __ZN2js13CallFromStackEP9JSContextRKN2JS8CallArgsE (0x1122e0eac)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:592
 0:08.86 pid:43062   37: __ZL9InterpretP9JSContextRN2js8RunStateE (0x1122d4994)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:3069
 0:08.86 pid:43062   38: __ZN2js9RunScriptEP9JSContextRNS_8RunStateE (0x1122c9834)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:421
 0:08.86 pid:43062   39: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (0x1122e0991)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:561
 0:08.86 pid:43062   40: __ZL12InternalCallP9JSContextRKN2js13AnyInvokeArgsE (0x1122e10b9)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:588
 0:08.86 pid:43062   41: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EE (0x1122e1132)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:604
 0:08.86 pid:43062   42: __ZN2js13PromiseObject6createEP9JSContextN2JS6HandleIP8JSObjectEES7_b (0x11236cdb2)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/builtin/Promise.cpp:2188
 0:08.86 pid:43062   43: __ZL18PromiseConstructorP9JSContextjPN2JS5ValueE (0x11238bd71)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/builtin/Promise.cpp:2110
 0:08.86 pid:43062   44: __Z12CallJSNativeP9JSContextPFbS0_jPN2JS5ValueEERKNS1_8CallArgsE (0x1122e0ba3)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:441
 0:08.86 pid:43062   45: __Z23CallJSNativeConstructorP9JSContextPFbS0_jPN2JS5ValueEERKNS1_8CallArgsE (0x1122ec429)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:457
 0:08.86 pid:43062   46: __ZL17InternalConstructP9JSContextRKN2js16AnyConstructArgsE (0x1122e167d)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:631
 0:08.86 pid:43062   47: __ZN2js18ConstructFromStackEP9JSContextRKN2JS8CallArgsE (0x1122e11fd)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:677
 0:08.86 pid:43062   48: __ZL9InterpretP9JSContextRN2js8RunStateE (0x1122d482c)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:3060
 0:08.86 pid:43062   49: __ZN2js9RunScriptEP9JSContextRNS_8RunStateE (0x1122c9834)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:421
 0:08.86 pid:43062   50: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (0x1122e0991)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:561
 0:08.86 pid:43062   51: __ZL12InternalCallP9JSContextRKN2js13AnyInvokeArgsE (0x1122e10b9)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:588
 0:08.86 pid:43062   52: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EE (0x1122e1132)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:604
 0:08.86 pid:43062   53: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_S5_NS2_13MutableHandleIS4_EE (0x1125303c8)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.h:98
 0:08.86 pid:43062   54: __ZL18PromiseReactionJobP9JSContextjPN2JS5ValueE (0x112390eef)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/builtin/Promise.cpp:1651
 0:08.86 pid:43062   55: __Z12CallJSNativeP9JSContextPFbS0_jPN2JS5ValueEERKNS1_8CallArgsE (0x1122e0ba3)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:441
 0:08.86 pid:43062   56: __ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE (0x1122e07df)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:533
 0:08.86 pid:43062   57: __ZL12InternalCallP9JSContextRKN2js13AnyInvokeArgsE (0x1122e10b9)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:588
 0:08.86 pid:43062   58: __ZN2js4CallEP9JSContextN2JS6HandleINS2_5ValueEEES5_RKNS_13AnyInvokeArgsENS2_13MutableHandleIS4_EE (0x1122e1132)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/vm/Interpreter.cpp:604
 0:08.86 pid:43062   59: __Z20JS_CallFunctionValueP9JSContextN2JS6HandleIP8JSObjectEENS2_INS1_5ValueEEERKNS1_16HandleValueArrayENS1_13MutableHandleIS6_EE (0x11288c427)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/05c7d30/mozjs/js/src/jsapi.cpp:2560
 0:08.86 pid:43062   60: __ZN5mozjs4rust8wrappers20JS_CallFunctionValue17h961d44876cfe1645E (0x110d37bc6)
 0:08.86 pid:43062              at /Users/jdm/.cargo/git/checkouts/rust-mozjs-8611526964119dd6/bea7b5c/src/rust.rs:1341
 0:08.86 pid:43062   61: __ZN6script3dom8bindings7codegen8Bindings14PromiseBinding18PromiseJobCallback4Call17h58ab1613ca8c69f5E (0x111241f73)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/target/debug/build/script-5418eda94acc31a4/out/Bindings/PromiseBinding.rs:301
 0:08.86 pid:43062   62: __ZN6script3dom8bindings7codegen8Bindings14PromiseBinding18PromiseJobCallback5Call_17h11724677abe7cdfbE (0x111241bf9)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/target/debug/build/script-5418eda94acc31a4/out/Bindings/PromiseBinding.rs:285
 0:08.86 pid:43062   63: __ZN6script9microtask14MicrotaskQueue10checkpoint17hcb75b9f38183cafaE (0x1114d9c59)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/microtask.rs:83
 0:08.86 pid:43062   64: __ZN6script3dom11globalscope11GlobalScope30perform_a_microtask_checkpoint17h783ba6b8bd8ac642E (0x11147bc0f)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/globalscope.rs:667
 0:08.86 pid:43062   65: __ZN96_$LT$script..dom..bindings..settings_stack..AutoEntryScript$u20$as$u20$core..ops..drop..Drop$GT$4drop17hecd3518c7abe2524E (0x111189339)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/bindings/settings_stack.rs:80
 0:08.86 pid:43062   66: __ZN4core3ptr18real_drop_in_place17h1d7ff0609223b882E (0x1104c25f4)
 0:08.86 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libcore/ptr/mod.rs:197
 0:08.86 pid:43062   67: __ZN6script3dom11globalscope11GlobalScope37evaluate_script_on_global_with_result28_$u7b$$u7b$closure$u7d$$u7d$17h0a8359cde01c38f0E (0x11147b638)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/globalscope.rs:582
 0:08.86 pid:43062   68: __ZN14profile_traits4time7profile17h38049335899a37b7E (0x10f99def1)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/profile_traits/time.rs:146
 0:08.86 pid:43062   69: __ZN6script3dom11globalscope11GlobalScope37evaluate_script_on_global_with_result17heb58c9a23078df7fE (0x11147b14e)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/globalscope.rs:551
 0:08.86 pid:43062   70: __ZN6script3dom17htmlscriptelement17HTMLScriptElement20run_a_classic_script17ha67ca825411aadf2E (0x1119b81c9)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/htmlscriptelement.rs:660
 0:08.86 pid:43062   71: __ZN6script3dom17htmlscriptelement17HTMLScriptElement7execute17h40f9ce18e7e9d3e3E (0x1119b7b90)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/htmlscriptelement.rs:626
 0:08.86 pid:43062   72: __ZN6script3dom17htmlscriptelement17HTMLScriptElement7prepare17h9cecbd3dfef18147E (0x1119b5be0)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/htmlscriptelement.rs:530
 0:08.86 pid:43062   73: __ZN6script3dom11servoparser11ServoParser8tokenize17h426acea3b0629590E (0x110e324a2)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/servoparser/mod.rs:523
 0:08.86 pid:43062   74: __ZN6script3dom11servoparser11ServoParser13do_parse_sync17h946ccbd1485c124bE (0x110e31da2)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/servoparser/mod.rs:477
 0:08.86 pid:43062   75: __ZN6script3dom11servoparser11ServoParser10parse_sync28_$u7b$$u7b$closure$u7d$$u7d$17h5d89ae0adab04497E (0x110e31ac7)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/servoparser/mod.rs:459
 0:08.86 pid:43062   76: __ZN14profile_traits4time7profile17h84cb1df3f3ef7dfdE (0x10f9a12c4)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/profile_traits/time.rs:146
 0:08.86 pid:43062   77: __ZN6script3dom11servoparser11ServoParser10parse_sync17h1a48904b82e90d16E (0x110e31a32)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/servoparser/mod.rs:451
 0:08.86 pid:43062   78: __ZN6script3dom11servoparser11ServoParser43resume_with_pending_parsing_blocking_script17h837bf105c9ad15a0E (0x110e2fefa)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/servoparser/mod.rs:296
 0:08.86 pid:43062   79: __ZN6script3dom8document8Document39process_pending_parsing_blocking_script17hb4bcea6ac3d1dc5fE (0x1111a2262)
 0:08.86 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/document.rs:2095
 0:08.87 pid:43062   80: __ZN6script3dom8document8Document38pending_parsing_blocking_script_loaded17h598616e5274b6efaE (0x1111a1f09)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/document.rs:2081
 0:08.87 pid:43062   81: __ZN99_$LT$script..dom..htmlscriptelement..ScriptContext$u20$as$u20$net_traits..FetchResponseListener$GT$20process_response_eof17hf9d79132cd037196E (0x1119b2e8a)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/dom/htmlscriptelement.rs:244
 0:08.87 pid:43062   82: __ZN76_$LT$net_traits..FetchResponseMsg$u20$as$u20$net_traits..Action$LT$T$GT$$GT$7process17hd211a5c426ec6e8cE (0x10fc93c06)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/net_traits/lib.rs:260
 0:08.87 pid:43062   83: __ZN101_$LT$script..network_listener..ListenerTask$LT$A$C$Listener$GT$$u20$as$u20$script..task..TaskOnce$GT$8run_once17h0c59267f34365760E (0x110141370)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/network_listener.rs:115
 0:08.87 pid:43062   84: __ZN81_$LT$script..task..CancellableTask$LT$T$GT$$u20$as$u20$script..task..TaskOnce$GT$8run_once17hbcba9a8bfe5211bcE (0x10facd06f)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/task.rs:122
 0:08.87 pid:43062   85: __ZN43_$LT$T$u20$as$u20$script..task..TaskBox$GT$7run_box17hb6d064a0c521445cE (0x10fac2723)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/task.rs:64
 0:08.87 pid:43062   86: __ZN6script13script_thread12ScriptThread22handle_msg_from_script17h413709cda6394ecbE (0x1114ece3b)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/script_thread.rs:1741
 0:08.87 pid:43062   87: __ZN6script13script_thread12ScriptThread11handle_msgs28_$u7b$$u7b$closure$u7d$$u7d$17h5add8dcb8369abcfE (0x1114e5b3f)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/script_thread.rs:1342
 0:08.87 pid:43062   88: __ZN6script13script_thread12ScriptThread13profile_event17hb101675dcb9d4066E (0x1114e9be3)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/script_thread.rs:1578
 0:08.87 pid:43062   89: __ZN6script13script_thread12ScriptThread11handle_msgs17hc72f0d74dba76f7bE (0x1114e3b7f)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/script_thread.rs:1335
 0:08.87 pid:43062   90: __ZN6script13script_thread12ScriptThread5start17hf9df9b4a6f0a63dcE (0x1114e14bc)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/script_thread.rs:1168
 0:08.87 pid:43062   91: __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$17h851d254ac927ab09E (0x1114dc414)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/script_thread.rs:732
 0:08.87 pid:43062   92: __ZN14profile_traits3mem12ProfilerChan25run_with_memory_reporting17h3222983ae65ff1a0E (0x10f99bbe7)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/profile_traits/mem.rs:88
 0:08.87 pid:43062   93: __ZN90_$LT$script..script_thread..ScriptThread$u20$as$u20$script_traits..ScriptThreadFactory$GT$6create28_$u7b$$u7b$closure$u7d$$u7d$17h2c9083ce1f360f78E (0x1114dca58)
 0:08.87 pid:43062              at /Users/jdm/src/master-servo/components/script/script_thread.rs:730
 0:08.87 pid:43062   94: __ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h1633c4b7303ca74aE (0x10fdefeb2)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/sys_common/backtrace.rs:77
 0:08.87 pid:43062   95: __ZN3std6thread7Builder15spawn_unchecked28_$u7b$$u7b$closure$u7d$$u7d$28_$u7b$$u7b$closure$u7d$$u7d$17hdaf31e1ce2d92e6aE (0x111ae0b52)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/thread/mod.rs:470
 0:08.87 pid:43062   96: __ZN101_$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$9call_once17h12dff7c6ad0b3792E (0x1112d9712)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panic.rs:309
 0:08.87 pid:43062   97: __ZN3std9panicking3try7do_call17h26ce8088e75ec592E (0x10f54f162)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panicking.rs:294
 0:08.87 pid:43062   98: ___rust_maybe_catch_panic (0x11704281e)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libpanic_unwind/lib.rs:82
 0:08.87 pid:43062   99: __ZN3std9panicking3try17hac3f2761440aee7cE (0x10f4824c4)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panicking.rs:273
 0:08.87 pid:43062  100: __ZN3std5panic12catch_unwind17h85e6a474318b4c80E (0x1113b4232)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/panic.rs:388
 0:08.87 pid:43062  101: __ZN3std6thread7Builder15spawn_unchecked28_$u7b$$u7b$closure$u7d$$u7d$17h47370269290503feE (0x111adf08b)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libstd/thread/mod.rs:469
 0:08.87 pid:43062  102: __ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17h2b6c98b38146d589E (0x11044f994)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/libcore/ops/function.rs:231
 0:08.87 pid:43062  103: __ZN83_$LT$alloc..boxed..Box$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$9call_once17he9741b9c5e7eb28cE (0x117029aed)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/liballoc/boxed.rs:746
 0:08.87 pid:43062  104: __ZN3std3sys4unix6thread6Thread3new12thread_start17h3570aea1d6681281E (0x117041d3d)
 0:08.87 pid:43062              at /rustc/04a3dd8a872633ca1e4c217d11f741cc35cb19a5/src/liballoc/boxed.rs:746
 0:08.87 pid:43062  105: __pthread_body (0x7fff692932ea)
 0:08.87 pid:43062  106: __pthread_start (0x7fff69296248)
@jdm
Copy link
Member Author

@jdm jdm commented Jun 27, 2019

This looks like this occurs because Permissions::create_descriptor calls PermissionDescriptor::new on the input permission descriptor JS object, which returns an Err value indicating that there is a new JS exception that has been raised as a result of the attempted conversion. We return an Error::Type from Permissions::create_descriptor as a result, which upon converting to a JSVal attempts to set a JS exception and panics because one is already present.

@jdm
Copy link
Member Author

@jdm jdm commented Jun 27, 2019

I think we're not following step 1 of https://w3c.github.io/permissions/#dom-permissions-query correctly - it says "If this throws an exception, return a promise rejected with that exception and abort these steps", but we're discarding the actual exception value raised. There are a couple steps to fixing this:

  1. Return Error::JSFailed in Permissions::create_descriptor instead of creating a new error value
  2. In Error::to_jsval, only assert that no JS exception is pending if the Error value being converted is not Error::JSFailed

This should give us much more sensible behaviour.

@jdm jdm added the E-easy label Jun 27, 2019
@highfive
Copy link

@highfive highfive commented Jun 27, 2019

Hi! If you have any questions regarding this issue, feel free to make a comment here, or ask it in the #servo channel in IRC.

If you intend to work on this issue, then add @highfive: assign me to your comment, and I'll assign this to you. 😄

bors-servo added a commit that referenced this issue Jun 27, 2019
… r=<try>

Move tinyfiledialog call from script to embedder

<!-- Please describe your changes on the following line: -->

Moves the tinyfiledialog call from script to embedder.
Factored out permission_state_invocation_results API to GlobalScope Instead of Window.

I have implemented this for `ports/glutin/browser.rs` is there other ports that use this?

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix  #23057 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because: I have tested it manually and it seems to work as expected. The current relevant tests seem to fail due to  #23645

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23651)
<!-- Reviewable:end -->
@julientregoat
Copy link
Contributor

@julientregoat julientregoat commented Jun 28, 2019

hey, would like to take this on! I see the Easy tag, but as a first time contributor to the repo, want to see if this is a good fit for my first issue?

thanks!

@jdm
Copy link
Member Author

@jdm jdm commented Jun 28, 2019

@julientregoat Absolutely! Let me know if the description of how to reproduce and solve the problem is unclear at all!

@julientregoat
Copy link
Contributor

@julientregoat julientregoat commented Jun 28, 2019

okay awesome, sounds clear enough!

@highfive: assign me

here we go! to the first of many, hopefully

@highfive
Copy link

@highfive highfive commented Jun 28, 2019

Hey @julientregoat! Thanks for your interest in working on this issue. It's now assigned to you!

@highfive highfive added the C-assigned label Jun 28, 2019
bors-servo added a commit that referenced this issue Jun 28, 2019
Run DOM permissions tests in WPT.

We have an implementation, so we should be testing it to catch problems like #23645.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23647)
<!-- Reviewable:end -->
@julientregoat
Copy link
Contributor

@julientregoat julientregoat commented Jun 28, 2019

hey @jdm! So I fixed the panic and the browser is loading the test results. Is that the entire scope of this issue, or am I meant to get the test passing as well?

@jdm
Copy link
Member Author

@jdm jdm commented Jun 28, 2019

Nope, that was the scope!

bors-servo added a commit that referenced this issue Jun 28, 2019
Run DOM permissions tests in WPT.

We have an implementation, so we should be testing it to catch problems like #23645.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23647)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Jul 3, 2019
Fix panic when running test-background-fetch-permission.html

<!-- Please describe your changes on the following line: -->
* Propagate `Error::JSFailed` in `Permissions::create_descriptor`
* In `Error::to_jsval`, only check if a JS exception is not pending if `self` is not `Error::JSFailed`

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23645 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a test runner, so by nature if the test runs the test runner is also working as expected.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23654)
<!-- Reviewable:end -->
bors-servo added a commit that referenced this issue Jul 3, 2019
Fix panic when running test-background-fetch-permission.html

<!-- Please describe your changes on the following line: -->
* Propagate `Error::JSFailed` in `Permissions::create_descriptor`
* In `Error::to_jsval`, only check if a JS exception is not pending if `self` is not `Error::JSFailed`

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #23645 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a test runner, so by nature if the test runs the test runner is also working as expected.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23654)
<!-- 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.

3 participants
You can’t perform that action at this time.