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

[GTK] gsk_renderer_render_texture: assertion 'GSK_IS_RENDER_NODE (root)' failed in webkitWebViewBaseTakeViewSnapshot #7037

Conversation

mcatanzaro
Copy link
Contributor

@mcatanzaro mcatanzaro commented Dec 1, 2022

fd0db7c

[GTK] gsk_renderer_render_texture: assertion 'GSK_IS_RENDER_NODE (root)' failed in webkitWebViewBaseTakeViewSnapshot
https://bugs.webkit.org/show_bug.cgi?id=247463

Reviewed by Carlos Garcia Campos.

I don't know how to reproduce this crash, but it happens a lot and the
solution is clear enough. When the snapshot is empty, then the
GskRenderNode is nullptr, and we should immediately return nullptr
instead of trying to use it as a valid GskRenderNode. The return value
here is already nullable, so there's nothing more to worry about.

I'm not certain why this happens, but I think it might be associated
with web process hangs. Doesn't matter: the UI process should be robust
regardless.

Thanks to Benjamin Otte for helping with my questions regarding this
issue.

* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseTakeViewSnapshot):

Canonical link: https://commits.webkit.org/257276@main

84ba723

Misc iOS, tvOS & watchOS macOS Linux Windows
βœ… πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe
βœ… πŸ›  ios-sim βœ… πŸ›  mac-debug βœ… πŸ›  gtk βœ… πŸ›  wincairo
βœ… πŸ§ͺ webkitperl βœ… πŸ§ͺ ios-wk2 βœ… πŸ›  mac-AS-debug βœ… πŸ§ͺ gtk-wk2
βœ… πŸ§ͺ api-ios βœ… πŸ§ͺ api-mac   πŸ§ͺ api-gtk
βœ… πŸ›  tv   πŸ§ͺ mac-wk1
βœ… πŸ›  tv-sim   πŸ§ͺ mac-wk2
βœ… πŸ›  watch   πŸ§ͺ mac-AS-debug-wk2
βœ… πŸ›  πŸ§ͺ unsafe-merge βœ… πŸ›  watch-sim βœ… πŸ§ͺ mac-wk2-stress

@mcatanzaro mcatanzaro requested a review from a team as a code owner December 1, 2022 19:26
@mcatanzaro mcatanzaro self-assigned this Dec 1, 2022
@mcatanzaro mcatanzaro added the WebKitGTK Bugs related to the Gtk API layer. label Dec 1, 2022
@mcatanzaro
Copy link
Contributor Author

Oh, this actually often happens immediately when starting Epiphany. Not always, but often.

It can also happen randomly during normal browsing.

@carlosgcampos carlosgcampos added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Dec 2, 2022
…t)' failed in webkitWebViewBaseTakeViewSnapshot

https://bugs.webkit.org/show_bug.cgi?id=247463

Reviewed by Carlos Garcia Campos.

I don't know how to reproduce this crash, but it happens a lot and the
solution is clear enough. When the snapshot is empty, then the
GskRenderNode is nullptr, and we should immediately return nullptr
instead of trying to use it as a valid GskRenderNode. The return value
here is already nullable, so there's nothing more to worry about.

I'm not certain why this happens, but I think it might be associated
with web process hangs. Doesn't matter: the UI process should be robust
regardless.

Thanks to Benjamin Otte for helping with my questions regarding this
issue.

* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseTakeViewSnapshot):

Canonical link: https://commits.webkit.org/257276@main
@webkit-early-warning-system webkit-early-warning-system force-pushed the eng/GTK-gsk_renderer_render_texture-assertion-GSK_IS_RENDER_NODE-root-failed-in-webkitWebViewBaseTakeViewSnapshot branch from 84ba723 to fd0db7c Compare December 2, 2022 08:17
@webkit-commit-queue
Copy link
Collaborator

Committed 257276@main (fd0db7c): https://commits.webkit.org/257276@main

Reviewed commits have been landed. Closing PR #7037 and removing active labels.

@webkit-early-warning-system webkit-early-warning-system merged commit fd0db7c into WebKit:main Dec 2, 2022
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Dec 2, 2022
@mcatanzaro mcatanzaro deleted the eng/GTK-gsk_renderer_render_texture-assertion-GSK_IS_RENDER_NODE-root-failed-in-webkitWebViewBaseTakeViewSnapshot branch December 22, 2022 23:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WebKitGTK Bugs related to the Gtk API layer.
Projects
None yet
4 participants