Closed Bug 1751608 Opened 4 years ago Closed 2 years ago

firefox playing a video opening in PIP mode that has no video will have weird behavior (because its height can be unreasonably large)

Categories

(Toolkit :: Picture-in-Picture, defect, P3)

Firefox 96
x86_64
Linux
defect

Tracking

()

RESOLVED DUPLICATE of bug 1695591

People

(Reporter: emailsaddres, Unassigned)

References

()

Details

(Keywords: crash)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0

Steps to reproduce:

use a wayland Desktop firefox (mine is kde)
open https://invidious.snopyta.org/watch?v=mgTlFaHTFrI&listen=1
play it.
it will play a sound version of video.
click on PIP button to make a new window for video.

Actual results:

firefox crashes.

Expected results:

firefox shouldn't crash.

this happens with both xwayland and with all-wayland ( MOZ_ENABLE_WAYLAND=1 firefox )
it doesn't happen with firefox running on x11

Summary: wayland firefox playing a video PIP that has no video crashes → wayland firefox playing a video opening in PIP mode that has no video will crash
Severity: -- → S3
Has STR: --- → yes
Component: Untriaged → Widget: Gtk
Keywords: crash
OS: Unspecified → Linux
Product: Firefox → Core
Hardware: Unspecified → x86_64

It crashes with "Attempting to create a 344x16488 window/document" error:

#9 0x00007fee52888b37 in MOZ_Crash(char const*, int, char const*)
(aFilename=0x7fee0eafce32 "gfx/wr/webrender/src/render_api.rs", aLine=1375, aReason=0x7fee0eafcc2a "Attempting to create a 344x16488 window/document")
at /raid/src/objdir/dist/include/mozilla/Assertions.h:261
#10 RustMozCrash(char const*, int, char const*)
(aFilename=0x7fee0eafce32 "gfx/wr/webrender/src/render_api.rs", aLine=1375, aReason=0x7fee0eafcc2a "Attempting to create a 344x16488 window/document") at wrappers.cpp:18
#11 0x00007fee5288850f in mozglue_static::panic_hook (info=0x7fee0eafd0b8) at mozglue/static/rust/lib.rs:91
#12 0x00007fee52886389 in core::ops::function::Fn::call<fn(&core::panic::panic_info::PanicInfo), (&core::panic::panic_info::PanicInfo)> ()
at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/ops/function.rs:70
#13 0x00007fee5463dec9 in std::panicking::rust_panic_with_hook () at library/std/src/panicking.rs:628
#14 0x00007fee5463d980 in std::panicking::begin_panic_handler::{closure#0} () at library/std/src/panicking.rs:521
#15 0x00007fee5463a694 in std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::{closure#0}, !> () at library/std/src/sys_common/backtrace.rs:139
#16 0x00007fee5463d8e9 in std::panicking::begin_panic_handler () at library/std/src/panicking.rs:517
#17 0x00007fee44c90c7b in std::panicking::begin_panic_fmt () at library/std/src/panicking.rs:460
#18 0x00007fee51bbc7f5 in webrender::render_api::window_size_sanity_check (size=...) at gfx/wr/webrender/src/render_api.rs:1375
#19 0x00007fee51bb894a in webrender::render_api::Transaction::set_document_view (self=0x7fede3096b80, device_rect=...) at gfx/wr/webrender/src/render_api.rs:320
#20 0x00007fee51363908 in webrender_bindings::bindings::wr_transaction_set_document_view (txn=0x7fede3096b80, doc_rect=0x7fee0eafd400) at gfx/webrender_bindings/src/bindings.rs:1911
#21 0x00007fee4724b5e9 in mozilla::wr::TransactionBuilder::SetDocumentView(mozilla::gfx::IntRectTyped<mozilla::LayoutDevicePixel> const&) (this=0x7fee0eafd6d8, aDocumentRect=...)
at /raid/src/gfx/webrender_bindings/WebRenderAPI.cpp:307

This is for PIP window - when opened on X11 it opens big PIP window which can't be moved. Not sure what component PIP is.

Wayland crashes due this check:
(firefox:53040): Gdk-CRITICAL **: 10:21:05.627: gdk_wayland_window_configure: assertion 'width > 0' failed

but it's also broken on X11.

