servo / servo

Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine
https://servo.org
Mozilla Public License 2.0
28.27k stars 3.02k forks source link

Intermittent panic: "Failed to receive a response from live font cache" from get_font_instance (`/encoding/legacy-mb-korean/euc-kr/euckr-decode-windows-949.html?11001-12000`, `/encoding/legacy-mb-japanese/euc-jp/eucjp-decode-cseucpkdfmtjapanese.html?3001-4000`) #21067

Open jdm opened 6 years ago

jdm commented 6 years ago
  ▶ TIMEOUT [expected PASS] /css/CSS2/css1/c43-rpl-ibx-000.xht
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 18.1.0-devel
  │ Failed to receive a response from live font cache (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(1) }, at components/gfx/font_cache_thread.rs:470)
  │ stack backtrace:
  │    0:     0x7fa9f7cd94bc - backtrace::backtrace::trace::h771ec7e4a16b9188
  │    1:     0x7fa9f7cd8c62 - <backtrace::capture::Backtrace as core::default::Default>::default::ha7872455e6e477e3
  │    2:     0x7fa9f7cd8ca8 - backtrace::capture::Backtrace::new::h7a84dd53000abc29
  │    3:     0x7fa9f522e1a8 - servo::main::{{closure}}::h0e01fc13ea220a38
  │    4:     0x7fa9f7d02323 - std::panicking::rust_panic_with_hook::h7a007654e7427bd4
  │                         at libstd/panicking.rs:515
  │    5:     0x7fa9f679e476 - std::panicking::begin_panic::h3a6a8c73cf6210f7
  │    6:     0x7fa9f67bf00b - <gfx::font_cache_thread::FontCacheThread as gfx::font_context::FontSource>::get_font_instance::h8b87686ea555d885
  │    7:     0x7fa9f64ab79f - <gfx::font_context::FontContext<S>>::font::h0f315736397a85be
  │    8:     0x7fa9f649ff72 - <core::iter::FilterMap<I, F> as core::iter::iterator::Iterator>::try_fold::{{closure}}::h0b065e2497c46a57
  │    9:     0x7fa9f64a6374 - layout::text::TextRunScanner::scan_for_runs::h86641f021b472292
  │   10:     0x7fa9f5684245 - <std::thread::local::LocalKey<T>>::with::he22b905e40a1e8d3
  │   11:     0x7fa9f55b0f47 - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode>>::build_flow_for_block_starting_with_fragments::hfb9caca9b5952b83
  │   12:     0x7fa9f55ae27b - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode>>::build_flow_for_block_like::h8216a444c264816c
  │   13:     0x7fa9f55ada52 - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode>>::build_flow_for_block::h09e67447ccee9545
  │   14:     0x7fa9f55968e3 - <layout::construct::FlowConstructor<'a, ConcreteThreadSafeLayoutNode> as layout::traversal::PostorderNodeMutTraversal<ConcreteThreadSafeLayoutNode>>::process::h4eecebbae80ab372
  │   15:     0x7fa9f5658ab1 - style::traversal::DomTraversal::handle_postorder_traversal::h034f61a799cf2b1e
  │   16:     0x7fa9f55eddb9 - style::driver::traverse_dom::h12894862671719f5
  │   17:     0x7fa9f555836b - profile_traits::time::profile::h7574a634ffc8bb75
  │   18:     0x7fa9f5534984 - layout_thread::LayoutThread::handle_reflow::h83e1ac9226de14e1
  │   19:     0x7fa9f55584de - profile_traits::time::profile::h8e1f8e45dece62e6
  │   20:     0x7fa9f552e2e0 - layout_thread::LayoutThread::handle_request_helper::he5ba10c47dd3cd79
  │   21:     0x7fa9f552ca48 - layout_thread::LayoutThread::start::hcef61480c50913b9
  │   22:     0x7fa9f5605dc3 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0cdc66be2ba8a741
  │   23:     0x7fa9f567e8f7 - _ZN3std9panicking3try7do_call17hf54edcac504450faE.llvm.15012836164336301655
  │   24:     0x7fa9f7d13da9 - __rust_maybe_catch_panic
  │                         at libpanic_unwind/lib.rs:105
  │   25:     0x7fa9f5520570 - <F as alloc::boxed::FnBox<A>>::call_box::ha10218cd009d0de7
  │   26:     0x7fa9f7d00e6a - <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::h33f7750e60f08706
  │                         at /checkout/src/liballoc/boxed.rs:650
  │                          - std::sys_common::thread::start_thread::h6388563430773280
  │                         at libstd/sys_common/thread.rs:24
  │   27:     0x7fa9f7ceb7c5 - std::sys::unix::thread::Thread::new::thread_start::h1f8b132362b26e8b
  │                         at libstd/sys/unix/thread.rs:90
  │   28:     0x7fa9f4126183 - start_thread
  │   29:     0x7fa9f29ed03c - clone
  │   30:                0x0 - <unknown>
  │ ERROR 2018-06-18T14:01:45Z: servo: Failed to receive a response from live font cache
  │ assertion failed: !self.Document().needs_reflow() ||
  │     (!for_display && self.Document().needs_paint()) ||
  │     self.window_size.get().is_none() || self.suppress_reflow.get() (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(1) }, at components/script/dom/window.rs:1363)
  │ stack backtrace:
  │    0:     0x7fa9f7cd94bc - backtrace::backtrace::trace::h771ec7e4a16b9188
  │    1:     0x7fa9f7cd8c62 - <backtrace::capture::Backtrace as core::default::Default>::default::ha7872455e6e477e3
  │    2:     0x7fa9f7cd8ca8 - backtrace::capture::Backtrace::new::h7a84dd53000abc29
  │    3:     0x7fa9f522e1a8 - servo::main::{{closure}}::h0e01fc13ea220a38
  │    4:     0x7fa9f7d02323 - std::panicking::rust_panic_with_hook::h7a007654e7427bd4
  │                         at libstd/panicking.rs:515
  │    5:     0x7fa9f6216066 - std::panicking::begin_panic::h54b309b799960191
  │    6:     0x7fa9f620c79e - script::dom::window::Window::reflow::h02a14fbb5b7eff5e
  │    7:     0x7fa9f572116b - script::dom::document::Document::finish_load::he2c65e146de1cd2c
  │    8:     0x7fa9f5746050 - script::dom::servoparser::ServoParser::do_parse_sync::h6a9196554c8f6c24
  │    9:     0x7fa9f5c83fc0 - profile_traits::time::profile::h0fb1f4164b321629
  │   10:     0x7fa9f574593d - _ZN6script3dom11servoparser11ServoParser10parse_sync17hd00d9b3df06f35c5E.llvm.15201248631654066601
  │   11:     0x7fa9f5749914 - <script::dom::servoparser::ParserContext as net_traits::FetchResponseListener>::process_response_eof::hc38c1c8cd72c7d23
  │   12:     0x7fa9f576416e - script::script_thread::ScriptThread::handle_msg_from_constellation::h8f67f48df8152ca9
  │   13:     0x7fa9f575a8cf - script::script_thread::ScriptThread::handle_msgs::h5a0a228d7a7d8faa
  │   14:     0x7fa9f57565f7 - script::script_thread::ScriptThread::start::hb4dfd60de533639e
  │   15:     0x7fa9f5b7a880 - profile_traits::mem::ProfilerChan::run_with_memory_reporting::h2bdb35fbd5a67ba9
  │   16:     0x7fa9f5efdff0 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha58e07d65f7d2623
  │   17:     0x7fa9f6253305 - _ZN3std9panicking3try7do_call17hedbebb4b38f19a06E.llvm.12043427289866439466
  │   18:     0x7fa9f7d13da9 - __rust_maybe_catch_panic
  │                         at libpanic_unwind/lib.rs:105
  │   19:     0x7fa9f60cb150 - <F as alloc::boxed::FnBox<A>>::call_box::h661e553ffe0b79a5
  │   20:     0x7fa9f7d00e6a - <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::h33f7750e60f08706
  │                         at /checkout/src/liballoc/boxed.rs:650
  │                          - std::sys_common::thread::start_thread::h6388563430773280
  │                         at libstd/sys_common/thread.rs:24
  │   21:     0x7fa9f7ceb7c5 - std::sys::unix::thread::Thread::new::thread_start::h1f8b132362b26e8b
  │                         at libstd/sys/unix/thread.rs:90
  │   22:     0x7fa9f4126183 - start_thread
  │   23:     0x7fa9f29ed03c - clone
  │   24:                0x0 - <unknown>
  │ ERROR 2018-06-18T14:01:45Z: servo: assertion failed: !self.Document().needs_reflow() ||
  │     (!for_display && self.Document().needs_paint()) ||
  └     self.window_size.get().is_none() || self.suppress_reflow.get()
