Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Meta] No web contents when adding new windows in v72 #1638

Open
svillar opened this issue Nov 19, 2024 · 1 comment · May be fixed by #1641
Open

[Meta] No web contents when adding new windows in v72 #1638

svillar opened this issue Nov 19, 2024 · 1 comment · May be fixed by #1641
Assignees

Comments

@svillar
Copy link
Member

svillar commented Nov 19, 2024

Steps to reproduce

  1. Click on "+" to add a new window

Observed behaviour:

  • the new window does not have web contents
  • it is not possible to interact with the previous window
  • things go back to life when closing the newly added window

This started happening in Beta version of MetaOS v72.

@svillar svillar self-assigned this Nov 19, 2024
@svillar
Copy link
Member Author

svillar commented Nov 19, 2024

I think I found the reason, it's this unhandled exception

 System.err            W  java.lang.IllegalStateException: Compositor must be ready before pixels can be captured
                       W  	at org.mozilla.geckoview.GeckoDisplay$ScreenshotBuilder.capture(GeckoDisplay.java:463)
                       W  	at com.igalia.wolvic.browser.api.impl.DisplayImpl.capturePixelsWithAspectPreservingSize(DisplayImpl.java:49)
                       W  	at com.igalia.wolvic.browser.engine.Session.captureBitmap(Session.java:639)
                       W  	at com.igalia.wolvic.ui.widgets.WindowWidget.captureImage(WindowWidget.java:1953)
                       W  	at com.igalia.wolvic.ui.widgets.WindowWidget.onPageStop(WindowWidget.java:1938)
                       W  	at com.igalia.wolvic.browser.engine.Session.onPageStop(Session.java:1275)
                       W  	at com.igalia.wolvic.browser.api.impl.ProgressDelegateImpl.onPageStop(ProgressDelegateImpl.java:26)
                       W  	at org.mozilla.geckoview.GeckoSession$8.handleMessage(GeckoSession.java:1006)
                       W  	at org.mozilla.geckoview.GeckoSession$8.handleMessage(GeckoSession.java:992)
                       W  	at org.mozilla.geckoview.GeckoSessionHandler.handleMessage(GeckoSessionHandler.java:88)
                       W  	at org.mozilla.gecko.EventDispatcher$3.run(EventDispatcher.java:426)
                       W  	at android.os.Handler.handleCallback(Handler.java:938)
                       W  	at android.os.Handler.dispatchMessage(Handler.java:99)
                       W  	at android.os.Looper.loopOnce(Looper.java:214)
                       W  	at android.os.Looper.loop(Looper.java:304)
                       W  	at android.app.ActivityThread.main(ActivityThread.java:7918)
                       W  	at java.lang.reflect.Method.invoke(Native Method)
                       W  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
                       W  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1010)

I don't have a good answer for "why is this affecting only v72+?" question though

svillar added a commit that referenced this issue Nov 20, 2024
This reverts commit aae8014.

This workaround was added after the update to Gecko 121. The issues
with first contentful paint are not here anymore so we can remove
it and avoid synthesizing FCP events at the wrong time which were
causing issues when taking screenshots of the web contents.

When those generated FCPs were issued, the Gecko compositor was
not in a ready state to generate a screenshot and thus an exception
was generated. Gecko was not handling it properly so it was
affecting subsequent JNI calls causing crashes and hangs in Gecko.

Fixes #1638
@svillar svillar linked a pull request Nov 20, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant