Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign uppanic: cannot access a TLS value during or after it is destroyed: AccessError #21453
Comments
|
In this case TLS refers to thread-local storage. |
|
Using this testcase on commit 0c14880 (2018-03-29) triggers a different panic: mateon@ceres:/shared/dev/rust/servo
$ setarch x86_64 -R ./mach run -dz -f ../../fuzz/domato/class/md5-48fbe03233183a4b6f368272ff827d34/test.html
VMware, Inc.
softpipe
3.3 (Core Profile) Mesa 17.4.0-devel
DomRefCell<T> already mutably borrowed: BorrowError (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(NonZero(NonZero(1))) }, at libcore/result.rs:916)
stack backtrace:
0: 0x55555dbce3b4 - backtrace::backtrace::libunwind::trace::ha3cdbcef574b9dc2
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/backtrace/libunwind.rs:53
- backtrace::backtrace::trace::he9053b6d49715d88
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/backtrace/mod.rs:42
1: 0x55555dbc5b3c - backtrace::capture::Backtrace::new::h69c0fdf670d7d4cd
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.2/src/capture.rs:64
2: 0x5555559bb6af - servo::main::{{closure}}::h149bf00d246e8067
at ports/servo/main.rs:147
3: 0x55555dbe1785 - std::panicking::rust_panic_with_hook::haa00f5a9417cd684
at libstd/panicking.rs:577
4: 0x55555dbe160e - std::panicking::begin_panic::ha956683198499384
at libstd/panicking.rs:537
5: 0x55555dbe150a - std::panicking::begin_panic_fmt::h587e116719f14631
at libstd/panicking.rs:521
6: 0x55555dbe14a2 - rust_begin_unwind
at libstd/panicking.rs:497
7: 0x55555dc165b0 - core::panicking::panic_fmt::h1d64949939b0af2f
at libcore/panicking.rs:71
8: 0x5555585da05b - core::result::unwrap_failed::h917895849b5ea964
at /checkout/src/libcore/macros.rs:23
9: 0x55555856c1d4 - <core::result::Result<T, E>>::expect::h3513eddb45d34412
at /checkout/src/libcore/result.rs:809
10: 0x55555821cea5 - <script::dom::bindings::cell::DomRefCell<T>>::borrow::h418c462ac1dccf9d
at components/script/dom/bindings/cell.rs:70
11: 0x55555822b4e8 - <script::dom::bindings::cell::DomRefCell<T> as script::dom::bindings::trace::JSTraceable>::trace::h7830bb80b625cc00
at components/script/dom/bindings/trace.rs:214
12: 0x555557724e28 - <script::script_thread::ScriptThread as script::dom::bindings::trace::JSTraceable>::trace::h93a121a546be527f
at components/script/script_thread.rs:388
13: 0x5555579479d1 - script::script_thread::trace_thread::{{closure}}::h4845b8448d43b03c
at components/script/script_thread.rs:137
14: 0x555558971de2 - <std::thread::local::LocalKey<T>>::try_with::h1633b97245259a3c
at /checkout/src/libstd/thread/local.rs:377
15: 0x5555588d92dc - <std::thread::local::LocalKey<T>>::with::h184d6c69503898df
at /checkout/src/libstd/thread/local.rs:288
16: 0x5555577035b3 - script::script_thread::trace_thread::hd63efec5f9c575be
at components/script/script_thread.rs:134
17: 0x555557e07b6a - script::script_runtime::trace_rust_roots::h547efb880cb2d521
at components/script/script_runtime.rs:449
18: 0x55555d7b3c7e - _ZN2js2gc9GCRuntime11markRuntimeEP8JSTracerNS1_18TraceOrMarkRuntimeERNS_26AutoLockForExclusiveAccessE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/gc/RootMarking.cpp:343
19: 0x55555d327c0d - _ZN2js2gc9GCRuntime14beginMarkPhaseEN2JS8gcreason6ReasonERNS_26AutoLockForExclusiveAccessE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jsgc.cpp:3907
20: 0x55555d32eb04 - _ZN2js2gc9GCRuntime23incrementalCollectSliceERNS_11SliceBudgetEN2JS8gcreason6ReasonERNS_26AutoLockForExclusiveAccessE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jsgc.cpp:5889
21: 0x55555d32f866 - _ZN2js2gc9GCRuntime7gcCycleEbRNS_11SliceBudgetEN2JS8gcreason6ReasonE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jsgc.cpp:6174
22: 0x55555d32fda7 - _ZN2js2gc9GCRuntime7collectEbNS_11SliceBudgetEN2JS8gcreason6ReasonE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jsgc.cpp:6287
23: 0x55555d330136 - _ZN2js2gc9GCRuntime2gcE18JSGCInvocationKindN2JS8gcreason6ReasonE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jsgc.cpp:6354
24: 0x55555d26cc1a - _Z5JS_GCP9JSRuntime
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jsapi.cpp:1340
25: 0x555556e2f1be - <script::dom::window::Window as script::dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::WindowMethods>::Gc::ha132059ce4977831
at components/script/dom/window.rs:808
26: 0x5555574c449b - script::dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::gc::{{closure}}::hc11d0dc10cb39e51
at /shared/dev/rust/servo/target/debug/build/script-6b6718ab84e0c242/out/Bindings/WindowBinding.rs:2689
27: 0x55555695db9c - core::ops::function::FnOnce::call_once::he833c1f0be25326e
at /checkout/src/libcore/ops/function.rs:223
28: 0x5555577602ba - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hcc4acff55a01076f
at /checkout/src/libstd/panic.rs:293
29: 0x555557216894 - std::panicking::try::do_call::he3d9e4c9eca054cb
at /checkout/src/libstd/panicking.rs:479
30: 0x55555dc0ad6e - __rust_maybe_catch_panic
at libpanic_unwind/lib.rs:102
31: 0x5555571276a5 - std::panicking::try::h93f0deef19367698
at /checkout/src/libstd/panicking.rs:458
32: 0x555557778221 - std::panic::catch_unwind::h21264e20826f8456
at /checkout/src/libstd/panic.rs:358
33: 0x555556ab2b1e - mozjs::panic::wrap_panic::h593b98c26c549d20
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs-0.6.0/src/panic.rs:22
34: 0x55555812169a - script::dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::gc::hf01804d015bbd90f
at /shared/dev/rust/servo/target/debug/build/script-6b6718ab84e0c242/out/Bindings/WindowBinding.rs:2685
35: 0x55555cec53be - CallJitMethodOp
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs-0.6.0/src/jsglue.cpp:560
36: 0x55555729bb39 - script::dom::bindings::utils::generic_call::hc2459cd225ca9a0a
at components/script/dom/bindings/utils.rs:458
37: 0x55555729bbab - script::dom::bindings::utils::generic_method::h74985f73157def27
at components/script/dom/bindings/utils.rs:466
38: 0x55555d52f0e1 - _ZN2js12CallJSNativeEP9JSContextPFbS1_jPN2JS5ValueEERKNS2_8CallArgsE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jscntxtinlines.h:232
39: 0x55555d4fe761 - _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/vm/Interpreter.cpp:453
40: 0x55555d4fea88 - InternalCall
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/vm/Interpreter.cpp:498
41: 0x55555d4feab2 - _ZN2js13CallFromStackEP9JSContextRKN2JS8CallArgsE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/vm/Interpreter.cpp:504
42: 0x55555d50baa0 - Interpret
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/vm/Interpreter.cpp:2873
43: 0x55555d4fe3e2 - _ZN2js9RunScriptEP9JSContextRNS_8RunStateE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/vm/Interpreter.cpp:399
44: 0x55555d4ff7aa - _ZN2js13ExecuteKernelEP9JSContextN2JS6HandleIP8JSScriptEER8JSObjectRKNS2_5ValueENS_16AbstractFramePtrEPS9_
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/vm/Interpreter.cpp:679
45: 0x55555d4ffa6a - _ZN2js7ExecuteEP9JSContextN2JS6HandleIP8JSScriptEER8JSObjectPNS2_5ValueE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/vm/Interpreter.cpp:711
46: 0x55555d278e2e - Evaluate
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jsapi.cpp:4406
47: 0x55555d27916a - Evaluate
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jsapi.cpp:4443
48: 0x55555d2796ec - _ZN2JS8EvaluateEP9JSContextRKNS_22ReadOnlyCompileOptionsEPKDsmNS_13MutableHandleINS_5ValueEEE
at /home/mateon/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.50.1/mozjs/js/src/jsapi.cpp:4501
49: 0x55555810c4dc - mozjs::rust::wrappers::Evaluate2::h0248c6dddcc4cb6e
at components/script/lib.rs:1
50: 0x55555863c944 - script::dom::globalscope::GlobalScope::evaluate_script_on_global_with_result::{{closure}}::he8c9f29caae6f2bd
at components/script/dom/globalscope.rs:438
51: 0x555557ab2bf0 - profile_traits::time::profile::h84ced1b49a125322
at /shared/dev/rust/servo/components/profile_traits/time.rs:134
52: 0x555557930e51 - script::dom::globalscope::GlobalScope::evaluate_script_on_global_with_result::h91d3f3e5e118005d
at components/script/dom/globalscope.rs:422
53: 0x555558624347 - script::dom::htmlscriptelement::HTMLScriptElement::run_a_classic_script::h0b6141388480355c
at components/script/dom/htmlscriptelement.rs:569
54: 0x555558623ce6 - script::dom::htmlscriptelement::HTMLScriptElement::execute::h121b886601b6d84c
at components/script/dom/htmlscriptelement.rs:539
55: 0x555558621b50 - script::dom::htmlscriptelement::HTMLScriptElement::prepare::hc23ce7a231e15cec
at components/script/dom/htmlscriptelement.rs:452
56: 0x555557f0587d - script::dom::servoparser::ServoParser::tokenize::h5833b5c4c0a507c0
at components/script/dom/servoparser/mod.rs:473
57: 0x5555573d9537 - script::dom::servoparser::ServoParser::do_parse_sync::h9dc77b745682a3ea
at components/script/dom/servoparser/mod.rs:428
58: 0x555557f0556f - script::dom::servoparser::ServoParser::parse_sync::{{closure}}::he01b21b2379ffb52
at components/script/dom/servoparser/mod.rs:414
59: 0x555557ab3abc - profile_traits::time::profile::hb114593d5ee765e3
at /shared/dev/rust/servo/components/profile_traits/time.rs:134
60: 0x5555573d929e - script::dom::servoparser::ServoParser::parse_sync::hf7f9305c0c471455
at components/script/dom/servoparser/mod.rs:411
61: 0x5555573d97ed - script::dom::servoparser::ServoParser::parse_bytes_chunk::h64a847441162a5cb
at components/script/dom/servoparser/mod.rs:453
62: 0x5555573dc1f3 - <script::dom::servoparser::ParserContext as net_traits::FetchResponseListener>::process_response_chunk::h214e19640f94ec26
at components/script/dom/servoparser/mod.rs:720
63: 0x55555772251f - script::script_thread::ScriptThread::handle_fetch_chunk::h042ae8fc159a7939
at components/script/script_thread.rs:2518
64: 0x55555770c0d3 - script::script_thread::ScriptThread::handle_msg_from_constellation::ha15ae6c7652fbbf7
at components/script/script_thread.rs:1268
65: 0x55555794a60c - script::script_thread::ScriptThread::handle_msgs::{{closure}}::h6319263d718905a4
at components/script/script_thread.rs:1073
66: 0x55555794aaf5 - script::script_thread::ScriptThread::profile_event::h24ad32198d7857e4
at components/script/script_thread.rs:1246
67: 0x555557709174 - script::script_thread::ScriptThread::handle_msgs::h7f813572bec83627
at components/script/script_thread.rs:1067
68: 0x555557706a33 - script::script_thread::ScriptThread::start::hfffc65ead139c565
at components/script/script_thread.rs:899
69: 0x555557947dbc - <script::script_thread::ScriptThread as script_traits::ScriptThreadFactory>::create::{{closure}}::{{closure}}::hb7eb5271aea54155
at components/script/script_thread.rs:580
70: 0x5555583eba54 - profile_traits::mem::ProfilerChan::run_with_memory_reporting::he9923d74841dc066
at /shared/dev/rust/servo/components/profile_traits/mem.rs:63
71: 0x555557948383 - <script::script_thread::ScriptThread as script_traits::ScriptThreadFactory>::create::{{closure}}::h8e07abd934bb999e
at components/script/script_thread.rs:579
72: 0x5555590fd0d4 - std::sys_common::backtrace::__rust_begin_short_backtrace::h2d78b2f1df325efe
at /checkout/src/libstd/sys_common/backtrace.rs:133
73: 0x555558c26f1b - std::thread::Builder::spawn::{{closure}}::{{closure}}::h60029a105377620a
at /checkout/src/libstd/thread/mod.rs:406
74: 0x55555772ae94 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h071cb41be9fa08a0
at /checkout/src/libstd/panic.rs:293
75: 0x5555571acab4 - std::panicking::try::do_call::h0634da9ad6ac21c1
at /checkout/src/libstd/panicking.rs:479
76: 0x55555dc0ad6e - __rust_maybe_catch_panic
at libpanic_unwind/lib.rs:102
77: 0x5555570a838c - std::panicking::try::h21b3c835feaab04b
at /checkout/src/libstd/panicking.rs:458
78: 0x55555779098c - std::panic::catch_unwind::h79f92692c3fe610e
at /checkout/src/libstd/panic.rs:358
79: 0x555558c26bf8 - std::thread::Builder::spawn::{{closure}}::he57f2c95280fc725
at /checkout/src/libstd/thread/mod.rs:405
80: 0x555558c27255 - <F as alloc::boxed::FnBox<A>>::call_box::h5fc075c8048227e2
at /checkout/src/liballoc/boxed.rs:788
81: 0x55555dbf5d7b - <alloc::boxed::Box<alloc::boxed::FnBox<A, Output$u3d$R$GT$$u20$$u2b$$u20$$u27$a$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h13f1b0bf377a9f5b
at /checkout/src/liballoc/boxed.rs:798
- std::sys_common::thread::start_thread::hb5b6e0447b9691dc
at libstd/sys_common/thread.rs:24
- std::sys::unix::thread::Thread::new::thread_start::hcaff0bef1a01c624
at libstd/sys/unix/thread.rs:90
82: 0x7ffff764ef29 - start_thread
83: 0x7ffff67f1ede - __clone
84: 0x0 - <unknown>
ERROR 2018-08-19T17:25:22Z: servo: DomRefCell<T> already mutably borrowed: BorrowError
Pipeline failed in hard-fail mode. Crashing!
Servo exited with return value 1 |
|
That looks like the problem that #21028 set out to solve. |
|
git bisect confirms that the panic changed in that PR (40ea4c4) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This test case does not touch the network at all, which is why this panic is extremely confusing.
Minimal panicking testcase:
panics:
Full backtrace
Note: If you do not run servo with the
-f(hard fail) flag, Servo outputs this panic message forever in a loop: