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

Crash when running the MotionMark benchmark #21411

Closed
fabricedesre opened this issue Aug 15, 2018 · 41 comments
Closed

Crash when running the MotionMark benchmark #21411

fabricedesre opened this issue Aug 15, 2018 · 41 comments
Labels
A-gfx/uncategorized A-webrender C-assigned There is someone working on resolving the issue I-crash No impact; the issue is one of maintainability or tidiness.

Comments

@fabricedesre
Copy link
Contributor

This hits an assertion in WR (tested on linux):

./mach run https://browserbench.org/MotionMark/

assertion failed: descriptor.size.width > 0 && descriptor.size.height > 0 (thread WRRenderBackend#0, at /home/fabrice/.cargo/git/checkouts/webrender-c3596abe1cf4f320/c939a61/webrender/src/texture_cache.rs:838)
stack backtrace:
   0:     0x558efd61910c - backtrace::backtrace::trace::h13752643c1b9ba7d
   1:     0x558efd618f42 - <backtrace::capture::Backtrace as core::default::Default>::default::h7d71ba4baaf56702
   2:     0x558efd618f88 - backtrace::capture::Backtrace::new::h51b3adccf40d0f84
   3:     0x558efa9c7a68 - servo::main::{{closure}}::h99a539a58e8f7180
   4:     0x558efd642a83 - std::panicking::rust_panic_with_hook::h75f53ae1ba39714f
                        at libstd/panicking.rs:479
   5:     0x558efc67fc46 - std::panicking::begin_panic::h42fa0f689e0ea6d3
   6:     0x558efc6fccb8 - webrender::texture_cache::TextureCache::update::hfb07f1b1546263ad
   7:     0x558efc58b689 - webrender::resource_cache::ResourceCache::block_until_all_resources_added::h6c6b2397507021a3
   8:     0x558efc648cf5 - webrender::render_backend::Document::render::h8c313f462a9da985
   9:     0x558efc651bef - webrender::render_backend::RenderBackend::update_document::hb7f7577203b62f1f
  10:     0x558efc64baac - webrender::render_backend::RenderBackend::run::heafd46544b1d4818
  11:     0x558efc67f3fe - std::sys_common::backtrace::__rust_begin_short_backtrace::h1c38a6ce002c24e9
  12:     0x558efc67fc75 - _ZN3std9panicking3try7do_call17h48521a3ba896b436E.llvm.14580864019959517563
  13:     0x558efd6542b9 - __rust_maybe_catch_panic
                        at libpanic_unwind/lib.rs:106
  14:     0x558efc59aeb0 - <F as alloc::boxed::FnBox<A>>::call_box::hd16c5364b2a1fad3
  15:     0x558efd62d72a - <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
  16:     0x558efd62b9b5 - std::sys::unix::thread::Thread::new::thread_start::h661e40e1cea4ad5b
                        at libstd/sys/unix/thread.rs:90
  17:     0x7f549700f6da - start_thread
  18:     0x7f54955c488e - __clone
  19:                0x0 - <unknown>
ERROR 2018-08-15T01:12:16Z: servo: assertion failed: descriptor.size.width > 0 && descriptor.size.height > 0
called `Result::unwrap()` on an `Err` value: Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }) (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }, at libcore/result.rs:945)
called `Result::unwrap()` on an `Err` value: Io(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }) (thread CanvasThread, at libcore/result.rs:945)
stack backtrace:
   0:     0x558efd61910c - backtrace::backtrace::trace::h13752643c1b9ba7d
   1:     0x558efd618f42 - <backtrace::capture::Backtrace as core::default::Default>::default::h7d71ba4baaf56702
   2:     0x558efd618f88 - backtrace::capture::Backtrace::new::h51b3adccf40d0f84
   3:     0x558efa9c7a68 - servo::main::{{closure}}::h99a539a58e8f7180
   4:     0x558efd642a83 - std::panicking::rust_panic_with_hook::h75f53ae1ba39714f
                        at libstd/panicking.rs:479
   5:     0x558efd642629 - std::panicking::continue_panic_fmt::h5f5c2db8ab083e0d
                        at libstd/panicking.rs:390
   6:     0x558efd642525 - rust_begin_unwind
                        at libstd/panicking.rs:325
   7:     0x558efd66469b - core::panicking::panic_fmt::h28ab0e0b2f3bdb57
                        at libcore/panicking.rs:77
   8:     0x558efcab8d4d - core::result::unwrap_failed::he7e56b67caef4b34
   9:     0x558efcaa98dc - webrender_api::api::RenderApi::send_transaction::h5eccd73c8865c423
  10:     0x558efacffef9 - profile_traits::time::profile::h28c74c64475c40a9
  11:     0x558efacc1528 - layout_thread::LayoutThread::perform_post_style_recalc_layout_passes::h4f7fb95c417e3a79
  12:     0x558efacc0dcf - layout_thread::LayoutThread::tick_all_animations::h5c79d2591112a61d
  13:     0x558efacb95ae - layout_thread::LayoutThread::handle_request_helper::h33675a61a715bf4a
  14:     0x558efacb87e3 - layout_thread::LayoutThread::start::he4ea5e26c42e4105
  15:     0x558efad4cc33 - profile_traits::mem::ProfilerChan::run_with_memory_reporting::h23e4af0db10b1755
  16:     0x558efadaf784 - std::sys_common::backtrace::__rust_begin_short_backtrace::hca6e18ab039f2374
  17:     0x558efad852e7 - _ZN3std9panicking3try7do_call17hb724e7ee2c942bc9E.llvm.18254109579811531464
  18:     0x558efd6542b9 - __rust_maybe_catch_panic
                        at libpanic_unwind/lib.rs:106
  19:     0x558efaca9b10 - <F as alloc::boxed::FnBox<A>>::call_box::h6d032580d207cdb7
  20:     0x558efd62d72a - <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
  21:     0x558efd62b9b5 - std::sys::unix::thread::Thread::new::thread_start::h661e40e1cea4ad5b
                        at libstd/sys/unix/thread.rs:90
  22:     0x7f549700f6da - start_thread
  23:     0x7f54955c488e - __clone
  24:                0x0 - <unknown>
