Firefox crashes on Wayland if there is more than one output
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
People
(Reporter: hugo, Unassigned)
References
(Blocks 1 open bug)
Details
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:106.0) Gecko/20100101 Firefox/106.0
Steps to reproduce:
Reproduction path 1:
- Enable more than one output (e.g.: external monitor and laptop monitor).
- Start Firefox
Reproduction path 2:
- Enable just one monitor
- Start Firefox
- Plug-in or enable a second monitor
Actual results:
Firefox crashes. It seems that the bug occurs when it detects more than one output. I can reproduce this on the last few major Firefox version, with swaywm.
Expected results:
Firefox should not crash.
Reporter | ||
Comment 1•2 years ago
|
||
Here's the crash report:
AdapterDeviceID: 0x5917
AdapterDriverVendor: mesa/iris
AdapterDriverVersion: 22.2.3.0
AdapterVendorID: 0x8086
Add-ons: addon%40darkreader.org:4.9.57,formautofill%40mozilla.org:1.0.1,pictureinpicture%40mozilla.org:1.0.0,screenshots%40mozilla.org:39.0.1,webcompat%40mozilla.org:106.0.0,default-theme%40mozilla.org:1.3,google%40search.mozilla.org:1.2,wikipedia%40search.mozilla.org:1.1,bing%40search.mozilla.org:1.3,ddg%40search.mozilla.org:1.1,ebay%40search.mozilla.org:1.3,amazon%40search.mozilla.org:1.9,addons-search-detection%40mozilla.com:2.0.0,langpack-en-GB%40firefox.mozilla.org:106.0.5buildid20221104.133228
AvailablePageFile: 38424907776
AvailablePhysicalMemory: 12968046592
AvailableSwapMemory: 34343288832
AvailableVirtualMemory: 14053720064
BackgroundTaskMode: 0
BuildID: 20221104231639
ContentSandboxCapabilities: 119
ContentSandboxCapable: 1
ContentSandboxLevel: 4
CrashTime: 1668160322
DOMFissionEnabled: 1
DOMIPCEnabled: 1
DesktopEnvironment: sway
EMCheckCompatibility: true
EventLoopNestingLevel: 1
ExperimentalFeatures: devtools.inspector.compatibility.enabled
GraphicsCriticalError: |[0][GFX1-]: glxtest: VA-API test failed: failed to initialise VAAPI connection. (t=3.01665)
GraphicsNumActiveRenderers: 1
GraphicsNumRenderers: 1
HeadlessMode: 0
InstallTime: 1667818262
IsWayland: 1
MozCrashReason: wl_surface@49: error 2: Buffer size (6450x2529) is not divisible by scale (2)
Notes: FP(D00-L1000-W00000000-T000) WR? WR+ EGL? EGL- GL Context? GL Context+
ProductID: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
ProductName: Firefox
ReleaseChannel: release
SafeMode: 0
SecondsSinceLastCrash: 34
StartupCrash: 0
StartupTime: 1668160320
SubmittedFrom: Client
TelemetryEnvironment: {"build":{"applicationId":"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}","applicationName":"Firefox","architecture":"x86-64","buildId":"20221104231639","version":"106.0.5","vendor":"Mozilla","displayVersion":"106.0.5","platformVersion":"106.0.5","xpcomAbi":"x86_64-gcc3","updaterAvailable":false},"partner":{"distributionId":"archlinux","distributionVersion":"1.0","partnerId":null,"distributor":"archlinux","distributorChannel":"firefox","partnerNames":["archlinux"]},"system":{"memoryMB":15698,"virtualMaxMB":null,"cpu":{"extensions":["hasMMX","hasSSE","hasSSE2","hasSSE3","hasSSSE3","hasSSE4_1","hasSSE4_2","hasAVX","hasAVX2","hasAES"]},"os":{"name":"Linux","version":"6.0.8-arch1-1","locale":"en-GB"},"hdd":{"profile":{"model":null,"revision":null,"type":null},"binary":{"model":null,"revision":null,"type":null},"system":{"model":null,"revision":null,"type":null}},"gfx":{"D2DEnabled":null,"DWriteEnabled":null,"ContentBackend":"Skia","Headless":false,"EmbeddedInFirefoxReality":null,"adapters":[{"description":"Mesa Intel(R) UHD Graphics 620 (KBL GT2)","vendorID":"0x8086","deviceID":"0x5917","subsysID":null,"RAM":0,"driver":null,"driverVendor":"mesa/iris","driverVersion":"22.2.3.0","driverDate":null,"GPUActive":true}],"monitors":[{"screenWidth":3840,"screenHeight":2160},{"screenWidth":4300,"screenHeight":1800}],"features":{"compositor":"webrender","hwCompositing":{"status":"available"},"gpuProcess":{"status":"unused"},"wrQualified":{"status":"available"},"webrender":{"status":"available"},"wrCompositor":{"status":"blocked:FEATURE_FAILURE_DISABLE_RELEASE_OR_BETA"},"wrSoftware":{"status":"available"},"openglCompositing":{"status":"available"},"omtp":{"status":"unused"}}},"appleModelId":null,"hasWinPackageId":null},"settings":{"blocklistEnabled":true,"e10sEnabled":true,"e10sMultiProcesses":8,"fissionEnabled":true,"telemetryEnabled":false,"locale":"en-GB","intl":{"requestedLocales":["en-GB"],"availableLocales":["en-US","en-GB"],"appLocales":["en-GB","en-US"],"systemLocales":["en-GB"],"regionalPrefsLocales":["en-DK"],"acceptLanguages":["en-GB","en"]},"update":{"channel":"release","enabled":true,"autoDownload":false,"background":false},"userPrefs":{"browser.fixup.alternate.enabled":false,"browser.search.region":"NL","browser.search.widget.inNavBar":false,"browser.startup.homepage":"<user-set>","browser.urlbar.autoFill":true,"browser.urlbar.autoFill.adaptiveHistory.enabled":false,"browser.urlbar.dnsResolveSingleWordsAfterSearch":0,"browser.urlbar.quicksuggest.dataCollection.enabled":false,"browser.urlbar.suggest.quicksuggest.nonsponsored":false,"browser.urlbar.suggest.quicksuggest.sponsored":false,"browser.urlbar.suggest.bestmatch":true,"media.gmp-gmpopenh264.lastInstallStart":1662645972,"media.gmp-gmpopenh264.lastDownload":1662645977,"media.gmp-gmpopenh264.lastUpdate":1662645977,"media.gmp-manager.lastCheck":1662645972,"network.trr.strict_native_fallback":false,"widget.content.allow-gtk-dark-theme":false,"widget.content.gtk-high-contrast.enabled":true},"sandbox":{"effectiveContentProcessLevel":4,"contentWin32kLockdownState":3},"addonCompatibilityCheckEnabled":true,"isDefaultBrowser":false},"profile":{"creationDate":18923,"firstUseDate":18923},"addons":{"activeAddons":{"addon@darkreader.org":{"version":"4.9.57","scope":1,"type":"extension","updateDay":19243,"isSystem":false,"isWebExtension":true,"multiprocessCompatible":true,"blocklisted":false,"description":"Dark mode for every website. Take care of your eyes, use dark theme for night and daily browsing.","name":"Dark Reader","userDisabled":false,"appDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"installDay":18991,"signedState":2},"formautofill@mozilla.org":{"version":"1.0.1","scope":1,"type":"extension","updateDay":19300,"isSystem":true,"isWebExtension":true,"multiprocessCompatible":true,"blocklisted":false,"description":null,"name":"Form Autofill","userDisabled":false,"appDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"installDay":18904},"pictureinpicture@mozilla.org":{"version":"1.0.0","scope":1,"type":"extension","updateDay":19300,"isSystem":true,"isWebExtension":true,"multiprocessCompatible":true,"blocklisted":false,"description":"Fixes for web compatibility with Picture-in-Picture","name":"Picture-In-Picture","userDisabled":false,"appDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"installDay":18904},"screenshots@mozilla.org":{"version":"39.0.1","scope":1,"type":"extension","updateDay":19300,"isSystem":true,"isWebExtension":true,"multiprocessCompatible":true,"blocklisted":false,"description":"Take clips and screenshots from the Web and save them temporarily or permanently.","name":"Firefox Screenshots","userDisabled":false,"appDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"installDay":18904},"webcompat@mozilla.org":{"version":"106.0.0","scope":1,"type":"extension","updateDay":19300,"isSystem":true,"isWebExtension":true,"multiprocessCompatible":true,"blocklisted":false,"description":"Urgent post-release fixes for web compatibility.","name":"Web Compatibility Interventions","userDisabled":false,"appDisabled":false,"foreignInstall":false,"hasBinaryComponents":false,"installDay":18904},"langpack-en-GB@firefox.mozilla.org":{"version":"106.0.5buildid20221104.133228","scope":4,"type":"locale","updateDay":19300,"isSystem":false,"isWebExtension":true,"multiprocessCompatible":true,"blocklisted":false,"description":"Language pack for Firefox for en-GB","name":"English (GB) Language Pack","userDisabled":false,"appDisabled":false,"foreignInstall":true,"hasBinaryComponents":false,"installDay":18904}},"theme":{"id":"default-theme@mozilla.org","blocklisted":false,"description":"Follow the operating system setting for buttons, menus, and windows.","name":"System theme — auto","userDisabled":false,"appDisabled":false,"version":"1.3","scope":4,"foreignInstall":false,"hasBinaryComponents":false,"installDay":18923,"updateDay":18923},"activeGMPlugins":{"gmp-gmpopenh264":{"version":"1.8.1.2","userDisabled":false,"applyBackgroundUpdates":1}}},"experiments":{"task-continuity-sync-after-tab-change-rollout-40":{"branch":"sync-after-tab","type":"nimbus-nimbus","enrollmentId":"c90b04a2-43df-45ff-8957-3852e217f8ef"},"tcp-rollout-phase-iii-tcp-on-by-default-for-50-existing-release-profiles":{"branch":"control","type":"nimbus-nimbus","enrollmentId":"332d55f3-05a9-4f66-aaec-a2fecb083998"},"106-major-release-firefox-existing-user-experience":{"branch":"treatment-a","type":"nimbus-nimbus","enrollmentId":"c19d9211-9f82-4856-8670-2218d4cec740"}}}
Throttleable: 1
TotalPageFile: 50803613696
TotalPhysicalMemory: 16460324864
UptimeTS: 4.11094838
Vendor: Mozilla
Version: 106.0.5
useragent_locale: en-GB
This report also contains technical information about the state of the application when it crashed.
Reporter | ||
Comment 2•2 years ago
|
||
It's also reproducible on a clean profile.
I see the crash reason is wl_surface@49: error 2: Buffer size (6450x2529) is not divisible by scale (2)
This means that Firefox is setting the scale for a surface to 2 (e.g.: it says this is scaled up 2x), but the surface is not divisible by 2. This pretty much sounds like a bug in Firefox; the data it is sending to the compositor is inconsistent.
I've no idea why it only triggers with two outputs. It also doesn't matter on which output I run Firefox.
It should be noted that my outputs have different scale; one is 2x and the other is 3x. Note that the values above are divisible by 3. Maybe Firefox is only considering the scale for the larger monitor, but then marking surfaces as scale for the other? I admit that I'm guessing at this point
Comment 3•2 years ago
|
||
If you could use mozregression
to find if this is a regression it'd be great (no worries if not tho). Something like:
$ pip3 install --user mozregression
$ MOZ_ENABLE_WAYLAND=1 mozregression --good 98
(Hoping 98 doesn't crash, if it's older than that you could tweak the number but...)
Updated•2 years ago
|
Updated•2 years ago
|
Comment 4•2 years ago
|
||
It's not a regression in Firefox, but a change in Sway sometime after 1.7 where it doesn't allow surfaces that aren't divisible by scale anymore.
Comment 5•2 years ago
|
||
Pretty sure this is a duplicate of https://bugzilla.mozilla.org/show_bug.cgi?id=1795851
Reporter | ||
Comment 6•2 years ago
|
||
Indeed, this is a duplicate of 1795851.
Description
•