Component: Widget: Gtk → General
Product: Core → Firefox
Summary: wayland firefox playing a video opening in PIP mode that has no video will crash → firefox playing a video opening in PIP mode that has no video will crash
Component: General → Picture-in-Picture
Product: Firefox → Toolkit

Marking as New based on comment 2.

Status: UNCONFIRMED → NEW
Ever confirmed: true

(In reply to Martin Stránský [:stransky] (ni? me) from comment #1)

It crashes with "Attempting to create a 344x16488 window/document" error:

IIUC there are two bugs

  • 0: This is too small for Wayland (gdk_wayland_window_configure: assertion 'width > 0' failed)
  • 16488: Wayland+X11: This is too large for WebRender: bug 1695591
Depends on: 1695591
Blocks: 1695591
No longer depends on: 1695591

(Nicolas Silva [:nical] from bug 1695591 comment #5)

For all intents and purposes it is safe to assume that a window width or height of 32722 today is a bug somewhere even if the protocol can express it.

Wayland: This sounds like the PiP window must enforce a maximum height itself. The bookmark panel must do it as well (bug 1746812).

Wayland: bp-eb36ddf6-4a8b-4013-884d-4241e0220127

Attempting to create a 344x16488 window/document

Xwayland: Did not seem to crash: The PiP window opens either as small square or it has an extreme height.

Summary: firefox playing a video opening in PIP mode that has no video will crash → firefox playing a video opening in PIP mode that has no video will crash (because its height can be unreasonably large)

Can you still repro ? Following your STRs on a Nightly build using Wayland (not under snap), I have a weird PiP window but no crash

Flags: needinfo?(emailsaddres)

(In reply to Darkspirit from comment #6)

Wayland: bp-eb36ddf6-4a8b-4013-884d-4241e0220127

Attempting to create a 344x16488 window/document

Xwayland: Did not seem to crash: The PiP window opens either as small square or it has an extreme height.

I get the same behavior now with pure wayland setup in release firefox 102.0.1 (64-bit)
do you guys test with nightly only ? what change in release that "fixed" this?
maybe it is desktop environment related? as in wayland window management related and now wayland works better with no change to firefox?

Flags: needinfo?(emailsaddres)

(In reply to emailsaddres from comment #8)

(In reply to Darkspirit from comment #6)

Wayland: bp-eb36ddf6-4a8b-4013-884d-4241e0220127

Attempting to create a 344x16488 window/document

Xwayland: Did not seem to crash: The PiP window opens either as small square or it has an extreme height.

I get the same behavior now with pure wayland setup in release firefox 102.0.1 (64-bit)
do you guys test with nightly only ? what change in release that "fixed" this?
maybe it is desktop environment related? as in wayland window management related and now wayland works better with no change to firefox?

"same behavior" do you mean it is not crashing ?

Blocks: snap-wayland
Flags: needinfo?(emailsaddres)
Summary: firefox playing a video opening in PIP mode that has no video will crash (because its height can be unreasonably large) → firefox playing a video opening in PIP mode that has no video will have weird behavior (because its height can be unreasonably large)

(In reply to Alexandre LISSY :gerard-majax from comment #9)

(In reply to emailsaddres from comment #8)

(In reply to Darkspirit from comment #6)

Wayland: bp-eb36ddf6-4a8b-4013-884d-4241e0220127

Attempting to create a 344x16488 window/document

Xwayland: Did not seem to crash: The PiP window opens either as small square or it has an extreme height.

I get the same behavior now with pure wayland setup in release firefox 102.0.1 (64-bit)
do you guys test with nightly only ? what change in release that "fixed" this?
maybe it is desktop environment related? as in wayland window management related and now wayland works better with no change to firefox?

"same behavior" do you mean it is not crashing ?

yes.
sorry if I was vague.
it doesn't crash.
but the pip window either a small square (maybe 100x100 pixel? a guess) or a long vertical rectangle. and it takes this two form one after the other after I close the pip window and reopen it.

Flags: needinfo?(emailsaddres)

Thanks, so it means we have the same issue even outside of Snap, and no more crash at least.

This bug was not restricted to snap.
The crash has been fixed.
Same behavior on legacy X11 and Wayland now.

No longer blocks: snap-wayland, 1695591
Status: NEW → RESOLVED
Closed: 2 years ago
Duplicate of bug: 1695591
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.