Open Bug 1707551 Opened 4 years ago Updated 6 months ago

MOZ_CRASH(assertion failed: (content_origin_f.y - content_origin.y).abs() < 0.01) at gfx/wr/webrender/src/picture.rs:5066

Categories

(Core :: Graphics: WebRender, defect)

defect

Tracking

()

People

(Reporter: tnikkel, Unassigned)

References

(Blocks 1 open bug, )

Details

Go to
view-source:https://bugzilla.mozilla.org/show_bug.cgi?id=1707234
pinch zoom in and out and scroll around, it doesn't take too long before I hit this assert pretty reliably

Hit MOZ_CRASH(assertion failed: (content_origin_f.y - content_origin.y).abs() < 0.01) at gfx/wr/webrender/src/picture.rs:5066
#01: mozglue_static::panic_hook::h7961d06a902460fc[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x7afc009]
#02: core::ops::function::Fn::call::h8a33ff98bb38c6dd[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x7afbe6c]
#03: std::panicking::rust_panic_with_hook::hae2b05f08a320721[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x876675e]
#04: std::panicking::begin_panic::_$u7b$$u7b$closure$u7d$$u7d$::hc82de6efb8197f9d[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x75a0146]
#05: std::sys_common::backtrace::__rust_end_short_backtrace::hdc6323c26b776d75[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x759fbd8]
#06: std::panicking::begin_panic::h156ae029ce8c3c4c[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x889424e]
#07: webrender::picture::PicturePrimitive::take_context::ha0812c28979ed5e1[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x75b665f]
#08: webrender::frame_builder::FrameBuilder::build::h52a016f715f83df8[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x7550853]
#09: webrender::render_backend::Document::build_frame::h012ea1d563393eeb[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x77d1110]
#10: webrender::render_backend::RenderBackend::update_document::h6709c217ad4377ac[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x77d79de]
#11: webrender::render_backend::RenderBackend::process_api_msg::hbbbe276bb99b66aa[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x77d3bf3]
#12: webrender::render_backend::RenderBackend::run::hf612336aafa58a1d[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x77d1793]
#13: std::sys_common::backtrace::__rust_begin_short_backtrace::hac53fd1678989821[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x759ff32]
#14: _$LT$std..panic..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h6b417c1743c6de58[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x771205b]
#15: std::panicking::try::h058f9c22f949fae8[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x770034b]
#16: std::panic::catch_unwind::h035f7e69b5b951eb[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x7712e7b]
#17: core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h5316d05392bcad53[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x74f4066]
#18: std::sys::unix::thread::Thread::new::thread_start::he3e6719579180a65[/Users/tim/ffpush/src/obj-x86_64-apple-darwin19.6.0/toolkit/library/build/XUL +0x877473d]
#19: _pthread_start[/usr/lib/system/libsystem_pthread.dylib +0x6109]
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=28.7214) Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
[Socket 37221, Main Thread] WARNING: Shutting down Socket process early due to a crash!: file /Users/tim/ffpush/src/netwerk/ipc/SocketProcessChild.cpp:160

How bad is this assert?

I wonder what the actual difference there is. If it's still small, then we shouldn't assert on it (and instead warn).
I wasn't able to repro it here. Timothy, would you mind changing the assert locally to print out the actual values (on failure) and seeing what this is?

Severity: -- → S3
Flags: needinfo?(tnikkel)

content_origin_f.y 1417.0156 content_origin.y 1417 diff 0.015625
content_origin_f.y 110.015625 content_origin.y 110 diff 0.015625
content_origin_f.y 719.0156 content_origin.y 719 diff 0.015625

That build is a little bit out of date (10 days). I will update later today and see if I can still reproduce.

Flags: needinfo?(tnikkel)

Not a weird scale:
device_pixel_scale 1 tile.world_tile_rect.origin 1641 1314.0156
content_origin_f.y 1314.0156 content_origin.y 1314 diff 0.015625

And I was able to reproduce on a fresh build.

You need to log in before you can comment on or make changes to this bug.