ERROR 2018-08-15T01:12:16Z: servo: called `Result::unwrap()` on an `Err` value: Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" })
stack backtrace:
   0:     0x558efd61910c - backtrace::backtrace::trace::h13752643c1b9ba7d
   1:     0x558efd618f42 - <backtrace::capture::Backtrace as core::default::Default>::default::h7d71ba4baaf56702
   2:     0x558efd618f88 - backtrace::capture::Backtrace::new::h51b3adccf40d0f84
   3:     0x558efa9c7a68 - servo::main::{{closure}}::h99a539a58e8f7180
   4:     0x558efd642a83 - std::panicking::rust_panic_with_hook::h75f53ae1ba39714f
                        at libstd/panicking.rs:479
   5:     0x558efd642629 - std::panicking::continue_panic_fmt::h5f5c2db8ab083e0d
                        at libstd/panicking.rs:390
   6:     0x558efd642525 - rust_begin_unwind
                        at libstd/panicking.rs:325
   7:     0x558efd66469b - core::panicking::panic_fmt::h28ab0e0b2f3bdb57
                        at libcore/panicking.rs:77
   8:     0x558efcab8d4d - core::result::unwrap_failed::he7e56b67caef4b34
   9:     0x558efcaa9480 - webrender_api::api::RenderApi::update_resources::h1d405b5fa047c77d
  10:     0x558efc475153 - azure::azure_hl::DataSourceSurface::with_data::h6181e9c998b3fce0
  11:     0x558efc410ed8 - canvas::canvas_data::CanvasData::send_data::hc8be4272848f4e44
  12:     0x558efc412524 - canvas::canvas_paint_thread::CanvasPaintThread::start::{{closure}}::h73060c275dff56f7
  13:     0x558efc405275 - std::sys_common::backtrace::__rust_begin_short_backtrace::he9d2f57106a3163e
  14:     0x558efc406aa7 - _ZN3std9panicking3try7do_call17h531e394c1b9c4854E.llvm.14400003529351726512
  15:     0x558efd6542b9 - __rust_maybe_catch_panic
                        at libpanic_unwind/lib.rs:106
  16:     0x558efc3f1998 - <F as alloc::boxed::FnBox<A>>::call_box::hd0f7628b667440ed
  17:     0x558efd62d72a - <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
  18:     0x558efd62b9b5 - std::sys::unix::thread::Thread::new::thread_start::h661e40e1cea4ad5b
                        at libstd/sys/unix/thread.rs:90
  19:     0x7f549700f6da - start_thread
  20:     0x7f54955c488e - __clone
  21:                0x0 - <unknown>
ERROR 2018-08-15T01:12:16Z: servo: called `Result::unwrap()` on an `Err` value: Io(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" })
called `Result::unwrap()` on an `Err` value: Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }) (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(2), index: PipelineIndex(4) }, at libcore/result.rs:945)
Stack trace for thread "LayoutThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }"
stack backtrace:
   0:     0x558efd61910c - backtrace::backtrace::trace::h13752643c1b9ba7d
   1:     0x558efd618f42 - <backtrace::capture::Backtrace as core::default::Default>::default::h7d71ba4baaf56702
   2:     0x558efd618f88 - backtrace::capture::Backtrace::new::h51b3adccf40d0f84
   3:     0x558efa9c567a - servo::install_crash_handler::handler::h3da374efccc9dfdb
   4:     0x558efd1ef494 - AsmJSFaultHandler
                        at /home/fabrice/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.51.4/mozjs/js/src/asmjs/WasmSignalHandlers.cpp:1171
   5:     0x7f549701a88f - <unknown>
   6:     0x558efad952e0 - <std::sync::mpsc::Sender<T> as core::ops::drop::Drop>::drop::h352bcdc24c539e0f
   7:     0x558efaca53bb - core::ptr::drop_in_place::h6bb73710c0bfe147
   8:     0x558efacbd8ad - layout_thread::LayoutThread::handle_request_helper::h33675a61a715bf4a
   9:     0x558efacb87e3 - layout_thread::LayoutThread::start::he4ea5e26c42e4105
  10:     0x558efad4cc33 - profile_traits::mem::ProfilerChan::run_with_memory_reporting::h23e4af0db10b1755
  11:     0x558efadaf784 - std::sys_common::backtrace::__rust_begin_short_backtrace::hca6e18ab039f2374
  12:     0x558efad852e7 - _ZN3std9panicking3try7do_call17hb724e7ee2c942bc9E.llvm.18254109579811531464
  13:     0x558efd6542b9 - __rust_maybe_catch_panic
                        at libpanic_unwind/lib.rs:106
  14:     0x558efaca9b10 - <F as alloc::boxed::FnBox<A>>::call_box::h6d032580d207cdb7
  15:     0x558efd62d72a - <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
  16:     0x558efd62b9b5 - std::sys::unix::thread::Thread::new::thread_start::h661e40e1cea4ad5b
                        at libstd/sys/unix/thread.rs:90
  17:     0x7f549700f6da - start_thread
  18:     0x7f54955c488e - __clone
  19:                0x0 - <unknown>