asajeffrey commented 6 years ago

Also seeing this in #21029, e.g. http://build.servo.org/builders/linux-rel-css/builds/9320

  ▶ CRASH [expected TIMEOUT] /html/webappapis/scripting/events/compile-event-handler-settings-objects.html
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 18.1.0-devel
  │ ERROR 2018-08-03T15:44:35Z: script::dom::bindings::error: Error at http://web-platform.test:8000/html/webappapis/scripting/events/resources/compiled-event-handler-settings-objects-support.html:2:9 window.open is not a function
  │ Failed to receive a response from live font cache (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(6) }, at components/gfx/font_cache_thread.rs:490)
  │ stack backtrace:
  │    0:     0x7fede6c0238c - backtrace::backtrace::trace::h05132a61c700b6d5
  │    1:     0x7fede6c021c2 - <backtrace::capture::Backtrace as core::default::Default>::default::h642c972fc4ba6ef9
  │    2:     0x7fede6c02208 - backtrace::capture::Backtrace::new::h4081ca85f6f04cd7
  │    3:     0x7fede3d20238 - servo::main::{{closure}}::hce013df8cb21e01c
  │    4:     0x7fede6c2c183 - std::panicking::rust_panic_with_hook::h75f53ae1ba39714f
  │                         at libstd/panicking.rs:479
  │    5:     0x7fede55507f6 - std::panicking::begin_panic::hd6db1b9969c6584c
  │    6:     0x7fede55734d4 - <gfx::font_cache_thread::FontCacheThread as gfx::font_context::FontSource>::font_template::hc8b0e12b5a3b62ec
  │    7:     0x7fede518c9ae - <gfx::font_context::FontContext<S>>::font::hddf3e5479aa61570
  │    8:     0x7fede5209e9c - gfx::font::FontGroup::first::h047b42f452c1b69d
  │    9:     0x7fede51b3efb - layout::text::font_metrics_for_style::hec80e88adc1ea5e0
  │   10:     0x7fede51a97f0 - <std::thread::local::LocalKey<T>>::with::h3e045f73efdc46a8
  │   11:     0x7fede51b4248 - <std::thread::local::LocalKey<T>>::with::h68ce0aa1589a36c5
  │   12:     0x7fede51cd728 - layout::fragment::Fragment::content_inline_metrics::inline_metrics_of_text::h910c786ca2d7173c
  │   13:     0x7fede51cd641 - layout::fragment::Fragment::content_inline_metrics::haa918d97c220d42a
  │   14:     0x7fede51cda4f - layout::fragment::Fragment::aligned_inline_metrics::h776ba426a3f0999e
  │   15:     0x7fede51a0b1b - <layout::inline::InlineFlow as layout::flow::Flow>::assign_block_size::h0c533c3c2efef5fb
  │   16:     0x7fede51b2e48 - _ZN6layout10sequential6reflow4doit17h4f36d2260eb6df24E.llvm.3440184567285837953
  │   17:     0x7fede51b2e48 - _ZN6layout10sequential6reflow4doit17h4f36d2260eb6df24E.llvm.3440184567285837953
  │   18:     0x7fede51b2e48 - _ZN6layout10sequential6reflow4doit17h4f36d2260eb6df24E.llvm.3440184567285837953
  │   19:     0x7fede51b2e48 - _ZN6layout10sequential6reflow4doit17h4f36d2260eb6df24E.llvm.3440184567285837953
  │   20:     0x7fede40228d0 - layout_thread::LayoutThread::solve_constraints::ha06c1277009e94f5
  │   21:     0x7fede4059f16 - profile_traits::time::profile::h329e7aabe883c77c
  │   22:     0x7fede402656f - layout_thread::LayoutThread::perform_post_style_recalc_layout_passes::hac64830fbd71b439
  │   23:     0x7fede40246d3 - layout_thread::LayoutThread::handle_reflow::h6b57e3bd60108982
  │   24:     0x7fede405a6be - profile_traits::time::profile::h835efad9d926a323
  │   25:     0x7fede401ce39 - layout_thread::LayoutThread::handle_request_helper::h97bedf5e9ccce73d
  │   26:     0x7fede401b611 - layout_thread::LayoutThread::start::he09b96ea6f607738
  │   27:     0x7fede40bdff3 - profile_traits::mem::ProfilerChan::run_with_memory_reporting::h6b80ca865e735cd5
  │   28:     0x7fede41395f4 - _ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h6600b642927c1bf2E.llvm.7527458264699907207
  │   29:     0x7fede411f6a7 - _ZN3std9panicking3try7do_call17h43415baf2948331aE.llvm.14003975204526412027
  │   30:     0x7fede6c3d9b9 - __rust_maybe_catch_panic
  │                         at libpanic_unwind/lib.rs:106
  │   31:     0x7fede404fd10 - <F as alloc::boxed::FnBox<A>>::call_box::h806f601c6739198f
  │   32:     0x7fede6c16f8a - <alloc::boxed::Box<(dyn alloc::boxed::FnBox<A, Output$u3d$R$GT$$u20$$u2b$$u20$$u27$a$RP$$GT$$u20$as$u20$core..ops..function..FnOnce$LT$A$GT$$GT$::call_once::h3757e4bb61b80a30
  │                         at /checkout/src/liballoc/boxed.rs:650
  │                          - std::sys_common::thread::start_thread::h9710965ece577cf4
  │                         at libstd/sys_common/thread.rs:24
  │   33:     0x7fede6c15215 - std::sys::unix::thread::Thread::new::thread_start::h661e40e1cea4ad5b
  │                         at libstd/sys/unix/thread.rs:90
  │   34:     0x7fede2c10183 - start_thread
  │   35:     0x7fede14d703c - clone
  │   36:                0x0 - <unknown>
  │ ERROR 2018-08-03T15:44:41Z: servo: Failed to receive a response from live font cache
  └ Pipeline failed in hard-fail mode.  Crashing!
CYBAI commented 5 years ago

Also seeing this in https://github.com/servo/servo/pull/22637#issuecomment-458589148 , e.g. https://build.servo.org/builders/linux-rel-wpt/builds/11595

  ▶ CRASH [expected OK] /html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1.html
  │ 
  │ VMware, Inc.
  │ softpipe
  │ 3.3 (Core Profile) Mesa 18.3.0-devel
  │ Failed to receive a response from live font cache (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(2), index: PipelineIndex(3) }, at components/gfx/font_cache_thread.rs:522)
  │ stack backtrace:
  │    0:     0x7fee67bc620d - backtrace::backtrace::trace::h1cd733210e7d0ee7
  │    1:     0x7fee67bc5062 - <backtrace::capture::Backtrace as core::default::Default>::default::h5b232415cbbfce88
  │    2:     0x7fee65644b3f - servo::main::{{closure}}::hd5e20857bd27bc9d
  │    3:     0x7fee688a661d - rust_panic_with_hook
  │                         at src/libstd/panicking.rs:482
  │    4:     0x7fee66f68b94 - std::panicking::begin_panic::h21f612861f96a666
  │    5:     0x7fee66f9003c - <gfx::font_cache_thread::FontCacheThread as gfx::font_context::FontSource>::get_font_instance::ha6973ecc87f1c7eb
  │    6:     0x7fee66ad15cb - <gfx::font_context::FontContext<S>>::font::hd8ecc87862973361
  │    7:     0x7fee66b378dc - <core::iter::adapters::FilterMap<I, F> as core::iter::traits::iterator::Iterator>::try_fold::{{closure}}::h0cec8089fb511385
  │    8:     0x7fee66b3b7cf - gfx::font::FontGroup::first::h3b25f082eba5fcf5
  │    9:     0x7fee66aa9693 - layout::text::font_metrics_for_style::haf2c6a49bac29bbe
  │   10:     0x7fee66aa46ba - <std::thread::local::LocalKey<T>>::with::h42e1172744a6ccac
  │   11:     0x7fee66b177b8 - layout::fragment::Fragment::content_inline_metrics::inline_metrics_of_text::h562382c4cd18c767
  │   12:     0x7fee66b176dc - layout::fragment::Fragment::content_inline_metrics::ha502e5782be8b83e
  │   13:     0x7fee66b17aeb - layout::fragment::Fragment::aligned_inline_metrics::h1def908cb5b9fad3
  │   14:     0x7fee66af9652 - <layout::inline::InlineFlow as layout::flow::Flow>::assign_block_size::hc324649038bdbe9b
  │   15:     0x7fee66adc3ad - layout::sequential::reflow::doit::h197e843dc2aba690
  │   16:     0x7fee66adc3ad - layout::sequential::reflow::doit::h197e843dc2aba690
  │   17:     0x7fee66adc3ad - layout::sequential::reflow::doit::h197e843dc2aba690
  │   18:     0x7fee66adc26a - layout::sequential::reflow::h5b7fd751e648f24a
  │   19:     0x7fee659f60d3 - layout_thread::LayoutThread::solve_constraints::h1c66c241981a73b9
  │   20:     0x7fee65b0f135 - profile_traits::time::profile::h6092dfa42f6eb1d2
  │   21:     0x7fee659fa98e - layout_thread::LayoutThread::perform_post_style_recalc_layout_passes::heceb825ff80aed2e
  │   22:     0x7fee659f83a9 - layout_thread::LayoutThread::handle_reflow::h62c3d1cc58f61fc3
  │   23:     0x7fee65b0fa83 - profile_traits::time::profile::hffc430e0c064183e
  │   24:     0x7fee659f0d5e - layout_thread::LayoutThread::handle_request_helper::h1c3936b59135d1a7
  │   25:     0x7fee659ef601 - layout_thread::LayoutThread::start::hb7a45a6f10a3eb02
  │   26:     0x7fee65a47486 - profile_traits::mem::ProfilerChan::run_with_memory_reporting::hcaa5a25d8445fc05
  │   27:     0x7fee65a94e57 - std::sys_common::backtrace::__rust_begin_short_backtrace::h5b45bb2f5353e077
  │   28:     0x7fee65a95415 - _ZN3std9panicking3try7do_call17h7597226340421ee0E.llvm.11828671310939098513
  │   29:     0x7fee688b1119 - __rust_maybe_catch_panic
  │                         at src/libpanic_unwind/lib.rs:92
  │   30:     0x7fee65b182c7 - <F as alloc::boxed::FnBox<A>>::call_box::hb5ade8794d26455d
  │   31:     0x7fee688b04cd - call_once<(),()>
  │                         at /rustc/da6ab956e1002517803ecd38b904504a1223274b/src/liballoc/boxed.rs:744
  │                          - start_thread
  │                         at src/libstd/sys_common/thread.rs:14
  │                          - thread_start
  │                         at src/libstd/sys/unix/thread.rs:81
  │   32:     0x7fee63006183 - start_thread
  │   33:     0x7fee618cd03c - clone
  │   34:                0x0 - <unknown>
  │ [2019-01-29T15:20:14Z ERROR servo] Failed to receive a response from live font cache
  │ Pipeline failed in hard-fail mode.  Crashing!
  └ thread panicked while processing panic. aborting.
