Fix text runs being interned due to scroll offsets.
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox66 | --- | fixed |
People
(Reporter: gw, Assigned: gw)
Details
Attachments
(1 file)
The offset field in the text run key can change, depending on scroll offsets. The previous fix tried to make this relative to the primitive origin, but this doesn't work on all sites (and causes a talos regression).
Instead, for now we can store the reference frame offset (used for snapping) in the text run instance, to avoid it being a factor in the interning key.
In future, we can tidy this up when we fix up the remaining text snapping related bugs.
Assignee | ||
Updated•7 years ago
|
Assignee | ||
Comment 1•7 years ago
|
||
Comment 3•7 years ago
|
||
Backed out for wrench failures
backout: https://hg.mozilla.org/integration/autoland/rev/32b3bc02aaefacf53c2f843b5a7dd9de852dff87
failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=224382147&repo=autoland
[task 2019-01-28T03:37:28.072Z] test texture_allocator::test_large ... ok
[task 2019-01-28T03:37:28.077Z] test prim_store::text_run::test_struct_sizes ... FAILED
[task 2019-01-28T03:37:28.077Z]
[task 2019-01-28T03:37:28.077Z] failures:
[task 2019-01-28T03:37:28.077Z]
[task 2019-01-28T03:37:28.077Z] ---- prim_store::text_run::test_struct_sizes stdout ----
[task 2019-01-28T03:37:28.077Z] thread 'prim_store::text_run::test_struct_sizes' panicked at 'assertion failed: (left == right)
[task 2019-01-28T03:37:28.077Z] left: 88
,
[task 2019-01-28T03:37:28.077Z] right: 96
: TextRun size changed', webrender/src/prim_store/text_run.rs:326:5
[task 2019-01-28T03:37:28.077Z] stack backtrace:
[task 2019-01-28T03:37:28.077Z] 0: 0x55f0f2d3fddf - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::hab66bb8ff7088f29
[task 2019-01-28T03:37:28.077Z] at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
[task 2019-01-28T03:37:28.077Z] 1: 0x55f0f2d48fc7 - std::sys_common::backtrace::print::h56719ed580ab1bba
[task 2019-01-28T03:37:28.077Z] at libstd/sys_common/backtrace.rs:71
[task 2019-01-28T03:37:28.077Z] at libstd/sys_common/backtrace.rs:59
[task 2019-01-28T03:37:28.078Z] 2: 0x55f0f2d43bef - std::panicking::default_hook::{{closure}}::hf8d811a2c97e4b3a
[task 2019-01-28T03:37:28.078Z] at libstd/panicking.rs:211
[task 2019-01-28T03:37:28.078Z] 3: 0x55f0f2d438ee - std::panicking::default_hook::hc6e051251a5e6b4e
[task 2019-01-28T03:37:28.078Z] at libstd/panicking.rs:221
[task 2019-01-28T03:37:28.078Z] 4: 0x55f0f2d442ce - std::panicking::rust_panic_with_hook::h71214e7ce0f7ac01
[task 2019-01-28T03:37:28.078Z] at libstd/panicking.rs:476
[task 2019-01-28T03:37:28.078Z] 5: 0x55f0f2d43e71 - std::panicking::continue_panic_fmt::ha8b8442f4ea9bcac
[task 2019-01-28T03:37:28.078Z] at libstd/panicking.rs:390
[task 2019-01-28T03:37:28.078Z] 6: 0x55f0f2d43dbe - std::panicking::begin_panic_fmt::h11692d2d479bd3e6
[task 2019-01-28T03:37:28.078Z] at libstd/panicking.rs:345
[task 2019-01-28T03:37:28.078Z] 7: 0x55f0f2c500bd - webrender::prim_store::text_run::test_struct_sizes::hdd848bc40e5e7b07
[task 2019-01-28T03:37:28.078Z] at webrender/src/prim_store/text_run.rs:326
[task 2019-01-28T03:37:28.078Z] 8: 0x55f0f2c74d69 - webrender::prim_store::text_run::test_struct_sizes::{{closure}}::h844c3af88487a71a
[task 2019-01-28T03:37:28.078Z] at webrender/src/prim_store/text_run.rs:318
[task 2019-01-28T03:37:28.078Z] 9: 0x55f0f2babbcd - core::ops::function::FnOnce::call_once::h79d21edaea07eb95
[task 2019-01-28T03:37:28.078Z] at libcore/ops/function.rs:238
[task 2019-01-28T03:37:28.078Z] 10: 0x55f0f2c76a3e - <F as alloc::boxed::FnBox<A>>::call_box::h3d8a1810f3c5b40f
[task 2019-01-28T03:37:28.078Z] at libtest/lib.rs:1468
[task 2019-01-28T03:37:28.078Z] at libcore/ops/function.rs:238
[task 2019-01-28T03:37:28.078Z] at liballoc/boxed.rs:672
[task 2019-01-28T03:37:28.078Z] 11: 0x55f0f2d541f9 - __rust_maybe_catch_panic
[task 2019-01-28T03:37:28.078Z] at libpanic_unwind/lib.rs:102
[task 2019-01-28T03:37:28.078Z] 12: 0x55f0f2c98782 - std::sys_common::backtrace::__rust_begin_short_backtrace::h1cacee00af43ed73
[task 2019-01-28T03:37:28.078Z] at libstd/panicking.rs:289
[task 2019-01-28T03:37:28.078Z] at libstd/panic.rs:392
[task 2019-01-28T03:37:28.078Z] at libtest/lib.rs:1423
[task 2019-01-28T03:37:28.078Z] at libstd/sys_common/backtrace.rs:136
[task 2019-01-28T03:37:28.078Z] 13: 0x55f0f2c99224 - std::panicking::try::do_call::h41920762ece46401
[task 2019-01-28T03:37:28.078Z] at libstd/thread/mod.rs:409
[task 2019-01-28T03:37:28.078Z] at libstd/panic.rs:313
[task 2019-01-28T03:37:28.078Z] at libstd/panicking.rs:310
[task 2019-01-28T03:37:28.078Z] 14: 0x55f0f2d541f9 - __rust_maybe_catch_panic
[task 2019-01-28T03:37:28.078Z] at libpanic_unwind/lib.rs:102
[task 2019-01-28T03:37:28.078Z] 15: 0x55f0f2c8644c - <F as alloc::boxed::FnBox<A>>::call_box::h36495f2c1a4be2b6
[task 2019-01-28T03:37:28.078Z] at libstd/panicking.rs:289
[task 2019-01-28T03:37:28.078Z] at libstd/panic.rs:392
[task 2019-01-28T03:37:28.078Z] at libstd/thread/mod.rs:408
[task 2019-01-28T03:37:28.078Z] at liballoc/boxed.rs:672
[task 2019-01-28T03:37:28.078Z] 16: 0x55f0f2d41a8d - std::sys_common::thread::start_thread::h5213f803a61d7811
[task 2019-01-28T03:37:28.078Z] at liballoc/boxed.rs:682
[task 2019-01-28T03:37:28.078Z] at libstd/sys_common/thread.rs:24
[task 2019-01-28T03:37:28.078Z] 17: 0x55f0f2d36c65 - std::sys::unix::thread::Thread::new::thread_start::he89121f566d2a8c7
[task 2019-01-28T03:37:28.078Z] at libstd/sys/unix/thread.rs:90
[task 2019-01-28T03:37:28.078Z] 18: 0x7fda61d59493 - start_thread
[task 2019-01-28T03:37:28.078Z] 19: 0x7fda61884afe - __clone
[task 2019-01-28T03:37:28.078Z] 20: 0x0 - <unknown>
[task 2019-01-28T03:37:28.078Z]
[task 2019-01-28T03:37:28.078Z]
[task 2019-01-28T03:37:28.078Z] failures:
[task 2019-01-28T03:37:28.078Z] prim_store::text_run::test_struct_sizes
[task 2019-01-28T03:37:28.078Z]
[task 2019-01-28T03:37:28.078Z] test result: FAILED. 42 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
[task 2019-01-28T03:37:28.078Z]
[task 2019-01-28T03:37:28.079Z] error: test failed, to rerun pass '-p webrender --lib'
[taskcluster 2019-01-28 03:37:28.424Z] === Task Finished ===
[taskcluster 2019-01-28 03:37:28.425Z] Unsuccessful task run with exit code: 101 completed in 591.637 seconds
Assignee | ||
Comment 4•7 years ago
|
||
I have fixed the struct size unit tests and re-queued to land again.
Comment 6•7 years ago
|
||
bugherder |
Description
•