stack backtrace:
   0:     0x558efd61910c - backtrace::backtrace::trace::h13752643c1b9ba7d
   1:     0x558efd618f42 - <backtrace::capture::Backtrace as core::default::Default>::default::h7d71ba4baaf56702
   2:     0x558efd618f88 - backtrace::capture::Backtrace::new::h51b3adccf40d0f84
   3:     0x558efa9c7a68 - servo::main::{{closure}}::h99a539a58e8f7180
   4:     0x558efd642a83 - std::panicking::rust_panic_with_hook::h75f53ae1ba39714f
                        at libstd/panicking.rs:479
   5:     0x558efd642629 - std::panicking::continue_panic_fmt::h5f5c2db8ab083e0d
                        at libstd/panicking.rs:390
   6:     0x558efd642525 - rust_begin_unwind
                        at libstd/panicking.rs:325
   7:     0x558efd66469b - core::panicking::panic_fmt::h28ab0e0b2f3bdb57
                        at libcore/panicking.rs:77
   8:     0x558efbceefbd - core::result::unwrap_failed::hc1af4b85d4051f7b
   9:     0x558efbcfdfc9 - <layout::fragment::Fragment as layout::display_list::builder::FragmentDisplayListBuilding>::build_fragment_type_specific_display_items::h0157d1b492555a25
  10:     0x558efbcfd567 - <layout::fragment::Fragment as layout::display_list::builder::FragmentDisplayListBuilding>::build_display_list_no_damage::h57a7d002b88c1470
  11:     0x558efbcdf077 - <layout::inline::InlineFlow as layout::display_list::builder::InlineFlowDisplayListBuilding>::build_display_list_for_inline::h7b8001df3b0badf0
  12:     0x558efbcf38b0 - layout::traversal::BuildDisplayList::traverse::hd8d61e727e316aec
  13:     0x558efbcf3902 - layout::traversal::BuildDisplayList::traverse::hd8d61e727e316aec
  14:     0x558efbcf3902 - layout::traversal::BuildDisplayList::traverse::hd8d61e727e316aec
  15:     0x558efbcf1b19 - layout::sequential::build_display_list_for_subtree::h9b9f43c9ac4273f2
  16:     0x558efacff795 - profile_traits::time::profile::h28c74c64475c40a9
  17:     0x558efacc1528 - layout_thread::LayoutThread::perform_post_style_recalc_layout_passes::h4f7fb95c417e3a79
  18:     0x558efacbf5b3 - layout_thread::LayoutThread::handle_reflow::h6b0835675a0003b0
  19:     0x558efad007ae - profile_traits::time::profile::h9f1e51aa0fe8cc13
  20:     0x558efacb9b1b - layout_thread::LayoutThread::handle_request_helper::h33675a61a715bf4a
  21:     0x558efacb8581 - layout_thread::LayoutThread::start::he4ea5e26c42e4105
  22:     0x558efad4cc33 - profile_traits::mem::ProfilerChan::run_with_memory_reporting::h23e4af0db10b1755
  23:     0x558efadaf784 - std::sys_common::backtrace::__rust_begin_short_backtrace::hca6e18ab039f2374
  24:     0x558efad852e7 - _ZN3std9panicking3try7do_call17hb724e7ee2c942bc9E.llvm.18254109579811531464
  25:     0x558efd6542b9 - __rust_maybe_catch_panic
                        at libpanic_unwind/lib.rs:106
  26:     0x558efaca9b10 - <F as alloc::boxed::FnBox<A>>::call_box::h6d032580d207cdb7
  27:     0x558efd62d72a - <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
  28:     0x558efd62b9b5 - std::sys::unix::thread::Thread::new::thread_start::h661e40e1cea4ad5b
                        at libstd/sys/unix/thread.rs:90
  29:     0x7f549700f6da - start_thread
  30:     0x7f54955c488e - __clone
  31:                0x0 - <unknown>
Stack trace for thread "LayoutThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }"
stack backtrace:
   0:     0x558efd61910c - backtrace::backtrace::trace::h13752643c1b9ba7d
   1:     0x558efd618f42 - <backtrace::capture::Backtrace as core::default::Default>::default::h7d71ba4baaf56702