CYBAI commented 5 years ago
  ▶ TIMEOUT [expected PASS] /css/css-transforms/matrix/svg-matrix-064.html
  │ 
  │ 
  │ 
  │ 
  │ No URL for Core Text font! (thread FontCacheThread, at src/libcore/option.rs:1190)
  │ stack backtrace:
  │    0: backtrace::backtrace::trace
  │    1: backtrace::capture::Backtrace::new
  │    2: servo::main::{{closure}}
  │    3: std::panicking::rust_panic_with_hook
  │    4: std::panicking::continue_panic_fmt
  │    5: rust_begin_unwind
  │    6: core::panicking::panic_fmt
  │    7: core::option::expect_failed
  │    8: gfx::platform::macos::font_template::FontTemplateData::bytes
  │    9: gfx::font_cache_thread::FontCache::run
  │   10: std::sys_common::backtrace::__rust_begin_short_backtrace
  │   11: _ZN3std9panicking3try7do_call17he6fec0518da61a3dE.llvm.16436802391114990759
  │   12: __rust_maybe_catch_panic
  │   13: core::ops::function::FnOnce::call_once{{vtable.shim}}
  │   14: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
  │   15: std::sys::unix::thread::Thread::new::thread_start
  │   16: _pthread_body
  │   17: _pthread_start
  │ 
  │ [2019-10-16T03:34:32Z ERROR servo] No URL for Core Text font!
  │ Font cache thread has already exited. (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }, at components/gfx/font_cache_thread.rs:547)
  │ stack backtrace:
  │    0: backtrace::backtrace::trace
  │    1: backtrace::capture::Backtrace::new
  │    2: servo::main::{{closure}}
  │    3: std::panicking::rust_panic_with_hook
  │    4: std::panicking::begin_panic
  │    5: <gfx::font_cache_thread::FontCacheThread as gfx::font_context::FontSource>::font_template
  │    6: gfx::font_context::FontContext<S>::font
  │    7: core::iter::adapters::filter_map_try_fold::{{closure}}
  │    8: gfx::font::FontGroup::find_by_codepoint
  │    9: layout::text::TextRunScanner::scan_for_runs
  │   10: std::thread::local::LocalKey<T>::with
  │   11: layout::construct::FlowConstructor<ConcreteThreadSafeLayoutNode>::build_flow_for_block_starting_with_fragments
  │   12: layout::construct::FlowConstructor<ConcreteThreadSafeLayoutNode>::build_flow_for_block_like
  │   13: layout::construct::FlowConstructor<ConcreteThreadSafeLayoutNode>::build_flow_for_block
  │   14: <layout::construct::FlowConstructor<ConcreteThreadSafeLayoutNode> as layout::traversal::PostorderNodeMutTraversal<ConcreteThreadSafeLayoutNode>>::process
  │   15: style::traversal::DomTraversal::handle_postorder_traversal
  │   16: style::driver::traverse_dom
  │   17: profile_traits::time::profile
  │   18: layout_thread::LayoutThread::handle_reflow
  │   19: profile_traits::time::profile
  │   20: layout_thread::LayoutThread::handle_request_helper
  │   21: layout_thread::LayoutThread::start
  │   22: profile_traits::mem::ProfilerChan::run_with_memory_reporting
  │   23: std::sys_common::backtrace::__rust_begin_short_backtrace
  │   24: _ZN3std9panicking3try7do_call17h644fbccfe973a2f4E.llvm.7205040125011543577
  │   25: __rust_maybe_catch_panic
  │   26: core::ops::function::FnOnce::call_once{{vtable.shim}}
  │   27: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
  │   28: std::sys::unix::thread::Thread::new::thread_start
  │   29: _pthread_body
  │   30: _pthread_start
  │ 
  │ [2019-10-16T03:34:32Z ERROR servo] Font cache thread has already exited.
  │ assertion failed: !self.Document().needs_reflow() ||
  │     (!for_display && self.Document().needs_paint()) ||
  │     self.suppress_reflow.get() (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }, at components/script/dom/window.rs:1636)
  │ stack backtrace:
  │    0: backtrace::backtrace::trace
  │    1: backtrace::capture::Backtrace::new
  │    2: servo::main::{{closure}}
  │    3: std::panicking::rust_panic_with_hook
  │    4: std::panicking::begin_panic
  │    5: script::dom::window::Window::reflow
  │    6: script::dom::document::Document::finish_load
  │    7: script::dom::servoparser::ServoParser::do_parse_sync
  │    8: profile_traits::time::profile
  │    9: _ZN6script3dom11servoparser11ServoParser10parse_sync17h918b6f14e9247952E.llvm.8044818462914842690
  │   10: <script::dom::servoparser::ParserContext as net_traits::FetchResponseListener>::process_response_eof
  │   11: script::script_thread::ScriptThread::handle_msg_from_constellation
  │   12: _ZN6script13script_thread12ScriptThread11handle_msgs17h920704997e2fedc4E.llvm.1566045823045081242
  │   13: profile_traits::mem::ProfilerChan::run_with_memory_reporting
  │   14: std::sys_common::backtrace::__rust_begin_short_backtrace
  │   15: _ZN3std9panicking3try7do_call17h23d7db0a88d7903cE.llvm.16808770288252840423
  │   16: __rust_maybe_catch_panic
  │   17: core::ops::function::FnOnce::call_once{{vtable.shim}}
  │   18: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
  │   19: std::sys::unix::thread::Thread::new::thread_start
  │   20: _pthread_body
  │   21: _pthread_start
  │ 
  │ [2019-10-16T03:34:32Z ERROR servo] assertion failed: !self.Document().needs_reflow() ||
  │     (!for_display && self.Document().needs_paint()) ||
  └     self.suppress_reflow.get()
