Crash in [@ WlCrashHandler]: "wp_viewport@8197: error 0: wl_viewport.set_source sent with invalid values"
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
People
(Reporter: jan, Assigned: rmader)
References
(Blocks 1 open bug)
Details
(Keywords: crash, nightly-community)
Crash Data
Attachments
(1 file)
(ojab from bug 1731450 comment 6)
No idea how to reopen, but this still happens in Firefox-96 (fedora package) and sway-1.6.1:
[346261,839] -> wp_viewport@8197.set_destination(555, 1) [346261,842] -> wp_viewport@8197.set_source(0,000000, 360,000000, 390,000000, 0,000000) [346261,851] -> wl_surface@6180.damage_buffer(0, 0, 390, 360) [346261,856] -> wl_surface@6180.attach(wl_buffer@8134, 0, 0) [346261,860] -> wl_surface@6180.commit() [346261,862] -> wl_subsurface@8073.set_position(817, 157) [346261,866] -> wl_surface@8110.damage_buffer(0, 0, 406, 720) [346261,871] -> wl_surface@8110.attach(wl_buffer@8210, 0, 0) [346261,874] -> wl_surface@8110.commit() [346261,876] -> wl_subsurface@437.set_position(761, 791) [346261,879] -> wp_viewport@635.set_destination(400, 287) [346261,883] -> wp_viewport@635.set_source(0,000000, 0,000000, 640,000000, 459,000000) [346261,890] -> wl_surface@7908.damage_buffer(0, 0, 640, 820) [346261,915] -> wl_surface@7908.attach(wl_buffer@3309, 0, 0) [346261,918] -> wl_surface@7908.commit() [346261,920] -> wl_subsurface@8162.set_position(825, 626) [346261,924] -> wl_surface@8195.commit() [346261,925] -> wl_subsurface@8128.set_position(662, 370) [346261,928] -> wl_surface@242.commit() [346261,930] -> wl_subsurface@7716.set_position(825, 370) [346261,940] -> wl_surface@8127.commit() [346261,943] -> wl_subsurface@8053.set_position(662, 626) [346261,946] -> wl_surface@8186.commit() [346261,948] -> wl_subsurface@7154.set_position(662, 157) [346261,950] -> wl_surface@8137.commit() [346261,952] -> wl_subsurface@7816.set_position(825, 157) [346261,955] -> wl_surface@6322.commit() [346261,957] -> wl_surface@6881.commit() [346261,959] -> wl_surface@6695.commit() [346261,961] -> wl_surface@7802.commit() [346261,963] -> wl_surface@6512.commit() [346261,965] -> wl_surface@6777.commit() [346261,967] -> wl_surface@5508.damage_buffer(740, 256, 24, 256) [346261,972] -> wl_surface@5508.attach(wl_buffer@8200, 0, 0) [346261,977] -> wl_surface@5508.commit() [346261,979] -> wl_surface@7753.commit() [346261,981] -> wl_surface@6672.commit() [346261,983] -> wl_surface@7002.commit() [346261,991] -> wl_surface@291.commit() [346262,114] wl_display@1.error(wp_viewport@8197, 0, "wl_viewport.set_source sent with invalid values") ExceptionHandler::GenerateDump cloned child 131791 ExceptionHandler::SendContinueSignalToChild sent continue signal to child ExceptionHandler::WaitForContinueSignal waiting for continue signal...
(ojab from bug 1731450 comment 7)
corresponding crash dump: https://crash-stats.mozilla.org/report/index/7c129b6e-d578-4f7b-a4c8-cd5400220116
Maybe Fission related. (DOMFissionEnabled=1)
Crash report: https://crash-stats.mozilla.org/report/index/7c129b6e-d578-4f7b-a4c8-cd5400220116
MOZ_CRASH Reason: wp_viewport@8197: error 0: wl_viewport.set_source sent with invalid values
Top 10 frames of crashing thread:
0 libxul.so WlCrashHandler /usr/src/debug/firefox-96.0-1.fc35.x86_64/widget/gtk/nsWaylandDisplay.cpp:336
1 libwayland-client.so.0 wl_log /usr/src/debug/wayland-1.19.0-2.fc35.x86_64/src/wayland-util.c:404
2 libwayland-client.so.0 display_handle_error /usr/src/debug/wayland-1.19.0-2.fc35.x86_64/src/wayland-client.c:911
3 libffi.so.6 ffi_call_unix64
4 libffi.so.6 ffi_call
5 libwayland-client.so.0 wl_closure_invoke.constprop.0 /usr/src/debug/wayland-1.19.0-2.fc35.x86_64/src/connection.c:1018
6 libwayland-client.so.0 dispatch_event.isra.0 /usr/src/debug/wayland-1.19.0-2.fc35.x86_64/src/wayland-client.c:1452
7 libwayland-client.so.0 wl_display_dispatch_queue_pending /usr/src/debug/wayland-1.19.0-2.fc35.x86_64/src/wayland-client.c:1840
8 libgdk-3.so.0 _gdk_wayland_display_queue_events /usr/src/debug/gtk3-3.24.31-2.fc35.x86_64/gdk/wayland/gdkeventsource.c:201
9 libgdk-3.so.0 gdk_display_get_event /usr/src/debug/gtk3-3.24.31-2.fc35.x86_64/gdk/gdkdisplay.c:442
Assignee | ||
Comment 1•2 years ago
|
||
Thanks, looks like the rounding at https://searchfox.org/mozilla-central/source/gfx/layers/NativeLayerWayland.cpp#210 is to aggressive here.
Assignee | ||
Comment 2•2 years ago
|
||
Rounding the values to integers appears to be to aggressive in some
situations. The rounding was introduced to work around floating
point errors under the assumption that we'd always end up with integer
values. However, apparently we sometimes compute values <0.5
, making
us end up with 0
, triggering a protocol errer.
Replace that with an intersection with the actual buffer size. This
will slightly increase wire communication, but should avoid the
crashes.
Pushed by robert.mader@posteo.de: https://hg.mozilla.org/integration/autoland/rev/532ca82c610b Stop rounding buffer clips, r=gfx-reviewers,lsalzman
Comment 4•2 years ago
|
||
bugherder |
Comment 5•2 years ago
|
||
Since the status are different for nightly and release, what's the status for beta?
For more information, please visit auto_nag documentation.
Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Description
•