ERROR 2018-08-15T01:12:16Z: servo: called `Result::unwrap()` on an `Err` value: Io(Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" })
   2:     0x558efd618f88 - backtrace::capture::Backtrace::new::h51b3adccf40d0f84
   3:     0x558efa9c567a - servo::install_crash_handler::handler::h3da374efccc9dfdb
   4:     0x7f54954e1f1f - <unknown>
   5:     0x558efa9c5702 - servo::install_crash_handler::handler::h3da374efccc9dfdb
   6:     0x558efd1ef494 - AsmJSFaultHandler
                        at /home/fabrice/.cargo/registry/src/github.com-1ecc6299db9ec823/mozjs_sys-0.51.4/mozjs/js/src/asmjs/WasmSignalHandlers.cpp:1171
   7:     0x7f549701a88f - <unknown>
   8:     0x558efad952e0 - <std::sync::mpsc::Sender<T> as core::ops::drop::Drop>::drop::h352bcdc24c539e0f
   9:     0x558efaca53bb - core::ptr::drop_in_place::h6bb73710c0bfe147
  10:     0x558efacbd8ad - layout_thread::LayoutThread::handle_request_helper::h33675a61a715bf4a
  11:     0x558efacb87e3 - layout_thread::LayoutThread::start::he4ea5e26c42e4105
  12:     0x558efad4cc33 - profile_traits::mem::ProfilerChan::run_with_memory_reporting::h23e4af0db10b1755
  13:     0x558efadaf784 - std::sys_common::backtrace::__rust_begin_short_backtrace::hca6e18ab039f2374
  14:     0x558efad852e7 - _ZN3std9panicking3try7do_call17hb724e7ee2c942bc9E.llvm.18254109579811531464
  15:     0x558efd6542b9 - __rust_maybe_catch_panic
                        at libpanic_unwind/lib.rs:106
  16:     0x558efaca9b10 - <F as alloc::boxed::FnBox<A>>::call_box::h6d032580d207cdb7
  17:     0x558efd62d72a - <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
  18:     0x558efd62b9b5 - std::sys::unix::thread::Thread::new::thread_start::h661e40e1cea4ad5b
                        at libstd/sys/unix/thread.rs:90
  19:     0x7f549700f6da - start_thread
  20:     0x7f54955c488e - __clone
  21:                0x0 - <unknown>
Servo exited with return value -4

ping @gw3583

@jdm jdm added I-panic Servo encounters a panic. A-webrender labels Aug 15, 2018
@jdm
Copy link
Member

jdm commented Feb 5, 2019

Instead of the previous assertion, I now see a stack overflow:

thread 'WRSceneBuilder#0' has overflowed its stack
fatal runtime error: stack overflow
Redirecting call to abort() to mozalloc_abort

Stack trace for thread "WRSceneBuilder#0"
stack backtrace:
   0:        0x104c411de - __ZN9backtrace9backtrace5trace17h4c592a1c902b528fE
   1:        0x104c4011c - __ZN72_$LT$backtrace..capture..Backtrace$u20$as$u20$core..default..Default$GT$7default17hbd9a991ebe7fe79cE
   2:        0x102a91264 - __ZN5servo21install_crash_handler7handler17h2b84bb8b3c679b14E
   3:     0x7fffd81e1b39 - __sigtramp
   4:        0x1054db890 - __Z14mozalloc_abortPKc
   5:        0x1054db8ac - _abort
   6:        0x1056b7b88 - __ZN3std3sys4unix14abort_internal17hb4a4d7d00017fd0aE
   7:        0x1056ada4a - __ZN3std10sys_common4util5abort17h4c7337aecb60e835E
   8:        0x1056b7250 - __ZN3std3sys4unix14stack_overflow3imp14signal_handler17h7d7f1820135f01faE
   9:     0x7fffd81e1b39 - __sigtramp
  10:        0x1047b5a68 - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  11:        0x1047ba732 - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  12:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  13:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  14:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  15:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  16:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  17:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  18:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  19:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  20:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  21:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  22:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  23:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  24:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  25:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  26:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  27:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  28:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  29:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  30:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  31:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  32:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  33:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  34:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  35:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  36:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  37:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  38:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  39:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  40:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  41:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  42:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  43:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  44:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  45:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  46:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  47:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  48:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  49:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  50:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  51:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  52:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  53:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  54:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  55:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  56:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  57:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  58:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  59:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  60:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  61:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  62:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  63:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  64:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  65:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  66:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  67:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  68:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  69:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  70:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  71:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  72:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  73:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  74:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  75:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  76:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  77:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  78:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  79:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  80:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  81:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  82:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  83:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  84:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  85:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  86:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  87:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  88:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  89:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  90:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  91:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  92:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  93:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  94:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  95:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  96:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  97:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  98:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
  99:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 100:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 101:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 102:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 103:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 104:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 105:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 106:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 107:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 108:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 109:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 110:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 111:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 112:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 113:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 114:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 115:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 116:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 117:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 118:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 119:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 120:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 121:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 122:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 123:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 124:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 125:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 126:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 127:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 128:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 129:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 130:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 131:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 132:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 133:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 134:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 135:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 136:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 137:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 138:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 139:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 140:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 141:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 142:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 143:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 144:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 145:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 146:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 147:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 148:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 149:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 150:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 151:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 152:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 153:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 154:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 155:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 156:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 157:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 158:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 159:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 160:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 161:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 162:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 163:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 164:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 165:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 166:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 167:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 168:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 169:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 170:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 171:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 172:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 173:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 174:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 175:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 176:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 177:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 178:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 179:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 180:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 181:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 182:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 183:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 184:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 185:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 186:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 187:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 188:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 189:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 190:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 191:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 192:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 193:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 194:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 195:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 196:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 197:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 198:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 199:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 200:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 201:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 202:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 203:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 204:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 205:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 206:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 207:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 208:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 209:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 210:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 211:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 212:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 213:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 214:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 215:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 216:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 217:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 218:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 219:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 220:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 221:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 222:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 223:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 224:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 225:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 226:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 227:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 228:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 229:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 230:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 231:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 232:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 233:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 234:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 235:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 236:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 237:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 238:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 239:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 240:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 241:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 242:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 243:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 244:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 245:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 246:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 247:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 248:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 249:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 250:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 251:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 252:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 253:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 254:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 255:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 256:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 257:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 258:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 259:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 260:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 261:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 262:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 263:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 264:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 265:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 266:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 267:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 268:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 269:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 270:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 271:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 272:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 273:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 274:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 275:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 276:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 277:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 278:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 279:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 280:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 281:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 282:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 283:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 284:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 285:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 286:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 287:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 288:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 289:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 290:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 291:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 292:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 293:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 294:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 295:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 296:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 297:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 298:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 299:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 300:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 301:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 302:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 303:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 304:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 305:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 306:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 307:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 308:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 309:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 310:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 311:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 312:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 313:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 314:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 315:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 316:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 317:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 318:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 319:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 320:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 321:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 322:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 323:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 324:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 325:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 326:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 327:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 328:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 329:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 330:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 331:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 332:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 333:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 334:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 335:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 336:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 337:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 338:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 339:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 340:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 341:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 342:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 343:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 344:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 345:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 346:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 347:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 348:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 349:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 350:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 351:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 352:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 353:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 354:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 355:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 356:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 357:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 358:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 359:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 360:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 361:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 362:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 363:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 364:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 365:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 366:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 367:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 368:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 369:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 370:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 371:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 372:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 373:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 374:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 375:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 376:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 377:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 378:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 379:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 380:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 381:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 382:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 383:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 384:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 385:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 386:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 387:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 388:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 389:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 390:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 391:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 392:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 393:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 394:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 395:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 396:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 397:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 398:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 399:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 400:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 401:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 402:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 403:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 404:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 405:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 406:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 407:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 408:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 409:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 410:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 411:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 412:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 413:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 414:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 415:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 416:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 417:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 418:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 419:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 420:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 421:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 422:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 423:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 424:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 425:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 426:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 427:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 428:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 429:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 430:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 431:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 432:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 433:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 434:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 435:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 436:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 437:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 438:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 439:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 440:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 441:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 442:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 443:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 444:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 445:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 446:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 447:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 448:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 449:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 450:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 451:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 452:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 453:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 454:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 455:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 456:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 457:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 458:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 459:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 460:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 461:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 462:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 463:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 464:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 465:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 466:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 467:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 468:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 469:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 470:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 471:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 472:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 473:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 474:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 475:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 476:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 477:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 478:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 479:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 480:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 481:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 482:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 483:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 484:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 485:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 486:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 487:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 488:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 489:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 490:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 491:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 492:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 493:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 494:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 495:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 496:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 497:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 498:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 499:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 500:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 501:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 502:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 503:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 504:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 505:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 506:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 507:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 508:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 509:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 510:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 511:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 512:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 513:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 514:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 515:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 516:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 517:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 518:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 519:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 520:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 521:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 522:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 523:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 524:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 525:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 526:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 527:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 528:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 529:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 530:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 531:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 532:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 533:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 534:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 535:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 536:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 537:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 538:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 539:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 540:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 541:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 542:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 543:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 544:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 545:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 546:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 547:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 548:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 549:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 550:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 551:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 552:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 553:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 554:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 555:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 556:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 557:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 558:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 559:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 560:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 561:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 562:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 563:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 564:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 565:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 566:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 567:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 568:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 569:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 570:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 571:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 572:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 573:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 574:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 575:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 576:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 577:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 578:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 579:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 580:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 581:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 582:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 583:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 584:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 585:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 586:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 587:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 588:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 589:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 590:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 591:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 592:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 593:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 594:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 595:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 596:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 597:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 598:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 599:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 600:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 601:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 602:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 603:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 604:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 605:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 606:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 607:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 608:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 609:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 610:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 611:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 612:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 613:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 614:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 615:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 616:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 617:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 618:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 619:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 620:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 621:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 622:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 623:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 624:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 625:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 626:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 627:        0x1047b9a8d - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 628:        0x1047ba732 - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 629:        0x1047b59f1 - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_root17h59611fe7ea2d52b0E
 630:        0x1047be7b5 - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 631:        0x1047ba732 - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_item17hc00985ffe61fbf84E
 632:        0x1047b59f1 - __ZN9webrender22display_list_flattener20DisplayListFlattener12flatten_root17h59611fe7ea2d52b0E
 633:        0x1047ec277 - __ZN9webrender13scene_builder12SceneBuilder3run17hd6a0a95a91f0012dE
 634:        0x104852971 - __ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17he8f121e025087ec9E
 635:        0x1048aa0da - __ZN3std9panicking3try7do_call17h71b39b6656339f5aE.llvm.17987528108077420086
 636:        0x1056b81ae - ___rust_maybe_catch_panic
 637:        0x1048af296 - __ZN50_$LT$F$u20$as$u20$alloc..boxed..FnBox$LT$A$GT$$GT$8call_box17heea15c61f925b8eeE
 638:        0x1056b773b - __ZN3std3sys4unix6thread6Thread3new12thread_start17hc1f19dfe8b570103E
 639:     0x7fffd81eb93a - __pthread_body
 640:     0x7fffd81eb886 - __pthread_start

@jdm jdm added I-crash No impact; the issue is one of maintainability or tidiness. C-needs minimized testcase and removed I-panic Servo encounters a panic. labels Feb 5, 2019
@dralley
Copy link
Contributor

dralley commented Mar 27, 2020

@highfive: assign me

@highfive highfive added the C-assigned There is someone working on resolving the issue label Mar 27, 2020
@highfive
Copy link

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

@dralley
Copy link
Contributor

dralley commented Mar 27, 2020

The issue is right here: https://github.com/servo/webrender/blob/master/webrender/src/renderer.rs#L3647

The texture texture_id is not present in the texture_cache_map. I'm unfamiliar with any of this code, so, couple questions:

  • should the texture be there? If so, how would I start debugging the reason why it isn't (unless that reason is obvious to someone).
    • I guess the problem could also be Servo setting up the state incorrectly? In which case, how would I go about debugging that?
  • "cache" implies that a texture not being present would be a semi-expected condition. If this is the case, and the texture shouldn't be expected to be present, then what should update_texture_cache be doing to handle that condition?

@jdm
Copy link
Member

jdm commented Mar 27, 2020

Unfortunately nobody on the servo team contributes to the webrender project, so we aren't in a good position to answer those questions. The folks in #gfx on Matrix will be better positioned for that.

@dralley
Copy link
Contributor

dralley commented Mar 27, 2020

I should have also mentioned, both of the traces above are out of date. The current failure backtrace is:

[dalley@localhost servo]$ python3 ./mach run http://browserbench.org/MotionMark/
no entry found for key (thread main, at /rustc/45ebd5808afd3df7ba842797c0fcd4447ddf30fb/src/libstd/collections/hash/map.rs:1023)
stack backtrace:
   0: servo::backtrace::print
   1: servo::main::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: rust_begin_unwind
   4: core::panicking::panic_fmt
   5: core::option::expect_failed
   6: core::option::Option<T>::expect
   7: <std::collections::hash::map::HashMap<K,V,S> as core::ops::index::Index<&Q>>::index
   8: webrender::renderer::Renderer::update_texture_cache::{{closure}}
   9: webrender::profiler::TimeProfileCounter::profile
  10: webrender::renderer::Renderer::update_texture_cache
  11: webrender::renderer::Renderer::render_impl::{{closure}}
  12: webrender::profiler::TimeProfileCounter::profile
  13: webrender::renderer::Renderer::render_impl
  14: webrender::renderer::Renderer::render
  15: compositing::compositor::IOCompositor<Window>::composite_specific_target::{{closure}}
  16: profile_traits::time::profile
  17: compositing::compositor::IOCompositor<Window>::composite_specific_target
  18: compositing::compositor::IOCompositor<Window>::composite
  19: compositing::compositor::IOCompositor<Window>::perform_updates
  20: servo::Servo<Window>::handle_events
  21: servo::app::App::handle_events
  22: servo::app::App::run_loop
  23: servo::app::App::run
  24: servo::main
  25: std::rt::lang_start::{{closure}}
  26: std::rt::lang_start_internal
  27: std::rt::lang_start
  28: main
  29: __libc_start_main
  30: _start
[2020-03-27T03:12:51Z ERROR servo] no entry found for key

@dralley
Copy link
Contributor

dralley commented Mar 27, 2020

Recording some discussion on gfx matrix chat for posterity:

dralley: Yep, that texture is definitely expected to exist there when accessed via that map. I'm not really sure how this could occur, I wonder if it might be possible if Servo registers a texture and then updates it with conflicting descriptor types (such as external vs. normal), but that could be totally on the wrong track. You'll probably need to debug it by adding a heap of print logs that trace the value it's looking for, if that ever gets added to that map etc.
dralley: I guess another possibility is that this panic might occur if Servo removes an image via the API and then tries to draw with it, although that shouldn't in theory cause a panic - but might be worth logging if something in the image removal APIs that Servo calls.

@dralley
Copy link
Contributor

dralley commented Mar 27, 2020

When I drop a debug print in here:

                for (texture_id, updates) in update_list.updates {
                    println!("{:?}", texture_id);
                    let texture = &self.texture_resolver.texture_cache_map[&texture_id];

I get

[dalley@localhost servo]$ python3 ./mach run http://browserbench.org/MotionMark/
CacheTextureId(1)
CacheTextureId(1)
CacheTextureId(18446744073709551615)
no entry found for key  (...snip...)

edit: probably not an overflow problem, probably this: https://github.com/servo/webrender/blob/master/webrender/src/texture_cache.rs#L164

dralley: That CacheTextureId probably originates from https://searchfox.org/mozilla-central/rev/8526066f548af9ec3ebb462ff73c47ccc183f533/gfx/wr/webrender/src/texture_cache.rs#164
dralley: I'm not entirely sure what could cause it. I'm not super familiar with Servo's usage of WR. It looks like that new_empty function is only called when the size of the cache entry is 0 or negative: https://searchfox.org/mozilla-central/rev/8526066f548af9ec3ebb462ff73c47ccc183f533/gfx/wr/webrender/src/texture_cache.rs#1472 That might be a good place to start looking
texture_cache.rs - mozsearch

@cbrewster
Copy link
Contributor

cbrewster commented Mar 27, 2020

@dralley I found a smaller test-case for this. The problem happens when we put a 0x0 canvas image in a display list (I add a width/height to the style so this isn't culled from the display list). This will cause Servo to add the 0x0 image to WebRender which creates that empty texture cache entry (https://searchfox.org/mozilla-central/rev/8526066f548af9ec3ebb462ff73c47ccc183f533/gfx/wr/webrender/src/texture_cache.rs#1472). Later when WebRender tries to update the texture cache it encounters the invalid CacheTextureId.

I'm not exactly sure what Servo should be doing here, but I hope this gives you a good place to start looking!

<canvas id="myCanvas" width="0" height="0" style="width:10px; height:10px;"></canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.clearRect(0, 0, c.width, c.height);
</script>

The canvas image is uploaded to WebRender here:

pub fn send_data(&mut self, chan: IpcSender<CanvasImageData>) {
let size = self.drawtarget.get_size();
let descriptor = webrender_api::ImageDescriptor {
size: webrender_api::units::DeviceIntSize::new(size.width, size.height),
stride: None,
format: webrender_api::ImageFormat::BGRA8,
offset: 0,
flags: webrender_api::ImageDescriptorFlags::empty(),
};
let data = self.drawtarget.snapshot_data_owned();
let data = webrender_api::ImageData::Raw(Arc::new(data));
let mut txn = webrender_api::Transaction::new();
match self.image_key {
Some(image_key) => {
debug!("Updating image {:?}.", image_key);
txn.update_image(image_key, descriptor, data, &DirtyRect::All);
},
None => {
self.image_key = Some(self.webrender_api.generate_image_key());
debug!("New image {:?}.", self.image_key);
txn.add_image(self.image_key.unwrap(), descriptor, data, None);
},
}
if let Some(image_key) =
mem::replace(&mut self.very_old_image_key, self.old_image_key.take())
{
txn.delete_image(image_key);
}
self.webrender_api.update_resources(txn.resource_updates);
let data = CanvasImageData {
image_key: self.image_key.unwrap(),
};
chan.send(data).unwrap();
}

@dralley
Copy link
Contributor

dralley commented Mar 28, 2020

@cbrewster That information is super helpful, thanks!

It looks like it used to be the case that WebRender would simply assert! that the incoming texture wasn't "empty", but as of a couple months ago, handling "empty" textures is actually supposed to be supported: servo/webrender@2994e95

When I revert that commit, I get a panic at the assert location. So if this is restriction was deliberately relaxed, then I think the problem is not necessarily the fact that Servo is feeding WebRender with these empty textures, it's just that support for that is not complete? Unless I'm missing something.

=================

A cache entry is created for so-called "empty" textures (where at least one dimension <=0), but it is never actually allocated. See this code: https://github.com/servo/webrender/blob/master/webrender/src/texture_cache.rs#L1472-L1486

It looks like texture_cache_map is populated from updatelist.allocations, so the fact that it was never allocated means it is also never added to the texture_cache_map: https://github.com/servo/webrender/blob/master/webrender/src/renderer.rs#L3619

But it's still present in updatelist.updates, so when it tries to look up the texture, it fails.

@dralley
Copy link
Contributor

dralley commented Mar 29, 2020

This patch fixes the minimal test case - it now loads without error. Does it look correct?

master...dralley:fix-motionmark

Of course, that is not enough to fix MotionMark. I'm not sure if this is a side effect of the change, an entirely different issue, an symptom of an incomplete fix, etc.

[dalley@localhost servo]$ python3 ./mach run https://browserbench.org/MotionMark/
index out of bounds: the len is 0 but the index is 0 (thread CanvasThread, at /rustc/45ebd5808afd3df7ba842797c0fcd4447ddf30fb/src/libcore/slice/mod.rs:2842)
stack backtrace:
   0: servo::backtrace::print
   1: servo::main::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: rust_begin_unwind
   4: core::panicking::panic_fmt
   5: core::panicking::panic_bounds_check
   6: <usize as core::slice::SliceIndex<[T]>>::index
   7: core::slice::<impl core::ops::index::Index<I> for [T]>::index
   8: <alloc::vec::Vec<T> as core::ops::index::Index<I>>::index
   9: raqote::rasterizer::Rasterizer::add_edge
  10: raqote::draw_target::DrawTarget::line_to
  11: raqote::draw_target::DrawTarget::apply_path
  12: raqote::draw_target::DrawTarget::fill
  13: raqote::draw_target::DrawTarget::stroke
  14: canvas::raqote_backend::<impl canvas::canvas_data::GenericDrawTarget for raqote::draw_target::DrawTarget>::stroke
  15: canvas::canvas_data::CanvasData::stroke
  16: canvas::canvas_paint_thread::CanvasPaintThread::process_canvas_2d_message
  17: canvas::canvas_paint_thread::CanvasPaintThread::start::{{closure}}
  18: std::sys_common::backtrace::__rust_begin_short_backtrace
  19: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}
  20: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  21: std::panicking::try::do_call
  22: __rust_try
  23: std::panicking::try::do_try
  24: std::panicking::try
  25: std::panic::catch_unwind
  26: std::thread::Builder::spawn_unchecked::{{closure}}
  27: core::ops::function::FnOnce::call_once{{vtable.shim}}
  28: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
  29: std::sys::unix::thread::Thread::new::thread_start
  30: start_thread
  31: __clone
[2020-03-29T21:20:20Z ERROR servo] index out of bounds: the len is 0 but the index is 0
[2020-03-29T21:21:50Z ERROR script::dom::bindings::error] Error at https://browserbench.org/MotionMark/tests/resources/main.js:164:24 experimentAtComplexity is undefined

@jdm
Copy link
Member

jdm commented Mar 29, 2020

That looks like an issue that should be filed in https://github.com/jrmuizel/raqote/ once we identify the 2d canvas operation that is triggering it.

@cbrewster
Copy link
Contributor

@dralley that patch looks good to me!

@dralley
Copy link
Contributor

dralley commented Mar 30, 2020

It looks like it fails while trying to draw a line to a point with a negative y-coordinate.

add_edge(start=(811.1663,2.648089) end=(811.1559,2.6395216))
add_edge(start=(811.1559,2.6395216) end=(810.82837,3.039318))
add_edge(start=(810.82837,3.039318) end=(811.1763,2.6571274))
add_edge(start=(811.1763,2.6571274) end=(811.1763,2.6571274))
add_edge(start=(811.1559,2.6395216) end=(807.2125,-0.5911845))
index out of bounds: the len is 0 but the index is 0 (thread CanvasThread, at /rustc/45ebd5808afd3df7ba842797c0fcd4447ddf30fb/src/libcore/slice/mod.rs:2842)

@cbrewster
Copy link
Contributor

@dralley it would be great if you could open a pull request with your change from above. My guess is the raqote panic is due to raqote assuming its draw target will not be zero-sized (similar issue to here, but different enough to maybe have its own issue filed).

Also, just as a followup, the zero-sized cache item support in WebRender will likely be removed soon, it was added as a invalid glyph-caching mechanism, but was never used in the way it was intended. (more info https://bugzilla.mozilla.org/show_bug.cgi?id=1595768)

bors-servo added a commit that referenced this issue Apr 3, 2020
Don't send empty canvases to WebRender

If any dimension of a canvas is 0, don't try to display it as it causes
problems inside webrender.

Minimal test case available here: #21411 (comment)

---
<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #___ (GitHub issue number if applicable)

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- 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. -->
@dralley
Copy link
Contributor

dralley commented Apr 7, 2020

@cbrewster The reason:

But, I have no idea which part of this needs to be fixed.

@cbrewster
Copy link
Contributor

cbrewster commented Apr 7, 2020

@dralley I'm not very familiar with raqote, it would probably be worth opening an issue on the raqote repository and linking this issue.

A possible solution on Servo's side would be to not issue canvas commands to the raqote draw target if the target is 0x0.

@dralley
Copy link
Contributor

dralley commented Apr 7, 2020

With the new raqote patch, it runs without crashing (although some benchmarks don't display properly or at all) until hitting this:

[2020-04-07T14:18:14Z ERROR script::dom::bindings::error] Error at https://browserbench.org/MotionMark/resources/extensions.js:112:13 prefix is undefined

which comes from

    browserPrefix: function()
    {
        // Get the HTML element's CSSStyleDeclaration
        var styles = window.getComputedStyle(document.documentElement, '');

        // Convert the styles list to an array
        var stylesArray = Array.prototype.slice.call(styles);

        // Concatenate all the styles in one big string
        var stylesString = stylesArray.join('');

        // Search the styles string for a known prefix type, settle on Opera if none is found.
        var prefixes = stylesString.match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o']);

        // prefixes has two elements; e.g. for webkit it has ['-webkit-', 'webkit'];
        var prefix = prefixes[1];

        // Have 'O' before 'Moz' in the string so it is matched first.
        var dom = ('WebKit|O|Moz|MS').match(new RegExp(prefix, 'i'))[0];

        // Return all the required prefixes.
        return {
            dom: dom,
            lowercase: prefix,
            css: '-' + prefix + '-',
            js: prefix[0].toUpperCase() + prefix.substr(1)
        };
    },

@jdm
Copy link
Member

jdm commented Apr 7, 2020

I think we could work around that if we added "-moz-transition" to

partial interface CSSStyleDeclaration {
.

@dralley
Copy link
Contributor

dralley commented Apr 8, 2020

@jdm It looks like the current version of that file is auto-generated: https://github.com/servo/servo/blob/master/components/script/dom/webidls/CSSStyleDeclaration.webidl

But I can't seem to find the "GlobalGen.py" file that supposedly created this file, that the comment version references. I did find it in the git history, but it no longer seems to exist under that name. https://github.com/servo/servo/blob/ad02092b12891dee2bd8878019403185fb6f8678/components/script/dom/bindings/codegen/GlobalGen.py

Do you know where it is?

@jdm
Copy link
Member

jdm commented Apr 8, 2020

The generation now happens in

def add_css_properties_attributes(css_properties_json, parser):
css_properties = json.load(open(css_properties_json, "rb"))
idl = "partial interface CSSStyleDeclaration {\n%s\n};\n" % "\n".join(
" [%sCEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString %s;" % (
('Pref="%s", ' % data["pref"] if data["pref"] else ""),
attribute_name
)
for (kind, properties_list) in sorted(css_properties.items())
for (property_name, data) in sorted(properties_list.items())
for attribute_name in attribute_names(property_name)
)
parser.parse(idl.encode("utf-8"), "CSSStyleDeclaration_generated.webidl")
apparently.

@jdm
Copy link
Member

jdm commented Apr 8, 2020

And that script is run during the build script.

@jdm
Copy link
Member

jdm commented Apr 8, 2020

I think the easiest solution would be to modify the contents of css_properties in run.py to add in a -moz-prefixed property.

@dralley
Copy link
Contributor

dralley commented Apr 8, 2020

@jdm Do you think there's possibly a deeper root cause here? I can't say really I understand what is going on with all of the codegen, but it kinda sorta looks like it should already have this prefix when css-properties.json is created?

https://github.com/servo/servo/blob/master/components/style/properties/shorthands/box.mako.rs#L45-L47

7403ec8#diff-ff6bae1de38c0aa051518d70659e67f1L120

@jdm
Copy link
Member

jdm commented Apr 8, 2020

Those extra prefixes aren't used in servo:

# FIXME Servo's DOM architecture doesn't support vendor-prefixed properties.
# See servo/servo#14941.
if self.engine == "gecko":
for (prefix, pref) in property.extra_prefixes:
property.alias.append(('-%s-%s' % (prefix, property.name), pref))

@dralley
Copy link
Contributor

dralley commented Apr 8, 2020

Gotcha

@dralley
Copy link
Contributor

dralley commented Apr 8, 2020

Something like this?

def add_css_properties_attributes(css_properties_json, parser):
    css_properties = json.load(open(css_properties_json, "rb"))

    def format_property_description(attribute_name, data):
        return "  [{maybe_pref}CEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString {attribute_name};".format(
            maybe_pref="" if not data["pref"] else 'Pref="{}", '.format(data["pref"]),
            attribute_name=attribute_name,
        )

    items = []
    for (kind, properties_list) in sorted(css_properties.items()):
        for (property_name, data) in sorted(properties_list.items()):
            for attribute_name in attribute_names(property_name):
                items.append(format_property_description(attribute_name, data))

    # re: servo/servo#21411
    items.append(format_property_description("moz-transition", {"pref": None}))

    idl = "partial interface CSSStyleDeclaration {\n%s\n};\n" % "\n".join(items)

    parser.parse(idl.encode("utf-8"), "CSSStyleDeclaration_generated.webidl")

(when I try to compile, I have this issue)

error[E0046]: not all trait items implemented, missing: `Moz_transition`, `SetMoz_transition`
     --> components/script/dom/cssstyledeclaration.rs:336:1
      |
336   | impl CSSStyleDeclarationMethods for CSSStyleDeclaration {
      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `Moz_transition`, `SetMoz_transition` in implementation
      | 
     ::: /home/dalley/Devel/servo-dev/servo/target/debug/build/script-f96e7c049cbd3024/out/Bindings/CSSStyleDeclarationBinding.rs:41603:5
      |
41603 |     fn Moz_transition(&self) -> DOMString;
      |     -------------------------------------- `Moz_transition` from trait
41604 |     fn SetMoz_transition(&self, value: DOMString) -> ErrorResult;
      |     ------------------------------------------------------------- `SetMoz_transition` from trait

@jdm
Copy link
Member

jdm commented Apr 8, 2020

That's the idea. You just need to add the missing functions to cssstyledeclaration, and it should be possible to just return the value of calling self.Transition() and self.SetTransition(value) respectively.

@dralley
Copy link
Contributor

dralley commented Apr 9, 2020

Unfortunately I'm still getting the same error after these changes. Here's my branch: master...dralley:fix-motionmark

@dralley
Copy link
Contributor

dralley commented Apr 10, 2020

^ means the "prefix is undefined" error, not the compile error -- should have specified

[2020-04-07T14:18:14Z ERROR script::dom::bindings::error] Error at https://browserbench.org/MotionMark/resources/extensions.js:112:13 prefix is undefined

@jdm
Copy link
Member

jdm commented Apr 10, 2020

It would be worth figuring out what the output of that code snippet from earlier is in Gecko, and compare it to the output for Servo. This would help isolate what we should be doing differently.

@dralley
Copy link
Contributor

dralley commented Apr 10, 2020

So it looks like the problem is actually the first line of the function. Using

<script>
var styles = window.getComputedStyle(document.documentElement, '');
console.log(styles);
console.log(JSON.stringify(styles));
</script>

I get

[object CSSStyleDeclaration]
{}

Whereas Firefox will return a CSS2Properties object with hundreds of fields.

@jdm
Copy link
Member

jdm commented Apr 10, 2020

Hmm, I wonder if we should have a toJson method in the WebIDL.

@jdm
Copy link
Member

jdm commented Apr 10, 2020

However https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface doesn't include one. I wonder what's different about Gecko's IDL?

@dralley
Copy link
Contributor

dralley commented Apr 13, 2020

"CSSStyleDeclaration.webidl" looks basically the same between the two.

Gecko) https://github.com/mozilla/gecko-dev/blob/master/dom/webidl/CSSStyleDeclaration.webidl

Servo) https://github.com/servo/servo/blob/master/components/script/dom/webidls/CSSStyleDeclaration.webidl

Although, going by the type of the object returned by Firefox, what it's actually using is this:

https://github.com/mozilla/gecko-dev/blob/master/dom/webidl/CSS2Properties.webidl.in

It kinda looks like it's inheriting from CSSStyleDeclaration.webidl and then adding some other magic stuff created by this script

https://github.com/mozilla/gecko-dev/blob/master/dom/bindings/GenerateCSS2PropertiesWebIDL.py

@jdm
Copy link
Member

jdm commented Apr 13, 2020

Given https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#Description and the fact that CSSStyleDeclaration doesn't have a toString or toJSON method, my suspicion is that the DOM proxy code doesn't deal with enumerating properties correctly. One thing that makes this more clear:

console.log(JSON.stringify(Object.getOwnPropertyDescriptors(window.getComputedStyle(document.documentElement))))

In Servo, this prints {}, while in Firefox this prints:

{"0":{"value":"align-content","writable":false,"enumerable":true,"configurable":true},"1":{"value":"align-items","writable":false,"enumerable":true,"configurable":true},"2":{"value":"align-self","writable":false,"enumerable":true,"configurable":true},"3":{"value":"animation-delay","writable":false,"enumerable":true,"configurable":true},"4":{"value":"animation-direction","writable":false,"enumerable":true,"configurable":true},"5":{"value":"animation-duration","writable":false,"enumerable":true,"configurable":true},"6":{"value":"animation-fill-mode","writable":false,"enumerable":true,"configurable":true}...

@jdm
Copy link
Member

jdm commented Apr 13, 2020

Ok, so in Gecko the stringification yields an object with an array index value for each CSS property. My prediction is that this code returns 0 when invoked by this code. We should be checking if self.readonly in the Length getter and returning a more appropriate number instead.

@jdm
Copy link
Member

jdm commented Apr 13, 2020

Unfortunately it's going to be a bit more complicated than that; it looks like the indexed getter on CSSStyleDeclaration is broken for any object returned from getComputedStyle. There's a different code path for getting a property value from that object which performs a layout query, but we don't have a similar code path for the indexed getter.

@dralley
Copy link
Contributor

dralley commented Apr 13, 2020

Do you think that deserves its own issue?

@jdm
Copy link
Member

jdm commented Apr 13, 2020

Yep! Filed #26178. I think we should go ahead and close this issue, since the original panic has been fixed.

@jdm jdm closed this as completed Apr 13, 2020
@dralley
Copy link
Contributor

dralley commented Apr 13, 2020

@jdm Sounds good to me, there's already other issues for tracking motionmark problems. A few of them are no longer applicable, I'll comment on those.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-gfx/uncategorized A-webrender C-assigned There is someone working on resolving the issue I-crash No impact; the issue is one of maintainability or tidiness.
Projects
None yet
Development

No branches or pull requests

5 participants