jdm commented 4 years ago

This is a symptom of https://github.com/servo/ipc-channel/issues/252.

mrobinson commented 2 months ago

I haven't seen this one in a long time. It might be fixed by some of the improvements we've made to the compositor.

jdm commented 2 weeks ago

This still occurrs:

  ▶ CRASH [expected OK] /encoding/legacy-mb-korean/euc-kr/euckr-decode-iso-ir-149.html?13001-14000
  │ 
  │ Failed to receive a response from live font cache (thread Script(1,1), at components/fonts/system_font_service.rs:561)
  │    0: servoshell::backtrace::print
  │    1: servoshell::panic_hook::panic_hook
  │    2: std::panicking::rust_panic_with_hook
  │    3: std::panicking::begin_panic_handler::{{closure}}
  │    4: std::sys_common::backtrace::__rust_end_short_backtrace
  │    5: rust_begin_unwind
  │    6: core::panicking::panic_fmt
  │    7: fonts::system_font_service::SystemFontServiceProxy::find_matching_font_templates
  │    8: fonts::font_context::FontContext::matching_templates
  │    9: fonts::font::FontGroupFamily::members
  │   10: fonts::font::FontGroupFamily::find
  │   11: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::try_fold
  │   12: <core::iter::adapters::chain::Chain<A,B> as core::iter::traits::iterator::Iterator>::try_fold
  │   13: fonts::font::FontGroup::find_by_codepoint
  │   14: layout_2020::flow::inline::InlineFormattingContext::new_with_builder
  │   15: layout_2020::flow::inline::construct::InlineFormattingContextBuilder::finish
  │   16: layout_2020::flow::construct::BlockContainerBuilder<Node>::finish
  │   17: layout_2020::flow::construct::<impl layout_2020::flow::BlockContainer>::construct
  │   18: layout_2020::flow::construct::BlockLevelJob<Node>::finish
  │   19: <rayon::iter::map::MapFolder<C,F> as rayon::iter::plumbing::Folder<T>>::consume_iter
  │   20: rayon::iter::plumbing::bridge_producer_consumer::helper
  │   21: <rayon::vec::IntoIter<T> as rayon::iter::IndexedParallelIterator>::with_producer
  │   22: rayon::iter::collect::collect_with_consumer
  │   23: rayon::iter::extend::<impl rayon::iter::ParallelExtend<T> for alloc::vec::Vec<T>>::par_extend
  │   24: layout_2020::flow::construct::BlockContainerBuilder<Node>::finish
  │   25: layout_2020::flow::construct::<impl layout_2020::flow::BlockContainer>::construct
  │   26: layout_2020::formatting_contexts::IndependentFormattingContext::construct
  │   27: layout_2020::flow::root::BoxTree::construct
  │   28: rayon_core::registry::Registry::in_worker
  │   29: layout_thread_2020::LayoutThread::handle_reflow
  │   30: <layout_thread_2020::LayoutThread as script_layout_interface::Layout>::reflow
  │   31: script::dom::window::Window::force_reflow
  │   32: script::dom::window::Window::reflow
  │   33: script::dom::document::Document::finish_load
  │   34: script::dom::servoparser::ServoParser::do_parse_sync
  │   35: profile_traits::time::profile
  │   36: script::dom::servoparser::ServoParser::parse_sync
  │   37: <script::dom::servoparser::ParserContext as net_traits::FetchResponseListener>::process_response_eof
  │   38: script::script_thread::ScriptThread::handle_fetch_eof
  │   39: script::script_thread::ScriptThread::handle_msg_from_constellation
  │   40: script::script_thread::ScriptThread::handle_msgs::{{closure}}
  │   41: script::script_thread::ScriptThread::handle_msgs
  │   42: script::script_thread::ScriptThread::start
  │   43: profile_traits::mem::ProfilerChan::run_with_memory_reporting
  │   44: std::sys_common::backtrace::__rust_begin_short_backtrace
  │   45: core::ops::function::FnOnce::call_once{{vtable.shim}}
  │   46: std::sys::pal::unix::thread::Thread::new::thread_start
  │   47: <unknown>
  └   48: <unknown>
mrobinson commented 2 weeks ago

@jdm Yep, you are right. Thanks for reopening this one.