Google Earth 10.46.0.0 broken in all recent Firefox versions, white flashes of screen/page
Categories
(Web Compatibility :: Site Reports, defect, P1)
Tracking
(Webcompat Priority:P2, Webcompat Score:4, firefox-esr115 affected, firefox121 wontfix, firefox122 wontfix, firefox123+ wontfix, firefox124 wontfix, firefox125 wontfix, firefox126 wontfix)
People
(Reporter: aryx, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug, )
Details
(4 keywords)
User Story
platform:windows,mac,linux impact:site-broken configuration:general affects:few branch:release user-impact-score:100
Attachments
(2 files)
Loading Google Earth is unusable at the moment with all Firefox versions (tested 115.6.0esr, 121.0.1, latest 123.0a1) because the page frequently flashes white. Tested on two devices with Windows 10 and in a Linux VM.
This is a regression from the last 24 hours. The page works as expected in the latest Chrome version.
Error messages in the console:
Uncaught : Bad state: PictureRecorder is not recording
h https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:3692
wD https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:60013
JQ https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:58821
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
$2 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67671
E https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5283
avy https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:58869
JQ https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:58805
H_ https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:60064
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
$2 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67671
$1 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67665
bga https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68745
ID https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68748
$0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68149
a8v https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5445
xX https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68076
f0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67659
D https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5287
Io https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:60042
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
$2 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67671
$1 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67665
bga https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68745
ID https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68748
$0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68149
a8v https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5445
xX https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68076
f0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67659
D https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5287
QM https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:60403
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
$2 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67671
$1 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67665
bga https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68745
ID https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68748
$0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68149
a8v https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5445
xX https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68076
$0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68120
dXO https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5477
dYr https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5479
$1 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67614
dRD https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5266
<anonymous> https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:216044
c https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:32
cXD https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5484
a_C https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5584
aCU https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68083
oj https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:68081
f0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67994
$1 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:58453
cMr https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:3647
bop https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:6720
dVi https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:8584
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:8580
a8 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:8593
fE https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:905
dW6 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:548
cgv https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:529
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
$2 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67671
E https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5283
cgv https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:535
b9_ https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:512
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
$2 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67671
E https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5283
b9_ https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:522
0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:60290
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
$2 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67671
E https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5283
$0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:60308
jX https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:60129
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
$2 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67671
E https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5283
jX https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:60133
0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:61457
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
$2 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:67671
E https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5283
$0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:61461
ckW https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:1165
s https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:5297
main.dart.js:3692:19
Uncaught : RuntimeError: index out of bounds
CanvasKitInit https://www.gstatic.com/flutter-canvaskit/9e03a57cde8ae8d1811492653a4ca930986f53e3/canvaskit.js:115
fn https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:59646
pS https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:59471
qQ https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:59356
$0 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:59639
daV https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:1333
be7 https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:59627
main.dart.js:3692:19
Uncaught : RuntimeError: indirect call signature mismatch
CanvasKitInit https://www.gstatic.com/flutter-canvaskit/9e03a57cde8ae8d1811492653a4ca930986f53e3/canvaskit.js:115
concat https://www.gstatic.com/flutter-canvaskit/9e03a57cde8ae8d1811492653a4ca930986f53e3/canvaskit.js:44
aW https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:59662
pS https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:59472
qQ https://earth.google.com/static/single-threaded/versions/10.46.0.0/main.dart.js:59356
main.dart.js:3692:19
Updated•2 years ago
|
Comment 1•2 years ago
|
||
The website indicates that this is a new version of google earth.
| Reporter | ||
Comment 2•2 years ago
|
||
The big Google Earth upgrade launched months ago, must be from a minor update.
Comment 3•2 years ago
|
||
I tried digging into those exceptions to see if there's something I can narrow down, but it's hard, given Google's heavy minification. I sent them a message.
Comment 4•2 years ago
|
||
Comment 5•2 years ago
|
||
As far as I can tell it does not look like a webgl issue. Exceptions are thrown in JS code, causing execution to stop before webgl gets touched.
Comment 6•2 years ago
|
||
Comment 7•2 years ago
|
||
Jim Blandy noted that the second backtrace I posted is happening in a finalizer and it could be relevant (although not the first one).
Comment 8•2 years ago
|
||
In case it is useful to anyone: I captured a log profile while reproducing the issue with some extra logging hacked into it: https://share.firefox.dev/47IOIG6
The extra logging is visible in the "Log messages" row towards the bottom, it contains a few "WASM/JS error <number>" logs which are when some of the exceptions are thrown, as well as all of the webgl functions.
The link is focused on a small range of the profile where multiple requestAnimationFrame callbacks are run. One looks like it is interrupted by the exception, another one isn't and is going into webgl code.
The profile contains a whole lot more information, most of which is probably irrelevant.
Comment 9•2 years ago
|
||
Have contacted the Google Earth team on request from Kelsey Gilbert. To confirm, going back in earlier Firefox continuous builds doesn't get the newly pushed version of Earth to run?
Comment 10•2 years ago
|
||
Note also that the current Earth loads successfully on an M1 MacBook Pro with both Firefox Stable and Nightly.
Comment 11•2 years ago
|
||
Artem Klimov from the Earth team says:
"""
We rolled back to the working version of Earth - 10.43, so the users will not experience the issue.
If Firefox guys need to access the broken version, they can use the direct link:
https://earth.google.com/static/single-threaded/versions/10.46.0.0/index.html
"""
Comment 12•2 years ago
|
||
I can confirm that https://earth.google.com/static/single-threaded/versions/10.46.0.0/index.html is broken on this M1 Mac in Firefox Stable.
Comment 13•2 years ago
|
||
The issue triggers from the Flutter code. We don't yet know the root cause. The code in question is not browser-specific. We're investigating.
| Reporter | ||
Comment 14•2 years ago
|
||
Thank you for rolling this back. There is an investigation of the behavior in Firefox in progress, leaving the bug open for potential patches from that.
Updated•2 years ago
|
Comment 15•2 years ago
•
|
||
(In reply to Yegor Jbanov from comment #13)
The issue triggers from the Flutter code. We don't yet know the root cause. The code in question is not browser-specific. We're investigating.
We have an issue related to our debugger behavior, which makes it useless when debugging an application similar to Google Earth. If it is possible, we would like to identify the root cause and reduce test to fix the debugger. My initial thought that it is related to DOM / MutationObserver that causing a Wasm code to "misbehave", and causing some confusions in the debugger.
Was you able to pinpoint the root cause? Is there a way to bisect the Google Earth or Flutter to find the exact reason?
Updated•2 years ago
|
Comment 16•2 years ago
|
||
We found the root issue. We had a race condition in Flutter. However, for the race to happen you needed a slow enough implementation of createImageBitmap/transferToImageBitmap APIs. This is why it didn't show up in Chromium. However, due to https://bugzilla.mozilla.org/show_bug.cgi?id=1788206, it did trigger in Firefox. We have temporarily reverted to multi-GL context approach. However, the complete solution is to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1788206.
Comment 17•2 years ago
|
||
Someone was kind enough to alert me that my last sentence in https://bugzilla.mozilla.org/show_bug.cgi?id=1875238#c16 may not be fully accurate. Correction:
Fixing https://bugzilla.mozilla.org/show_bug.cgi?id=1788206 is not required to fix the race. We fixed the race in Flutter's own code. https://bugzilla.mozilla.org/show_bug.cgi?id=1788206 is only needed so we can go back to the ImageBitmap-based implementation, which we use for Chromium-based browsers, and which is our preferred solution as it's much less complex. The slowness prevents us from being able to use it.
Comment 18•2 years ago
|
||
Dennis, can we please get a Priority/Severity applied here?
Comment 19•2 years ago
|
||
This is a bit hard to prioritize. From our usual perspective, this "is no longer a WebCompat issue", as there is no observable breakage. Of course, we know that the breakage is only no longer there because Google has work-arounded the issue. Ideally, they wouldn't have to do that, especially since that introduces all kinds of possible weirdness.
After checking with the team, it's a P1/S2 for now. P1 as the site is without a doubt a high-traffic site, S2 because the possibility of breakage is high.
Updated•2 years ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•11 months ago
|
Updated•10 months ago
|
Comment 20•10 months ago
|
||
Dropping the impact here because it's not affecting the production build.
Updated•10 months ago
|
Updated•5 months ago
|
Updated•5 days ago
|
Description
•